US20140136295A1 - Dynamic recommendations taken over time for reservations of information technology resources - Google Patents

Dynamic recommendations taken over time for reservations of information technology resources Download PDF

Info

Publication number
US20140136295A1
US20140136295A1 US13/675,837 US201213675837A US2014136295A1 US 20140136295 A1 US20140136295 A1 US 20140136295A1 US 201213675837 A US201213675837 A US 201213675837A US 2014136295 A1 US2014136295 A1 US 2014136295A1
Authority
US
United States
Prior art keywords
resources
resource
over time
recommendation
usage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/675,837
Inventor
Michael Morris Wasser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
Apptio Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apptio Inc filed Critical Apptio Inc
Priority to US13/675,837 priority Critical patent/US20140136295A1/en
Assigned to APPTIO, INC. reassignment APPTIO, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WASSER, MICHAEL MORRIS
Priority to US13/917,503 priority patent/US10937036B2/en
Publication of US20140136295A1 publication Critical patent/US20140136295A1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: APPTIO, INC.
Assigned to APPTIO, INC. reassignment APPTIO, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: SILICON VALLEY BANK
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: APPTIO, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Definitions

  • the present invention relates generally to computer automated activity based budgeting and forecasting, and more particularly, but not exclusively to providing an interactive mechanism for managing reservations of Information Technology (IT) resources, such as cloud based IT resources.
  • IT Information Technology
  • Cloud-based computing may be defined as the use of computing resources (hardware and software) that are delivered as a service over a network, such as the Internet. Cloud-based computing is often argued to provide numerous benefits to a business, including rapid scalability, availability, and cost savings. Some providers of cloud-based computing services allow users to buy access to their resources from the cloud on a pay-per-use basis; other providers further provide an ability of a user to pay to reserve resources for an extended period of time. Other providers provide still different plans for use of their services that might include variable rate plans, reservations based on differing costing models over different time periods.
  • cloud-based services may provide cost savings, it remains up to the user purchasing the services to determine when and how to make use of the services, so that cost benefits may be obtained.
  • IT managers, and/or other users of cloud-based services are often required to predict with little assistance as to when to purchase a cloud-based service, or even how much to purchase.
  • This lack of adequate tools for the IT manager even extends to a lack of tools usable to assess when to purchase IT resources for in-house versus when to use cloud-based services.
  • FIG. 1 is a system diagram showing components of an environment in which at least one of the various embodiments may be practiced;
  • FIG. 2 shows one embodiment of a client device that may be included in a system in accordance with the embodiments
  • FIG. 3 shows one embodiment of a network device that may be included in a system implementing at least one of the various embodiments
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process usable to manage and display recommendations for reserving IT resources, such as cloud IT resources;
  • FIGS. 5-6 illustrate non-limiting, non-exhaustive examples of interfaces for managing and displaying IT resource reservations
  • FIG. 7 illustrates one non-limiting, non-exhaustive example of data analysis useable to calculate reserved resources for a single resource type.
  • the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise.
  • the term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise.
  • the meaning of “a,” “an,” and “the” include plural references.
  • the meaning of “in” includes “in” and “on.”
  • the term “instance” refers to a configuration of a computing resource, including hardware and software. In one embodiment, an instance is further defined based on a geographic location in which the computing device physically resides. Thus, for example, an instance might be defined based on its hardware, the software made available for use, and where the computing device resides. In some embodiments, an instance is further definable based on a network connection to the hardware device. Moreover, the term “resource” may be used interchangeably with the term “instance,” where a resource is a definable configuration of a computing device, including its hardware, software, and physical location.
  • the resource may be leased, or otherwise purchased, for various time periods.
  • the resource may be purchased for use at once, and purchased based on a pay per use plan.
  • a resource might be leased by reserving use of the resource for some time period, such as six months, one year, two years, three years, or the like.
  • resources may be purchased based on a combination of fixed fees, and variable fees. The fixed fees may be based on the lease/purchase time, while the variable fees may be based on actual usage of the resource. For example, a user might purchase for three years, and use the resource on an average over the three years at 60% of the time. Thus, an effective fee rate may be determined that varies over some time period based on a combination of the fixed fees and the variable usage rate fees.
  • the subject innovations are directed towards providing dynamic recommendations for reserving information technology resources over time that may be visually displayed over that time frame.
  • the recommendations may be determined based on an analysis of actual usage data obtained over a prior time period that is then used to predict future resource demands.
  • the subject innovations enable a user to perform various ‘what-if’ analysis to determine optimum purchase times, and configurations.
  • the user is further provided information about currently purchased resource under-utilizations to enable the user to redistribute work, release resources, or take other actions directed towards improving management of their IT budget.
  • subject innovations may be directed towards managing IT resources obtained through one or more cloud computing service providers, some embodiments further allow the user to perform make/buy decisions such as when to use in-house resources versus using cloud-based resources, or to use on-demand resources versus using reserved resources.
  • the recommendation analysis may assume that a future usage of resources will be substantially the same as a previous time period usage. Substantially the same might be based on using some statistical parameter describing the historical usage, including a mean, mode, median value, or the like.
  • some statistical parameter describing the historical usage including a mean, mode, median value, or the like.
  • other more complex algorithms may be employed, including usage of a machine learning model, linear prediction models, non-linear prediction models, a covariance estimation approach, a time-varying estimation model, or any of a variety of other models.
  • a model that accounts for trends or varying use of resources might be employed.
  • the analysis may be configured to account for various service level agreement cost implications, as well as various purchase/lease options provided by a given resource provider.
  • any parameter that might affect a cost of the resource to the user may be used to provide to the user a visual cost recommendation over time.
  • a user might select a particular time period, such as a current date, and be provided with a table reflecting a recommended purchase list based on an optimum costing forecast model.
  • a table might be displayed indicating resources that have been reserved, but are currently going unused.
  • a recommendation of how to reallocate the unused resources may be provided.
  • FIG. 1 shows components of one embodiment of an environment in which at least one of the various embodiments may be practiced. Not all the components may be required to practice various embodiments, and variations in the arrangement and type of the components may be made.
  • system 100 of FIG. 1 includes local area networks (“LANs”)/wide area networks (“WANs”)—(network) 111 , wireless network 110 , client devices 101 - 104 , Budgeting and Finance System (BFS) 107 , and cloud services 120 and 130 .
  • LANs local area networks
  • WANs wide area networks
  • BFS Budgeting and Finance System
  • cloud services 120 and 130 Within cloud service 120 are illustrated instances (or resources) 121 - 124 ; while within cloud service 130 are illustrated instances (or resources) 121 - 133 .
  • client devices 102 - 104 may include virtually any portable computing device capable of receiving and sending a message over a network, such as network 111 , wireless network 110 , or the like.
  • Client devices 102 - 104 may also be described generally as client devices that are configured to be portable.
  • client devices 102 - 104 may include virtually any portable computing device capable of connecting to another computing device and receiving information.
  • portable devices include portable devices such as, cellular telephones, smart phones, display pagers, radio frequency (RF) devices, infrared (IR) devices, Personal Digital Assistants (PDA's), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, or the like.
  • RF radio frequency
  • IR infrared
  • PDA's Personal Digital Assistants
  • client devices 102 - 104 typically range widely in terms of capabilities and features.
  • a cell phone may have a numeric keypad and a few lines of monochrome Liquid Crystal Display (LCD) on which only text may be displayed.
  • LCD monochrome Liquid Crystal Display
  • a web-enabled mobile device may have a touch sensitive screen, a stylus, and several lines of color LCD in which both text and graphics may be displayed.
  • Client device 101 may include virtually any computing device capable of communicating over a network to send and receive information, including messaging, performing various online actions, or the like.
  • the set of such devices may include devices that typically connect using a wired or wireless communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network Personal Computers (PCs), or the like.
  • client devices 102 - 104 may operate over wired and/or wireless network.
  • client devices 102 - 104 may access various computing applications, including a browser, or other web-based application.
  • client devices 101 - 104 may be configured to operate within a business or other entity to perform a variety of services for the business or other entity.
  • client devices 101 - 104 may be configured to operate as a web server, an accounting server, a production server, an inventory server, or the like.
  • client devices 101 - 104 are not constrained to these services and may also be employed, for example, as an end-user computing node, in other embodiments. Further, it should be recognized that more or less client devices may be included within a system such as described herein, and embodiments are therefore not constrained by the number or type of client devices employed.
  • one or more of client devices 101 - 104 may be considered as in-house resources, or more generally on-demand resource.
  • on-demand resource refers to resources in which a user may pay for compute capacity by the hour, or some other time period, with no long-term commitments.
  • reserved resource refers to resources in which the user is provided the option to make an initial payment for each resource to be reserved for use in some future time period.
  • one or more of client devices 101 - 104 may be configured to access various services from one or more of the resources within various cloud-based services, such as cloud services 120 and/or 130 .
  • a web-enabled client device may include a browser application that is configured to receive and to send web pages, web-based messages, or the like.
  • the browser application may be configured to receive and display graphics, text, multimedia, or the like, employing virtually any web-based language, including a wireless application protocol messages (WAP), or the like.
  • WAP wireless application protocol
  • the browser application is enabled to employ any of a variety of scripting languages, including for example, JavaScript, as well as any of a variety of markup languages, including for example Standard Generalized Markup Language (SGML), HyperText Markup Language (HTML), eXtensible Markup Language (XML), HTML5, or the like, to display and send a message.
  • SGML Standard Generalized Markup Language
  • HTML HyperText Markup Language
  • XML eXtensible Markup Language
  • HTML5 HyperText Markup Language
  • Client devices 101 - 104 also may include at least one other client application that is configured to receive and/or send data, including resource recommendation information, between another computing device.
  • the client application may include a capability to provide requests and/or receive data relating to resource recommendations.
  • BFS 107 may be configured to provide to the client devices 101 - 104 visual representations of resource recommendations usable to enable a user to make IT decisions for allocating budget to IT resources and for reserving use of one or more resources, such as cloud-based resources.
  • Wireless network 110 is configured to couple client devices 102 - 104 and its components with network 111 .
  • Wireless network 110 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, or the like, to provide an infrastructure-oriented connection for client devices 102 - 104 .
  • Such sub-networks may include mesh networks, Wireless LAN (WLAN) networks, cellular networks, or the like.
  • Wireless network 110 may further include an autonomous system of terminals, gateways, routers, or the like connected by wireless radio links, or the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, such that the topology of wireless network 110 may change rapidly.
  • Wireless network 110 may further employ a plurality of access technologies including 2nd (2G), 3rd (3G), 4th (4G), 5th (5G) generation radio access for cellular systems, WLAN, Wireless Router (WR) mesh, or the like.
  • Access technologies such as 2G, 3G, 4G, and future access networks may enable wide area coverage for mobile devices, such as client devices 102 - 104 with various degrees of mobility.
  • wireless network 110 may enable a radio connection through a radio network access such as Global System for Mobil communication (GSM), General Packet Radio Services (GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), or the like.
  • GSM Global System for Mobil communication
  • GPRS General Packet Radio Services
  • EDGE Enhanced Data GSM Environment
  • WCDMA Wideband Code Division Multiple Access
  • wireless network 110 may include virtually any wireless communication mechanism by which information may travel between client devices 102 - 104 and another computing device, network, or the like.
  • Network 111 is configured to couple network devices with other computing devices, including, BFS 107 , client device(s) 101 , and through wireless network 110 to client devices 102 - 104 .
  • Network 111 is enabled to employ any form of computer readable media for communicating information from one electronic device to another.
  • network 111 can include the Internet in addition to local area networks (LANs), wide area networks (WANs), direct connections, such as through a universal serial bus (USB) port, other forms of computer-readable media, or any combination thereof.
  • LANs local area networks
  • WANs wide area networks
  • USB universal serial bus
  • a router acts as a link between LANs, enabling messages to be sent from one to another.
  • communication links within LANs typically include twisted wire pair or coaxial cable
  • communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communications links known to those skilled in the art.
  • ISDNs Integrated Services Digital Networks
  • DSLs Digital Subscriber Lines
  • wireless links including satellite links, or other communications links known to those skilled in the art.
  • IP Internet Protocols
  • OSI Open Systems Interconnection
  • remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link.
  • network 111 includes any communication method by which information may travel between computing devices.
  • communication media typically embodies computer-readable instructions, data structures, program modules, or other transport mechanism and includes any information delivery media.
  • communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.
  • wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media
  • wireless media such as acoustic, RF, infrared, and other wireless media.
  • Such communication media is distinct from, however, processor-readable storage devices described in more detail below.
  • BFS 107 may include virtually any network device usable to provide resource recommendation services, such as network device 200 of FIG. 2 .
  • BFS 107 employs various techniques to create and display resource recommendations.
  • BFS 107 may include applications for generating cost traces, and predications within a resource recommendation model.
  • BFS 107 may include applications for visualizing the generated costs and recommendations.
  • BFS 107 may also enable the user to perform various what-if analysis and dynamically view differing resource recommendations based in part on user input parameters, and historical usage data.
  • BFS 107 Devices that may operate as BFS 107 include various network devices, including, but not limited to personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server devices, network appliances, or the like. It should be noted that while BFS 107 is illustrated as a single network device, the invention is not so limited. Thus, in another embodiment, BFS 107 may represent a plurality of network devices. For example, in one embodiment, BFS 107 may be distributed over a plurality of network devices and/or implemented using a cloud architecture.
  • BFS 107 is not limited to a particular configuration.
  • BFS 107 may operate using a master/slave approach over a plurality of network devices, within a cluster, a peer-to-peer architecture, and/or any of a variety of other architectures.
  • BFS 107 is not to be construed as being limited to a single environment, and other configurations, and architectures are also envisaged.
  • BFS 107 may employ processes such as described below in conjunction with FIGS. 4-22 to perform at least some of its actions.
  • Cloud services 120 and 130 represent cloud-based service providers that provider for use by a user various instances or resources. While cloud services 120 is illustrated to include resources 121 - 124 , and cloud services 130 is illustrated to include resources 131 - 133 , other implementations are not so constrained. Thus, it should be understood that cloud services 120 and 130 may include many more or less resources than illustrated in FIG. 1 . Further resources 121 - 124 and 131 - 133 are intended to be representative and not actual reflections of configurations. Thus, a cloud service might include resources that are configured into clusters, are rack components, a virtual machine, a plurality of different computing devices, reside in differing geographic locations around the United States, or other locations, or the like.
  • each resource or instance may be defined based on its hardware, software, and physical location. However, other parameters may also be used, including its service level agreement, lease/purchase rate plans, or the like.
  • a resource might be purchased at once, and billed to the user based on usage plus the purchase fees, while others might be reserved for a period of time, such as one or three years, and billed out based on an effective fee rate that in turn is based on a usage rate and a fixed fee rate schedule.
  • cloud services 120 and 130 might be considered to be managed by different service providers; however, in other embodiments, cloud services 120 and 130 might represent services provided over different locations, different arrangements of services, or the like. For example, in one embodiment cloud services might be partitioned based on different service level agreements, different locations, different types of architectures, different security levels, and/or any of a variety of other criteria.
  • cloud services 120 and 130 may be configured to provide information about actual usage of resources, as well as various information about the resource, including its configuration and fee rate plans, or the like, to BFS 107 , which may then employ the information in part to determine a resource recommendation.
  • configurations of client devices or other in-house resources, their costs schedules, and the like might also be sent to BFS 107 , so that BFS 107 might consider in-house (or more generally, on-demand) resources as well as outsourced (or more generally, reserved) resource usages (e.g., cloud services) in determining resource recommendations.
  • FIG. 1 illustrates cloud services, other forms of outsourced services may also be considered, and thus, subject innovations are not constrained to merely considering cloud services.
  • BFS 107 might employ a process such as described below in conjunction with FIG. 4 to perform and provide resource recommendations. Further, BFS 107 might provide graphical interfaces such as described below in conjunction with FIGS. 5-6 for use in managing a set of recommendations for reserving resources, highlighting underused reserved resources, and even providing recommendations for reallocating resources.
  • FIG. 2 shows one embodiment of client device 200 that may be included in a system implementing at least one of the various embodiments.
  • Client device 200 may include many more or less components than those shown in FIG. 2 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
  • Client device 200 may represent, for example, one embodiment of at least one of client devices 101 - 104 of FIG. 1 . It should be recognized that, as discussed above, client devices may operate as an interface mechanism into a cloud-based service, and/or as a resource that may be managed along with the resources obtained through the cloud-based service.
  • client device 200 includes a central processing unit (“CPU”) 202 in communication with a mass memory 226 via a bus 234 .
  • Client device 200 also includes a power supply 228 , one or more network interfaces 236 , an audio interface 238 , a display 240 , a keypad 242 , and an input/output interface 248 .
  • Power supply 228 provides power to client device 200 .
  • a rechargeable or non-rechargeable battery may be used to provide power.
  • the power may also be provided by an external power source, such as an AC adapter or a powered docking cradle that supplements and/or recharges a battery.
  • Client device 200 may optionally communicate with a base station (not shown), or directly with another computing device.
  • Network interface 236 includes circuitry for coupling client device 200 to one or more networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, global system for mobile communication (“GSM”), code division multiple access (“CDMA”), time division multiple access (“TDMA”), user datagram protocol (“UDP”), transmission control protocol/Internet protocol (“TCP/IP”), short message service (“SMS”), general packet radio service (“GPRS”), WAP, ultra wide band (“UWB”), IEEE 802.16 Worldwide Interoperability for Microwave Access (“WiMax”), session initiated protocol/real-time transport protocol (“SIP/RTP”), or any of a variety of other wireless communication protocols.
  • GSM global system for mobile communication
  • CDMA code division multiple access
  • TDMA time division multiple access
  • UDP user datagram protocol
  • TCP/IP transmission control protocol/Internet protocol
  • SMS short message service
  • GPRS general packet radio service
  • Audio interface 238 is arranged to produce and receive audio signals such as the sound of a human voice.
  • audio interface 238 may be coupled to a speaker and microphone (not shown) to enable telecommunication with others and/or generate an audio acknowledgement for some action.
  • Display 240 may be a liquid crystal display (“LCD”), gas plasma, light emitting diode (“LED”), or any other type of display used with a computing device.
  • Display 240 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand.
  • Keypad 242 may comprise any input device arranged to receive input from a user.
  • keypad 242 may include a push button numeric dial, or a keyboard.
  • Keypad 242 may also include command buttons that are associated with selecting and sending images.
  • Client device 200 also comprises input/output interface 248 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 2 .
  • Input/output interface 248 can utilize one or more communication technologies, such as USB, infrared, BluetoothTM, or the like.
  • Mass memory 226 includes a Random Access Memory (“RAM”) 204 , a Read-only Memory (“ROM”) 222 , and other storage means. Mass memory 226 illustrates an example of computer readable storage media (devices) for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory 226 stores a basic input/output system (“BIOS”) 224 for controlling low-level operation of client device 200 . The mass memory also stores an operating system 206 for controlling the operation of client device 200 . It will be appreciated that this component may include a general-purpose operating system such as a version of UNIX, or LINUXTM, or a specialized client communication operating system such as Windows MobileTM, Google AndroidTM, Apple iOSTM, or the Symbian® operating system. The operating system may include, or interface with a Java virtual machine module that enables control of hardware components and/or operating system operations via Java application programs.
  • BIOS basic input/output system
  • the operating system may include, or interface with a Java virtual machine module that enables control of
  • Mass memory 226 further includes one or more data storage 208 , which can be utilized by client device 200 to store, among other things, applications 214 and/or other data.
  • data storage 208 may also be employed to store information that describes various capabilities of client device 200 . The information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, sent upon request, or the like. At least a portion of the information may also be stored on a disk drive or other computer-readable storage device (not shown) within client device 200 .
  • Data storage 208 may also store various financial data, including reservation data, usage data, and the like, that may reside within a database, text, spreadsheet, folder, file, or the like. Such financial data may also be stored within any of a variety of other computer-readable storage devices, including, but not limited to a hard drive, a portable storage device, or the like, such as illustrated by non-transitory computer-readable storage device 230 .
  • Applications 214 may include computer executable instructions which, when executed by client device 200 , transmit, receive, and/or otherwise process network data.
  • Examples of application programs include, but are not limited to calendars, search programs, email clients, IM applications, SMS applications, voice over Internet Protocol (“VOIP”) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth.
  • Applications 214 may include, for example, browser 218 and resource recommendation interface (I/F) 219 .
  • Browser 218 may include virtually any application configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language.
  • the browser application is enabled to employ HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, and the like, to display and send a message.
  • any of a variety of other web-based languages may be employed.
  • browser 218 may enable a user of client device 200 to communicate with another network device, such as BFS 107 of FIG. 1 .
  • browser 218 may enable a user to view and/or manipulate resource data, including creating resource recommendations, adding/purchasing/reallocating resources, modifying resource reservation models, rendering visualizations of resource recommendations and related what-ifs, or the like.
  • a user may employ client device 200 to create and manage IT resource recommendations and to access information stored or otherwise managed through BFS 107 .
  • a user may enter various types of data into a resource recommendation system accessible through BFS 107 .
  • the user may be enabled to perform a variety of actions on the data, including, queries, comparisons, summations, analysis, or the like.
  • a user may employ client 200 to create one more resource reservation models.
  • Resource recommendation I/F (RRI) 219 provides another mechanism for interacting with BFS 107 .
  • RRI 219 may operate as a separate application providing and managing communications with BFS 107 over a network and providing for display of user interfaces, including, but not limited to those described below.
  • the user might employ browser 218 or RRI 219 to communicate with BFS 107 , provide data to BFS 107 , and otherwise manage IT resource reservations.
  • other actions might also be performed, including, managing other aspects of IT resources, including budgeting, tracking work flow, up/down times of resources, application usages, back-up management, recovery management, and any of a variety of other IT management activities.
  • FIG. 3 shows one embodiment of network device 300 that may be included in a system implementing at least one of the various embodiments.
  • Network device 300 may include many more or less components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention.
  • Network device 300 may represent, for example, BFS 107 of FIG. 1 .
  • Network device 300 includes processing unit 312 , video display adapter 314 , and a mass memory, all in communication with each other via bus 322 .
  • the mass memory generally includes RAM 316 , ROM 332 , and one or more permanent mass storage devices, such as hard disk drive 328 , tape drive, optical drive, flash drive, and/or floppy disk drive.
  • the mass memory stores operating system 320 for controlling the operation of network device 300 . Any general-purpose operating system may be employed.
  • BIOS Basic input/output system
  • BIOS Basic input/output system
  • network device 300 also can communicate with the Internet, or some other communications network, via network interface unit 310 , which is constructed for use with various communication protocols including the TCP/IP protocol.
  • Network interface unit 310 is sometimes known as a transceiver, transceiving device, or network interface card (NIC).
  • Network device 300 also includes input/output interface 324 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 3 .
  • Input/output interface 324 can utilize one or more communication technologies, such as USB, infrared, BluetoothTM, or the like.
  • Processor-readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • Examples of computer readable storage media include RAM, ROM, Electronically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), digital versatile disks (DVD), Blu-Ray, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by any computing device.
  • data stores 354 may include a database, text, spreadsheet, folder, file, or the like, that may be configured to maintain and store various resource recommendation models, resource data, resource usage logs, resource configuration data, service level agreements, cloud-service provider contract data, or the like.
  • Data stores 354 may further include program code, data, algorithms, or the like, for use by a processor, such as central processing unit (CPU) 312 to execute and perform actions.
  • CPU central processing unit
  • At least some of data and/or instructions stored in data stores 354 might also be stored on another device of network device 300 , including, but not limited to cd-rom/dvd-rom 326 , hard disk drive 328 , or other computer-readable storage device resident on network device 300 or accessible by network device 300 over, for example, network interface unit 310 .
  • the mass memory also stores program code and data.
  • One or more applications 350 are loaded into mass memory and run on operating system 320 .
  • Examples of application programs may include transcoders, schedulers, calendars, database programs, word processing programs, Hypertext Transfer Protocol (HTTP) programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth.
  • Mass memory may also include web services 356 , and resource recommender 357 .
  • Web services 356 represent any of a variety of services that are configured to provide content, over a network to another computing device.
  • web services 356 include for example, a web server, a File Transfer Protocol (FTP) server, a database server, a content server, or the like.
  • Web services 356 may provide the content over the network using any of a variety of formats, including, but not limited to WAP, HDML, WML, SGML, HTML, XML, compact HTML (cHTML), extensible (xHTML), or the like.
  • web services 356 may provide an interface for accessing and manipulating data in a data store, such as data stores 354 , or the like.
  • web services 356 may provide for interacting with resource recommender 357 that may enable a user to access and/or otherwise manage resource reservations, and/or other IT management related actions.
  • resource recommender 357 may enable users to generate financial resource recommendation models, establish what-if scenarios, display graphic plots for reserving resources, determine underused, including unused, resources, or the like.
  • Resource recommender 357 may be configured in one embodiment, to employ a process such as described below in conjunction with FIG. 4 to perforin at least some of its actions. Further resource recommender 357 may provide various user interfaces including those discussed below in conjunction with FIGS. 5-6 .
  • FIGS. 4-6 The operation of certain aspects of the invention will now be described with respect to FIGS. 4-6 .
  • the operations of the processes described below may, in one embodiment, be performed within BFS 107 of FIG. 1 , and/or displayed at one or more screens within one or more client devices 101 - 104 of FIG. 1 .
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process 400 usable to manage and display recommendations for reserving IT resources, such as cloud IT resources, in-house resources, on-demand resources, reserved resourced, and the like.
  • IT resources such as cloud IT resources, in-house resources, on-demand resources, reserved resourced, and the like.
  • a user may select to initially arrange for usage of various IT resources directly through one or more cloud service providers.
  • the user might contract for initial use of various resources, reserve the resources based on various terms of use, including agreements over a six month, one year, two year, three year, or other time period.
  • the user may select to manage IT resources from a plurality of different cloud service providers, manage in-house (or on-demand) resources, and/or manage IT resources obtained from other than cloud service providers and/or other reservation type service providers.
  • process 400 begins, after a start block, at block 402 , where the user may negotiate initial IT resource (instance) purchases, reservations, contracts, and the like.
  • block 402 might be performed using interfaces provided by BFS 107 ; however, as noted above, block 402 might be performed independent of use of BFS 107 , as suggested by dashed block 402 .
  • the user may establish an account for reservation management services through BFS 107 , and provide information about resources (instances) to be managed, including, cloud services, in-house services, and the like.
  • resource information might be input automatically through a request by BFS 107 to a cloud service provider, on behalf of the user.
  • an interface might be established with a user's computing device to enable access to various data about the resources.
  • the user might directly input data about resources to be tracked and managed by BFS 107 .
  • the user may be provided with an interface illustrating a list of resources that are to be managed by BFS 107 , where the list might provide an ability for the user to view details about a configuration of the resource, a location of the resource, a service level agreement for the resource, uptime/downtime information about the resource, and a variety of other information about the resource.
  • resources identified within BFS 107 are then tracked for usage by the user and/or the user's business.
  • the usage data might be directly sent by the in-house (or on-demand), cloud services (or reservation services), or the like, using any of a variety of mechanisms. For example, an agreement might be established that the tracked resources automatically provide usage data to BFS 107 based on regular schedules, based on queries by BFS 107 , and/or a combination of events, conditions, or the like.
  • usage data may include any changes in a configuration of a resource, as well as loads on the resource, up/down times of the resources, a cost of the resource, and any of a variety of other related information.
  • At least some of the tracked data may be used to make predictions on future usage of a resource, determine when to move an in-house resource usage to a cloud resource (or the reverse), determine when to purchase additional resources, release a resource, re-allocate a resource usage, or the like.
  • tracked data for a defined prior period of time may be used to make recommendations. For example, a three month prior period of time might be used to determine recommendations.
  • tracked data may be used based on various models, including, error covariance models, learning models, or the like, where historical data may be consolidated into various parameters of the model over virtually any time period.
  • process 400 moves to block 408 . This may occur, for example, when the user selects an interface into resource recommender 357 of network device 300 of FIG. 3 .
  • Processing then flows to block 410 , where recommendations are dynamically displayed to the user.
  • recommendations are dynamically displayed to the user.
  • One such non-limiting, non-exhaustive interface is discussed in more detail below in conjunction with FIG. 5 . Briefly, however, the user may be provided with various strategy interfaces.
  • the user might select to modify various user input parameters or assumptions useable to determine resource recommendations. For example, the user might be able to vary a time frame in which the resources are to be committed to by the user, vary an upfront cost parameter, and/or vary a number of recommended resources to be reserved, or the like. The user may further update various resources to be considered, their configurations, contracts, or the like.
  • the user may take one or more actions based on the recommendations. In one embodiment, this might include selecting a time period within the forecast display of FIG. 5 . This action may then result in a display of actions to be taken. One non-limiting, non-exhaustive embodiment of such a display is described in more detail below in conjunction with FIG. 6 .
  • the user may then make purchases, release resources, renegotiate contracts for resources, reallocate resource usages, or the like. In one embodiment, such actions might be performed outside of process 400 (as indicated by the dashed block 416 ), or be performed through another interface provided by BFS 107 .
  • Processing continues to decision block 418 , where a determination is made whether to continue to manage tracking and recommending resource reservations, or to terminate the process. If the process is to continue, then the flow may return to block 406 . However, in other embodiments, the flow might return to block 404 , where additional changes to the resources might be performed by the user, including adding new resources, deleting one or more resources, or the like. Should it be determined that process 400 is to terminate, then flow may return to a calling process to perform other actions.
  • each component of the illustrations, and combinations of components in these illustrations can be implemented by computer program instructions.
  • These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flow component or components.
  • the computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer-implemented process such that the instructions, which execute on the processor to provide steps for implementing the actions specified in the flow component or components.
  • the computer program instructions may also cause at least some of the operational steps shown in the components of the flows to be performed in parallel. Moreover, some of the steps may also be performed across more than one processor, such as might arise in a multi-processor computer system.
  • one or more components or combinations of components in the flow illustrations may also be performed concurrently with other components or combinations of components, or even in a different sequence than illustrated.
  • components of the flow illustrations support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each component of the flow illustrations, and combinations of components in the flow illustrations, can be implemented by special purpose hardware based systems, which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
  • FIGS. 5-6 illustrate non-limiting, non-exhaustive examples of interfaces for managing and displaying IT resource reservations.
  • a display 500 that provides one portion 502 usable for the user to modify various assumptions, and/or parameters used to determine resource reservations.
  • the user might be able to modify what time frame for which the user might wish to commit to for reserving resources, as shown in portion 502 , labeled 1.
  • the displayed time frame might be specific to a given cloud service provider.
  • this time frame allows the user to determine the time period over which they wish to make purchases, allowing the user to select immediate purchases, all at once, or to make purchases over the course of the contract.
  • labeled 2 the user might provide an input indicating how much the user wishes to pay upfront, or at a beginning of a contract period.
  • the user might be able to input a specific value, or a generic parameter, such as low/medium/high, or the like.
  • Input labeled 3 in FIG. 5 , allows the user to modify resource recommendations from an initial computed recommendation, to some value less than the recommended amount of resources.
  • the recommended value is 15 resources, for which the user might select the recommended value or some value less.
  • portion 503 of display 500 provides an immediate and dynamically changing resource recommendation chart over time.
  • Portion 503 may dynamically change based on changes in inputs, assumptions, or the like, by the user. Thus, should the user change any of the input assumptions in portion 502 , they may immediately (or as quickly as reasonable given network connections, or the like) view the impact to the recommendations.
  • Line 510 is directed towards illustrating over time a costing forecast based on no reserved instances.
  • Line 512 is directed towards illustrating over time a costing forecast that is based on the recommended number of instances.
  • Line 514 illustrates a costing flow over time should the user select to take no actions, including purchases, re-allocations, or the like, while line 516 illustrates costing flow over time should the user follow the recommendations for reserving and/or otherwise managing resources provided by process 400 of FIG. 4 .
  • the user may quickly see a cost difference between the actions the user may take or not take.
  • the lower portion 503 can dynamically update and reflect changes to the recommendations.
  • the recommendations are in part based on historical usage data, service level agreements, contracts, resource configurations, and the like.
  • the user selects to turn on/off a resource, use a resource for some time, allow the resource to sit idle or off, and perform a variety of other actions, such factors are considered in determining the changes to the recommendations.
  • the historical data used might be constrained to using a particular time window of prior time.
  • the time window of prior time might be between one to four months.
  • other time periods might be used.
  • it might be determined that a prior usage reflects a predicted future usage over a remaining portion of the contract for a resource.
  • a prior usage if it is determined that historical usage of the resource is at 80% over the prior time period, then it might be assumed that the future usage will also be at 80% for the remaining time period on the contract.
  • other models might be used, including, but not limited to using a mode, median, or other statistical parameter from the prior time period, to predict future usage.
  • a comparison might be made between a predicted usage and an actual usage of a resource.
  • the comparison might then be used to generate various errors covariance values, or the like, usable to improve future estimates for recommendations.
  • various machine learning models, or the like might be used that take into account trends in usage, peak usages, or the like.
  • various recommendation models take into account fixed fees and variable fees for a resource, to improve recommendations.
  • Recommendations may be provided for a given cloud service provider's resources, or be determined across a plurality of cloud service providers. For example, recommendations may be provided on how to manage resources for a given cloud service provider, independent of resources of other providers.
  • recommendations may be provided to the user across a plurality of sources of resources, including recommendations that take into account costing differences between providers, and outsourced resources and in-house resources, as well as to assist in deciding when an actual trade-off between paying as one goes and reservations might occur. In this manner, the user may have an improved visibility of total costs for IT resource reservations.
  • the user might conduct what-if analysis for comparing using in-house resources versus outsourcing, by inputting different assumptions in portion 502 of FIG. 5 , in addition to those illustrated.
  • the user may further select a time within lower portion 503 in which to expand display of the recommendations.
  • a selector bar 520 might be provided to enable the user to select a time period to expand upon.
  • other mechanisms might be provided, including a button input sequence or combination, an icon selection, a window for inputting a time period, or the like.
  • FIG. 6 is one non-limiting, non-exhaustive example, of a user interface 600 usable for providing a purchase listing for a selected time period. As shown, interface 600 may include purchase list 602 and non-usage list 604 .
  • Purchase list 602 provides a recommendation listing of resources that the user might select to purchase or otherwise reserve for the given time period based on recommendations provided through FIG. 5 . Also illustrated, in non-usage list 604 that provides to the user a listing, when such condition exists, of resources that are determined to be unused, or otherwise used at a level below some threshold value. The user may then select to release these resources, or otherwise reallocate usage to these resources.
  • the non-usage list 604 is generated in part based on purchase list 602 . Thus, reallocation of a non-used or underutilized resource is not expected to immediately change the purchase list contents. However, the list and the recommendations may change over time for future recommendations. In any event, the user is provided with numerous integrated and dynamic recommendations, and interfaces for managing their IT resources, and thereby enabling the user to improve usage of their IT budgets.
  • the user will be able to determine when to employ on-demand resources versus reserved resources, or on-demand resources versus an in-house service that might, for example, have been purchases (with upfront fees) and incurs on-going fees from such as maintenance, power, network, physical space over time, or the like.
  • FIG. 7 illustrates one non-limiting, non-exhaustive example of data analysis useable to calculate reserved resources for a single resource type.
  • many resources types would be analyzed in parallel and summarized for use as in FIG. 5 and FIG. 6 .
  • FIG. 7 illustrates one non-limiting, non-exhaustive example of data analysis useable to calculate reserved resources for a single resource type.
  • the approach discussed in conjunction with FIG. 7 may be performed within at least block 408 of FIG. 4 .
  • tracking and collecting historical usage data over some time period is performed, such as is described above at block 406 of FIG. 4 .
  • a 4 phase calculation would take place to determine the optimal recommendation.
  • a calculation is performed for on-demand, or cloud usage per unit of time.
  • chart 700 - 1 represents one embodiment for displaying of tracked usage data over time.
  • the unit of time may be defined as virtually any time unit, including hours, other portions of a day, days, weeks, or so forth.
  • the units of resources used may represent discrete resources, or bundled resources.
  • Each unit of time is treated as a bucket and 1 unit is added to the bucket for any resource used during the time period.
  • the result seen in chart 700 - 1 is a histogram of units used in each time.
  • each bucket from chart 700 - 1 is then sorted from the largest bucket to smallest by unit of time (e.g. hour).
  • Chart 700 - 2 illustrates one possible display showing rank sorted units for each time period.
  • phase two a calculation is performed to determine a “trade-off percentage” of a given reservation period. This represents the percentage of a time in a period when it costs less to purchase a reservation when cost is amortized over the entire period rather than when using on-demand resources. While a variety of equations may be employed, one such example equation might be:
  • U represents an upfront cost
  • RR represents a reserved rate
  • TL represents a time of reservation
  • ODR represents an on-demand rate
  • Chart 700 - 3 illustrates one embodiment of a display showing a result for determining a trade-off point (e.g., trade-off hour).
  • a trade-off point e.g., trade-off hour.
  • Chart 700 - 4 shows how once the optimal number of resource reservations has been selected one could allocate resources over a time period. The number of reserved resources would cover all resources during normal operation while on-demand resources would handle resources above the optimal number of resource reservations.
  • FIG. 5 and FIG. 6 display how one may visualize the spread of these purchases across a time period. Purchasing resources over time then may reduce the upfront costs associated with purchasing a large number of reservations at once. This also may lower the risk of purchasing many long term reservations by temporarily using on-demand resources for a time even if it's cost-optimal to buy reserved resources. One algorithm to achieve this would be evenly spreading the number of reservations purchased over an entire time period. Others may also be used, as discussed above.
  • the recommended costs line is the sum of on-demand rates, upfront-fees and reserved rates for all current resources given recommended purchases and the time the purchase has been recommended in.

Abstract

Embodiments are directed towards providing dynamic recommendations of reserving information technology resources over time that may be visually displayed over that time. In one embodiment, the recommendations may be determined based on an analysis of actual usage data obtained over a prior time period and used to predict future resource demands. The subject innovations enable a user to dynamically perform various ‘what-if’ analysis to determine optimum purchase times, and configurations. In some embodiments, the user is further provided information about currently purchased resource under-utilizations to enable the user to redistribute work, release resources, or take other actions directed towards improving management of their IT budget. While subject innovations are may be directed towards managing IT resources obtained through one or more cloud computing service providers, some embodiments further allow the user to perform make/buy decisions such as when to use in-house resources versus using cloud-based resources.

Description

    TECHNICAL FIELD
  • The present invention relates generally to computer automated activity based budgeting and forecasting, and more particularly, but not exclusively to providing an interactive mechanism for managing reservations of Information Technology (IT) resources, such as cloud based IT resources.
  • BACKGROUND
  • Cloud-based computing may be defined as the use of computing resources (hardware and software) that are delivered as a service over a network, such as the Internet. Cloud-based computing is often argued to provide numerous benefits to a business, including rapid scalability, availability, and cost savings. Some providers of cloud-based computing services allow users to buy access to their resources from the cloud on a pay-per-use basis; other providers further provide an ability of a user to pay to reserve resources for an extended period of time. Other providers provide still different plans for use of their services that might include variable rate plans, reservations based on differing costing models over different time periods.
  • While cloud-based services may provide cost savings, it remains up to the user purchasing the services to determine when and how to make use of the services, so that cost benefits may be obtained. However, there appears to be little solutions designed to help IT managers, and/or other users of cloud-based services, to manage or communicate costs of their IT resource consumption. IT managers, and other users, are often required to predict with little assistance as to when to purchase a cloud-based service, or even how much to purchase. This lack of adequate tools for the IT manager even extends to a lack of tools usable to assess when to purchase IT resources for in-house versus when to use cloud-based services. With an ever increasing number of cloud service providers becoming available, and an ever growing number of different purchase plans being made available, making such IT evaluations is becoming more and more complex. Thus, it is with respect to these considerations and others that the invention has been made.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified. For a better understanding of the present invention, reference will be made to the following Detailed Description, which is to be read in association with the accompanying drawings, wherein:
  • FIG. 1 is a system diagram showing components of an environment in which at least one of the various embodiments may be practiced;
  • FIG. 2 shows one embodiment of a client device that may be included in a system in accordance with the embodiments;
  • FIG. 3 shows one embodiment of a network device that may be included in a system implementing at least one of the various embodiments;
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process usable to manage and display recommendations for reserving IT resources, such as cloud IT resources;
  • FIGS. 5-6 illustrate non-limiting, non-exhaustive examples of interfaces for managing and displaying IT resource reservations; and
  • FIG. 7 illustrates one non-limiting, non-exhaustive example of data analysis useable to calculate reserved resources for a single resource type.
  • DESCRIPTION OF THE VARIOUS EMBODIMENTS
  • The present invention now will be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments by which the invention may be practiced. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Among other things, the present invention may be embodied as methods or devices. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. The following detailed description is, therefore, not to be taken in a limiting sense.
  • Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment, though it may. Furthermore, the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily combined, without departing from the scope or spirit of the invention.
  • In addition, as used herein, the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise. The term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.”
  • As used herein, the term “instance” refers to a configuration of a computing resource, including hardware and software. In one embodiment, an instance is further defined based on a geographic location in which the computing device physically resides. Thus, for example, an instance might be defined based on its hardware, the software made available for use, and where the computing device resides. In some embodiments, an instance is further definable based on a network connection to the hardware device. Moreover, the term “resource” may be used interchangeably with the term “instance,” where a resource is a definable configuration of a computing device, including its hardware, software, and physical location.
  • Typically, where a resource resides within a cloud-computing environment, the resource may be leased, or otherwise purchased, for various time periods. For example, the resource may be purchased for use at once, and purchased based on a pay per use plan. In other cases, a resource might be leased by reserving use of the resource for some time period, such as six months, one year, two years, three years, or the like. Further, resources may be purchased based on a combination of fixed fees, and variable fees. The fixed fees may be based on the lease/purchase time, while the variable fees may be based on actual usage of the resource. For example, a user might purchase for three years, and use the resource on an average over the three years at 60% of the time. Thus, an effective fee rate may be determined that varies over some time period based on a combination of the fixed fees and the variable usage rate fees.
  • The following briefly describes the embodiments of the invention in order to provide a basic understanding of some aspects of the invention. This brief description is not intended as an extensive overview. It is not intended to identify key or critical elements, or to delineate or otherwise narrow the scope. Its purpose is merely to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
  • Briefly stated, the subject innovations are directed towards providing dynamic recommendations for reserving information technology resources over time that may be visually displayed over that time frame. In one embodiment, the recommendations may be determined based on an analysis of actual usage data obtained over a prior time period that is then used to predict future resource demands. The subject innovations enable a user to perform various ‘what-if’ analysis to determine optimum purchase times, and configurations. In some embodiments, the user is further provided information about currently purchased resource under-utilizations to enable the user to redistribute work, release resources, or take other actions directed towards improving management of their IT budget. While subject innovations may be directed towards managing IT resources obtained through one or more cloud computing service providers, some embodiments further allow the user to perform make/buy decisions such as when to use in-house resources versus using cloud-based resources, or to use on-demand resources versus using reserved resources.
  • In some embodiments, the recommendation analysis may assume that a future usage of resources will be substantially the same as a previous time period usage. Substantially the same might be based on using some statistical parameter describing the historical usage, including a mean, mode, median value, or the like. However, other more complex algorithms may be employed, including usage of a machine learning model, linear prediction models, non-linear prediction models, a covariance estimation approach, a time-varying estimation model, or any of a variety of other models. For example, in some embodiments, a model that accounts for trends or varying use of resources might be employed. Moreover, the analysis may be configured to account for various service level agreement cost implications, as well as various purchase/lease options provided by a given resource provider. In fact, virtually any parameter that might affect a cost of the resource to the user may be used to provide to the user a visual cost recommendation over time. In some embodiments, a user might select a particular time period, such as a current date, and be provided with a table reflecting a recommended purchase list based on an optimum costing forecast model. In other embodiments, a table might be displayed indicating resources that have been reserved, but are currently going unused. In some embodiments, a recommendation of how to reallocate the unused resources may be provided.
  • Illustrative Operating Environment
  • FIG. 1 shows components of one embodiment of an environment in which at least one of the various embodiments may be practiced. Not all the components may be required to practice various embodiments, and variations in the arrangement and type of the components may be made. As shown, system 100 of FIG. 1 includes local area networks (“LANs”)/wide area networks (“WANs”)—(network) 111, wireless network 110, client devices 101-104, Budgeting and Finance System (BFS) 107, and cloud services 120 and 130. Within cloud service 120 are illustrated instances (or resources) 121-124; while within cloud service 130 are illustrated instances (or resources) 121-133.
  • Generally, client devices 102-104 may include virtually any portable computing device capable of receiving and sending a message over a network, such as network 111, wireless network 110, or the like. Client devices 102-104 may also be described generally as client devices that are configured to be portable. Thus, client devices 102-104 may include virtually any portable computing device capable of connecting to another computing device and receiving information. Such devices include portable devices such as, cellular telephones, smart phones, display pagers, radio frequency (RF) devices, infrared (IR) devices, Personal Digital Assistants (PDA's), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, or the like. As such, client devices 102-104 typically range widely in terms of capabilities and features. For example, a cell phone may have a numeric keypad and a few lines of monochrome Liquid Crystal Display (LCD) on which only text may be displayed. In another example, a web-enabled mobile device may have a touch sensitive screen, a stylus, and several lines of color LCD in which both text and graphics may be displayed.
  • Client device 101 may include virtually any computing device capable of communicating over a network to send and receive information, including messaging, performing various online actions, or the like. The set of such devices may include devices that typically connect using a wired or wireless communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network Personal Computers (PCs), or the like. In one embodiment, at least some of client devices 102-104 may operate over wired and/or wireless network. Today, many of these devices include a capability to access and/or otherwise communicate over a network such as network 111 and/or even wireless network 110. Moreover, client devices 102-104 may access various computing applications, including a browser, or other web-based application.
  • In one embodiment, one or more of client devices 101-104 may be configured to operate within a business or other entity to perform a variety of services for the business or other entity. For example, client devices 101-104 may be configured to operate as a web server, an accounting server, a production server, an inventory server, or the like. However, client devices 101-104 are not constrained to these services and may also be employed, for example, as an end-user computing node, in other embodiments. Further, it should be recognized that more or less client devices may be included within a system such as described herein, and embodiments are therefore not constrained by the number or type of client devices employed. In any event, one or more of client devices 101-104 may be considered as in-house resources, or more generally on-demand resource. As used herein, the term “on-demand resource,” refers to resources in which a user may pay for compute capacity by the hour, or some other time period, with no long-term commitments. Further, as used herein, the term “reserved resource,” refers to resources in which the user is provided the option to make an initial payment for each resource to be reserved for use in some future time period.
  • In another embodiment, one or more of client devices 101-104 may be configured to access various services from one or more of the resources within various cloud-based services, such as cloud services 120 and/or 130.
  • A web-enabled client device may include a browser application that is configured to receive and to send web pages, web-based messages, or the like. The browser application may be configured to receive and display graphics, text, multimedia, or the like, employing virtually any web-based language, including a wireless application protocol messages (WAP), or the like. In one embodiment, the browser application is enabled to employ any of a variety of scripting languages, including for example, JavaScript, as well as any of a variety of markup languages, including for example Standard Generalized Markup Language (SGML), HyperText Markup Language (HTML), eXtensible Markup Language (XML), HTML5, or the like, to display and send a message. In one embodiment, a user of the client device may employ the browser application to perform various actions over a network.
  • Client devices 101-104 also may include at least one other client application that is configured to receive and/or send data, including resource recommendation information, between another computing device. The client application may include a capability to provide requests and/or receive data relating to resource recommendations. In other embodiments, BFS 107 may be configured to provide to the client devices 101-104 visual representations of resource recommendations usable to enable a user to make IT decisions for allocating budget to IT resources and for reserving use of one or more resources, such as cloud-based resources.
  • Wireless network 110 is configured to couple client devices 102-104 and its components with network 111. Wireless network 110 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, or the like, to provide an infrastructure-oriented connection for client devices 102-104. Such sub-networks may include mesh networks, Wireless LAN (WLAN) networks, cellular networks, or the like.
  • Wireless network 110 may further include an autonomous system of terminals, gateways, routers, or the like connected by wireless radio links, or the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, such that the topology of wireless network 110 may change rapidly.
  • Wireless network 110 may further employ a plurality of access technologies including 2nd (2G), 3rd (3G), 4th (4G), 5th (5G) generation radio access for cellular systems, WLAN, Wireless Router (WR) mesh, or the like. Access technologies such as 2G, 3G, 4G, and future access networks may enable wide area coverage for mobile devices, such as client devices 102-104 with various degrees of mobility. For example, wireless network 110 may enable a radio connection through a radio network access such as Global System for Mobil communication (GSM), General Packet Radio Services (GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), or the like. In essence, wireless network 110 may include virtually any wireless communication mechanism by which information may travel between client devices 102-104 and another computing device, network, or the like.
  • Network 111 is configured to couple network devices with other computing devices, including, BFS 107, client device(s) 101, and through wireless network 110 to client devices 102-104. Network 111 is enabled to employ any form of computer readable media for communicating information from one electronic device to another. Also, network 111 can include the Internet in addition to local area networks (LANs), wide area networks (WANs), direct connections, such as through a universal serial bus (USB) port, other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. In addition, communication links within LANs typically include twisted wire pair or coaxial cable, while communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communications links known to those skilled in the art. For example, various Internet Protocols (IP), Open Systems Interconnection (OSI) architectures, and/or other communication protocols, architectures, models, and/or standards, may also be employed within network 111 and wireless network 110. Furthermore, remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link. In essence, network 111 includes any communication method by which information may travel between computing devices.
  • Additionally, communication media typically embodies computer-readable instructions, data structures, program modules, or other transport mechanism and includes any information delivery media. By way of example, communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media. Such communication media is distinct from, however, processor-readable storage devices described in more detail below.
  • BFS 107 may include virtually any network device usable to provide resource recommendation services, such as network device 200 of FIG. 2. In one embodiment, BFS 107 employs various techniques to create and display resource recommendations. BFS 107 may include applications for generating cost traces, and predications within a resource recommendation model. Furthermore, BFS 107 may include applications for visualizing the generated costs and recommendations. BFS 107 may also enable the user to perform various what-if analysis and dynamically view differing resource recommendations based in part on user input parameters, and historical usage data.
  • Devices that may operate as BFS 107 include various network devices, including, but not limited to personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server devices, network appliances, or the like. It should be noted that while BFS 107 is illustrated as a single network device, the invention is not so limited. Thus, in another embodiment, BFS 107 may represent a plurality of network devices. For example, in one embodiment, BFS 107 may be distributed over a plurality of network devices and/or implemented using a cloud architecture.
  • Moreover, BFS 107 is not limited to a particular configuration. Thus, BFS 107 may operate using a master/slave approach over a plurality of network devices, within a cluster, a peer-to-peer architecture, and/or any of a variety of other architectures. Thus, BFS 107 is not to be construed as being limited to a single environment, and other configurations, and architectures are also envisaged. BFS 107 may employ processes such as described below in conjunction with FIGS. 4-22 to perform at least some of its actions.
  • Cloud services 120 and 130 represent cloud-based service providers that provider for use by a user various instances or resources. While cloud services 120 is illustrated to include resources 121-124, and cloud services 130 is illustrated to include resources 131-133, other implementations are not so constrained. Thus, it should be understood that cloud services 120 and 130 may include many more or less resources than illustrated in FIG. 1. Further resources 121-124 and 131-133 are intended to be representative and not actual reflections of configurations. Thus, a cloud service might include resources that are configured into clusters, are rack components, a virtual machine, a plurality of different computing devices, reside in differing geographic locations around the United States, or other locations, or the like. As noted above, each resource or instance may be defined based on its hardware, software, and physical location. However, other parameters may also be used, including its service level agreement, lease/purchase rate plans, or the like. In some embodiments, a resource might be purchased at once, and billed to the user based on usage plus the purchase fees, while others might be reserved for a period of time, such as one or three years, and billed out based on an effective fee rate that in turn is based on a usage rate and a fixed fee rate schedule.
  • In one embodiment, cloud services 120 and 130 might be considered to be managed by different service providers; however, in other embodiments, cloud services 120 and 130 might represent services provided over different locations, different arrangements of services, or the like. For example, in one embodiment cloud services might be partitioned based on different service level agreements, different locations, different types of architectures, different security levels, and/or any of a variety of other criteria.
  • In any event, cloud services 120 and 130, may be configured to provide information about actual usage of resources, as well as various information about the resource, including its configuration and fee rate plans, or the like, to BFS 107, which may then employ the information in part to determine a resource recommendation. In some embodiments, configurations of client devices or other in-house resources, their costs schedules, and the like, might also be sent to BFS 107, so that BFS 107 might consider in-house (or more generally, on-demand) resources as well as outsourced (or more generally, reserved) resource usages (e.g., cloud services) in determining resource recommendations. It should be noted that while FIG. 1 illustrates cloud services, other forms of outsourced services may also be considered, and thus, subject innovations are not constrained to merely considering cloud services.
  • Moreover, BFS 107 might employ a process such as described below in conjunction with FIG. 4 to perform and provide resource recommendations. Further, BFS 107 might provide graphical interfaces such as described below in conjunction with FIGS. 5-6 for use in managing a set of recommendations for reserving resources, highlighting underused reserved resources, and even providing recommendations for reallocating resources.
  • Illustrative Client Device
  • FIG. 2 shows one embodiment of client device 200 that may be included in a system implementing at least one of the various embodiments. Client device 200 may include many more or less components than those shown in FIG. 2. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. Client device 200 may represent, for example, one embodiment of at least one of client devices 101-104 of FIG. 1. It should be recognized that, as discussed above, client devices may operate as an interface mechanism into a cloud-based service, and/or as a resource that may be managed along with the resources obtained through the cloud-based service.
  • As shown in the figure, client device 200 includes a central processing unit (“CPU”) 202 in communication with a mass memory 226 via a bus 234. Client device 200 also includes a power supply 228, one or more network interfaces 236, an audio interface 238, a display 240, a keypad 242, and an input/output interface 248. Power supply 228 provides power to client device 200. A rechargeable or non-rechargeable battery may be used to provide power. The power may also be provided by an external power source, such as an AC adapter or a powered docking cradle that supplements and/or recharges a battery.
  • Client device 200 may optionally communicate with a base station (not shown), or directly with another computing device. Network interface 236 includes circuitry for coupling client device 200 to one or more networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, global system for mobile communication (“GSM”), code division multiple access (“CDMA”), time division multiple access (“TDMA”), user datagram protocol (“UDP”), transmission control protocol/Internet protocol (“TCP/IP”), short message service (“SMS”), general packet radio service (“GPRS”), WAP, ultra wide band (“UWB”), IEEE 802.16 Worldwide Interoperability for Microwave Access (“WiMax”), session initiated protocol/real-time transport protocol (“SIP/RTP”), or any of a variety of other wireless communication protocols. Network interface 236 is sometimes known as a transceiver, transceiving device, or network interface card (“NIC”).
  • Audio interface 238 is arranged to produce and receive audio signals such as the sound of a human voice. For example, audio interface 238 may be coupled to a speaker and microphone (not shown) to enable telecommunication with others and/or generate an audio acknowledgement for some action. Display 240 may be a liquid crystal display (“LCD”), gas plasma, light emitting diode (“LED”), or any other type of display used with a computing device. Display 240 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand.
  • Keypad 242 may comprise any input device arranged to receive input from a user. For example, keypad 242 may include a push button numeric dial, or a keyboard. Keypad 242 may also include command buttons that are associated with selecting and sending images.
  • Client device 200 also comprises input/output interface 248 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 2. Input/output interface 248 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, or the like.
  • Mass memory 226 includes a Random Access Memory (“RAM”) 204, a Read-only Memory (“ROM”) 222, and other storage means. Mass memory 226 illustrates an example of computer readable storage media (devices) for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory 226 stores a basic input/output system (“BIOS”) 224 for controlling low-level operation of client device 200. The mass memory also stores an operating system 206 for controlling the operation of client device 200. It will be appreciated that this component may include a general-purpose operating system such as a version of UNIX, or LINUX™, or a specialized client communication operating system such as Windows Mobile™, Google Android™, Apple iOS™, or the Symbian® operating system. The operating system may include, or interface with a Java virtual machine module that enables control of hardware components and/or operating system operations via Java application programs.
  • Mass memory 226 further includes one or more data storage 208, which can be utilized by client device 200 to store, among other things, applications 214 and/or other data. For example, data storage 208 may also be employed to store information that describes various capabilities of client device 200. The information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, sent upon request, or the like. At least a portion of the information may also be stored on a disk drive or other computer-readable storage device (not shown) within client device 200. Data storage 208 may also store various financial data, including reservation data, usage data, and the like, that may reside within a database, text, spreadsheet, folder, file, or the like. Such financial data may also be stored within any of a variety of other computer-readable storage devices, including, but not limited to a hard drive, a portable storage device, or the like, such as illustrated by non-transitory computer-readable storage device 230.
  • Applications 214 may include computer executable instructions which, when executed by client device 200, transmit, receive, and/or otherwise process network data. Examples of application programs include, but are not limited to calendars, search programs, email clients, IM applications, SMS applications, voice over Internet Protocol (“VOIP”) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth. Applications 214 may include, for example, browser 218 and resource recommendation interface (I/F) 219.
  • Browser 218 may include virtually any application configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language. In one embodiment, the browser application is enabled to employ HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, and the like, to display and send a message. However, any of a variety of other web-based languages may be employed. In one embodiment, browser 218 may enable a user of client device 200 to communicate with another network device, such as BFS 107 of FIG. 1. In one embodiment, browser 218 may enable a user to view and/or manipulate resource data, including creating resource recommendations, adding/purchasing/reallocating resources, modifying resource reservation models, rendering visualizations of resource recommendations and related what-ifs, or the like.
  • In at least one of the various embodiments, a user may employ client device 200 to create and manage IT resource recommendations and to access information stored or otherwise managed through BFS 107. In at least one of the various embodiments, a user may enter various types of data into a resource recommendation system accessible through BFS 107. Also, in at least one of the various embodiments, the user may be enabled to perform a variety of actions on the data, including, queries, comparisons, summations, analysis, or the like. In some embodiments, a user may employ client 200 to create one more resource reservation models.
  • Resource recommendation I/F (RRI) 219 provides another mechanism for interacting with BFS 107. RRI 219 may operate as a separate application providing and managing communications with BFS 107 over a network and providing for display of user interfaces, including, but not limited to those described below. Thus, in some embodiments, the user might employ browser 218 or RRI 219 to communicate with BFS 107, provide data to BFS 107, and otherwise manage IT resource reservations. It should be noted that while the subject innovations are directed towards managing It resource reservations, other actions might also be performed, including, managing other aspects of IT resources, including budgeting, tracking work flow, up/down times of resources, application usages, back-up management, recovery management, and any of a variety of other IT management activities.
  • Illustrative Network Device
  • FIG. 3 shows one embodiment of network device 300 that may be included in a system implementing at least one of the various embodiments. Network device 300 may include many more or less components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention. Network device 300 may represent, for example, BFS 107 of FIG. 1.
  • Network device 300 includes processing unit 312, video display adapter 314, and a mass memory, all in communication with each other via bus 322. The mass memory generally includes RAM 316, ROM 332, and one or more permanent mass storage devices, such as hard disk drive 328, tape drive, optical drive, flash drive, and/or floppy disk drive. The mass memory stores operating system 320 for controlling the operation of network device 300. Any general-purpose operating system may be employed. Basic input/output system (“BIOS”) 318 is also provided for controlling the low-level operation of network device 300. As illustrated in FIG. 3, network device 300 also can communicate with the Internet, or some other communications network, via network interface unit 310, which is constructed for use with various communication protocols including the TCP/IP protocol. Network interface unit 310 is sometimes known as a transceiver, transceiving device, or network interface card (NIC). Network device 300 also includes input/output interface 324 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 3. Input/output interface 324 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, or the like.
  • The mass memory as described above illustrates another type of processor-readable storage media. Processor-readable storage media (devices) may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer readable storage media include RAM, ROM, Electronically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), digital versatile disks (DVD), Blu-Ray, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by any computing device.
  • As shown, data stores 354 may include a database, text, spreadsheet, folder, file, or the like, that may be configured to maintain and store various resource recommendation models, resource data, resource usage logs, resource configuration data, service level agreements, cloud-service provider contract data, or the like. Data stores 354 may further include program code, data, algorithms, or the like, for use by a processor, such as central processing unit (CPU) 312 to execute and perform actions. In one embodiment, at least some of data and/or instructions stored in data stores 354 might also be stored on another device of network device 300, including, but not limited to cd-rom/dvd-rom 326, hard disk drive 328, or other computer-readable storage device resident on network device 300 or accessible by network device 300 over, for example, network interface unit 310.
  • The mass memory also stores program code and data. One or more applications 350 are loaded into mass memory and run on operating system 320. Examples of application programs may include transcoders, schedulers, calendars, database programs, word processing programs, Hypertext Transfer Protocol (HTTP) programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth. Mass memory may also include web services 356, and resource recommender 357.
  • Web services 356 represent any of a variety of services that are configured to provide content, over a network to another computing device. Thus, web services 356 include for example, a web server, a File Transfer Protocol (FTP) server, a database server, a content server, or the like. Web services 356 may provide the content over the network using any of a variety of formats, including, but not limited to WAP, HDML, WML, SGML, HTML, XML, compact HTML (cHTML), extensible (xHTML), or the like.
  • In one embodiment, web services 356 may provide an interface for accessing and manipulating data in a data store, such as data stores 354, or the like. In another embodiment, web services 356 may provide for interacting with resource recommender 357 that may enable a user to access and/or otherwise manage resource reservations, and/or other IT management related actions.
  • In at least one of the various embodiments, resource recommender 357 may enable users to generate financial resource recommendation models, establish what-if scenarios, display graphic plots for reserving resources, determine underused, including unused, resources, or the like. Resource recommender 357 may be configured in one embodiment, to employ a process such as described below in conjunction with FIG. 4 to perforin at least some of its actions. Further resource recommender 357 may provide various user interfaces including those discussed below in conjunction with FIGS. 5-6.
  • Generalized Operation
  • The operation of certain aspects of the invention will now be described with respect to FIGS. 4-6. The operations of the processes described below may, in one embodiment, be performed within BFS 107 of FIG. 1, and/or displayed at one or more screens within one or more client devices 101-104 of FIG. 1.
  • FIG. 4 illustrates a logical flow diagram showing one embodiment of a process 400 usable to manage and display recommendations for reserving IT resources, such as cloud IT resources, in-house resources, on-demand resources, reserved resourced, and the like.
  • In one embodiment, a user may select to initially arrange for usage of various IT resources directly through one or more cloud service providers. During this initial stage, the user might contract for initial use of various resources, reserve the resources based on various terms of use, including agreements over a six month, one year, two year, three year, or other time period. Moreover, it should be understood, that the user may select to manage IT resources from a plurality of different cloud service providers, manage in-house (or on-demand) resources, and/or manage IT resources obtained from other than cloud service providers and/or other reservation type service providers.
  • While such actions may be performed prior to beginning process 400, in other embodiments, initial contracting for services might be performed within process 400, such as at step 402. Thus, process 400 begins, after a start block, at block 402, where the user may negotiate initial IT resource (instance) purchases, reservations, contracts, and the like. In one embodiment, block 402 might be performed using interfaces provided by BFS 107; however, as noted above, block 402 might be performed independent of use of BFS 107, as suggested by dashed block 402.
  • In any event, proceeding to block 404, the user may establish an account for reservation management services through BFS 107, and provide information about resources (instances) to be managed, including, cloud services, in-house services, and the like. In one embodiment, resource information might be input automatically through a request by BFS 107 to a cloud service provider, on behalf of the user. In other embodiments, an interface might be established with a user's computing device to enable access to various data about the resources. In still another embodiment, the user might directly input data about resources to be tracked and managed by BFS 107.
  • Initially, the user may be provided with an interface illustrating a list of resources that are to be managed by BFS 107, where the list might provide an ability for the user to view details about a configuration of the resource, a location of the resource, a service level agreement for the resource, uptime/downtime information about the resource, and a variety of other information about the resource.
  • Proceeding to block 406, resources identified within BFS 107 are then tracked for usage by the user and/or the user's business. In one embodiment, the usage data might be directly sent by the in-house (or on-demand), cloud services (or reservation services), or the like, using any of a variety of mechanisms. For example, an agreement might be established that the tracked resources automatically provide usage data to BFS 107 based on regular schedules, based on queries by BFS 107, and/or a combination of events, conditions, or the like. Such usage data may include any changes in a configuration of a resource, as well as loads on the resource, up/down times of the resources, a cost of the resource, and any of a variety of other related information.
  • At least some of the tracked data may be used to make predictions on future usage of a resource, determine when to move an in-house resource usage to a cloud resource (or the reverse), determine when to purchase additional resources, release a resource, re-allocate a resource usage, or the like. In some embodiments, tracked data for a defined prior period of time may be used to make recommendations. For example, a three month prior period of time might be used to determine recommendations. However, in other embodiments, tracked data may be used based on various models, including, error covariance models, learning models, or the like, where historical data may be consolidated into various parameters of the model over virtually any time period.
  • At any time that the user wishes to perforin recommendations analysis, process 400 moves to block 408. This may occur, for example, when the user selects an interface into resource recommender 357 of network device 300 of FIG. 3.
  • Processing then flows to block 410, where recommendations are dynamically displayed to the user. One such non-limiting, non-exhaustive interface is discussed in more detail below in conjunction with FIG. 5. Briefly, however, the user may be provided with various strategy interfaces.
  • At decision block 412, the user might select to modify various user input parameters or assumptions useable to determine resource recommendations. For example, the user might be able to vary a time frame in which the resources are to be committed to by the user, vary an upfront cost parameter, and/or vary a number of recommended resources to be reserved, or the like. The user may further update various resources to be considered, their configurations, contracts, or the like.
  • If the user selects to modify any assumptions, input parameters, or the like, processing flows to block 414, where, based on the tracked data, and the user input assumptions, the changes may be used to perform an updated analysis. Then, flowing to block 410, the results are dynamically displayed to the user to indicate changes in the recommendations for reserving resources. As the user varies input parameters, the user may automatically and dynamically view how the changes affect the resulting recommendations (by cycling through blocks 410, 412, and 414). Thus, at least in part, the user may dynamically perform a variety of ‘what-if’ analysis to determine an optimum resource recommendation given the constraints provided by the user, the resource providers, and/or the tracked data.
  • When the user selects to accept the recommendations (at decision block 412, by no longer modifying inputs) processing flows to block 416. At block 416, the user may take one or more actions based on the recommendations. In one embodiment, this might include selecting a time period within the forecast display of FIG. 5. This action may then result in a display of actions to be taken. One non-limiting, non-exhaustive embodiment of such a display is described in more detail below in conjunction with FIG. 6. The user may then make purchases, release resources, renegotiate contracts for resources, reallocate resource usages, or the like. In one embodiment, such actions might be performed outside of process 400 (as indicated by the dashed block 416), or be performed through another interface provided by BFS 107.
  • Processing continues to decision block 418, where a determination is made whether to continue to manage tracking and recommending resource reservations, or to terminate the process. If the process is to continue, then the flow may return to block 406. However, in other embodiments, the flow might return to block 404, where additional changes to the resources might be performed by the user, including adding new resources, deleting one or more resources, or the like. Should it be determined that process 400 is to terminate, then flow may return to a calling process to perform other actions.
  • It will be understood that each component of the illustrations, and combinations of components in these illustrations, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flow component or components. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer-implemented process such that the instructions, which execute on the processor to provide steps for implementing the actions specified in the flow component or components. The computer program instructions may also cause at least some of the operational steps shown in the components of the flows to be performed in parallel. Moreover, some of the steps may also be performed across more than one processor, such as might arise in a multi-processor computer system. In addition, one or more components or combinations of components in the flow illustrations may also be performed concurrently with other components or combinations of components, or even in a different sequence than illustrated.
  • Accordingly, components of the flow illustrations support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each component of the flow illustrations, and combinations of components in the flow illustrations, can be implemented by special purpose hardware based systems, which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
  • Non-Limiting, Non-Exhaustive Example User Interfaces
  • The following provides examples of user interfaces usable in conjunction with process 400 of FIG. 4 to enable a user to manage resource recommendations. It should be noted that other interfaces may also be provided. Moreover, it should be noted that the interfaces illustrated in FIGS. 5-6 discussed below may include more or less components that shown. In addition, not all the components may be required to practice various embodiments, and variations in the arrangement and type of the components may be made.
  • As shown, however, FIGS. 5-6 illustrate non-limiting, non-exhaustive examples of interfaces for managing and displaying IT resource reservations. As shown in FIG. 5, for example, is a display 500 that provides one portion 502 usable for the user to modify various assumptions, and/or parameters used to determine resource reservations.
  • For example, the user might be able to modify what time frame for which the user might wish to commit to for reserving resources, as shown in portion 502, labeled 1. The displayed time frame might be specific to a given cloud service provider. Thus, while illustrated in FIG. 5 to provide up to three years, other time frames might be provided instead. Briefly, this time frame allows the user to determine the time period over which they wish to make purchases, allowing the user to select immediate purchases, all at once, or to make purchases over the course of the contract. Also illustrated, labeled 2, the user might provide an input indicating how much the user wishes to pay upfront, or at a beginning of a contract period. In one embodiment, the user might be able to input a specific value, or a generic parameter, such as low/medium/high, or the like. Input, labeled 3 in FIG. 5, allows the user to modify resource recommendations from an initial computed recommendation, to some value less than the recommended amount of resources. As illustrated, the recommended value is 15 resources, for which the user might select the recommended value or some value less.
  • As shown in the lower portion 503, of display 500 provides an immediate and dynamically changing resource recommendation chart over time. Portion 503 may dynamically change based on changes in inputs, assumptions, or the like, by the user. Thus, should the user change any of the input assumptions in portion 502, they may immediately (or as quickly as reasonable given network connections, or the like) view the impact to the recommendations.
  • As shown in portion 503, are lines 510, 512, 514, and 516. Line 510 is directed towards illustrating over time a costing forecast based on no reserved instances. Line 512 is directed towards illustrating over time a costing forecast that is based on the recommended number of instances. Line 514 illustrates a costing flow over time should the user select to take no actions, including purchases, re-allocations, or the like, while line 516 illustrates costing flow over time should the user follow the recommendations for reserving and/or otherwise managing resources provided by process 400 of FIG. 4. As illustrated in the lower portion 502, the user may quickly see a cost difference between the actions the user may take or not take. By varying assumptions, and/or other inputs, including taking none, some, or all of the recommendations, the lower portion 503 can dynamically update and reflect changes to the recommendations.
  • As discussed above, the recommendations are in part based on historical usage data, service level agreements, contracts, resource configurations, and the like. Thus, when the user selects to turn on/off a resource, use a resource for some time, allow the resource to sit idle or off, and perform a variety of other actions, such factors are considered in determining the changes to the recommendations.
  • In one embodiment, the historical data used might be constrained to using a particular time window of prior time. For example, in some embodiments, the time window of prior time might be between one to four months. However, other time periods might be used. In some determinations of recommendations, it might be determined that a prior usage reflects a predicted future usage over a remaining portion of the contract for a resource. Thus, in one embodiment, if it is determined that historical usage of the resource is at 80% over the prior time period, then it might be assumed that the future usage will also be at 80% for the remaining time period on the contract. However, other models might be used, including, but not limited to using a mode, median, or other statistical parameter from the prior time period, to predict future usage.
  • Further, in some embodiments, a comparison might be made between a predicted usage and an actual usage of a resource. The comparison might then be used to generate various errors covariance values, or the like, usable to improve future estimates for recommendations. For example, various machine learning models, or the like, might be used that take into account trends in usage, peak usages, or the like.
  • Moreover, various recommendation models take into account fixed fees and variable fees for a resource, to improve recommendations. Recommendations may be provided for a given cloud service provider's resources, or be determined across a plurality of cloud service providers. For example, recommendations may be provided on how to manage resources for a given cloud service provider, independent of resources of other providers. However, in other embodiments, recommendations may be provided to the user across a plurality of sources of resources, including recommendations that take into account costing differences between providers, and outsourced resources and in-house resources, as well as to assist in deciding when an actual trade-off between paying as one goes and reservations might occur. In this manner, the user may have an improved visibility of total costs for IT resource reservations. In some embodiments, the user might conduct what-if analysis for comparing using in-house resources versus outsourcing, by inputting different assumptions in portion 502 of FIG. 5, in addition to those illustrated.
  • In one embodiment, the user may further select a time within lower portion 503 in which to expand display of the recommendations. As illustrated in FIG. 5, a selector bar 520 might be provided to enable the user to select a time period to expand upon. However, other mechanisms might be provided, including a button input sequence or combination, an icon selection, a window for inputting a time period, or the like.
  • In any event, selection of a time period to expand recommendation display may result in a display interface, such as illustrated in FIG. 6. FIG. 6 is one non-limiting, non-exhaustive example, of a user interface 600 usable for providing a purchase listing for a selected time period. As shown, interface 600 may include purchase list 602 and non-usage list 604.
  • Purchase list 602 provides a recommendation listing of resources that the user might select to purchase or otherwise reserve for the given time period based on recommendations provided through FIG. 5. Also illustrated, in non-usage list 604 that provides to the user a listing, when such condition exists, of resources that are determined to be unused, or otherwise used at a level below some threshold value. The user may then select to release these resources, or otherwise reallocate usage to these resources. The non-usage list 604 is generated in part based on purchase list 602. Thus, reallocation of a non-used or underutilized resource is not expected to immediately change the purchase list contents. However, the list and the recommendations may change over time for future recommendations. In any event, the user is provided with numerous integrated and dynamic recommendations, and interfaces for managing their IT resources, and thereby enabling the user to improve usage of their IT budgets.
  • For example, using the above subject innovations, the user will be able to determine when to employ on-demand resources versus reserved resources, or on-demand resources versus an in-house service that might, for example, have been purchases (with upfront fees) and incurs on-going fees from such as maintenance, power, network, physical space over time, or the like.
  • As an additional example, FIG. 7 illustrates one non-limiting, non-exhaustive example of data analysis useable to calculate reserved resources for a single resource type. In a complete analysis as performed in block 408 of FIG. 4 many resources types would be analyzed in parallel and summarized for use as in FIG. 5 and FIG. 6. It should be understood that, as discussed above, other approaches may be used, as well as other algorithms. Thus, the following example is not to be construed as limiting or otherwise constraining the subject innovations discussed herein.
  • In some embodiments, the approach discussed in conjunction with FIG. 7 may be performed within at least block 408 of FIG. 4. However, prior to performing calculations, tracking and collecting historical usage data over some time period is performed, such as is described above at block 406 of FIG. 4. Then, a 4 phase calculation would take place to determine the optimal recommendation. In phase 1, a calculation is performed for on-demand, or cloud usage per unit of time. Referring briefly to FIG. 7, chart 700-1 represents one embodiment for displaying of tracked usage data over time. The unit of time may be defined as virtually any time unit, including hours, other portions of a day, days, weeks, or so forth. The units of resources used may represent discrete resources, or bundled resources. Each unit of time is treated as a bucket and 1 unit is added to the bucket for any resource used during the time period. The result seen in chart 700-1 is a histogram of units used in each time. Once data has been collected for a given previous period of time, the results are used to predict future resource usage. In some embodiments, the data is used to project future resource usage in a time period by assuming it is identical to that of the previous time period data has been collected for. However, as discussed above, other prediction algorithms may be used, including those that take into consideration trends in resource usage, identifying temporary peak usages, or the like.
  • In chart 700-2, each bucket from chart 700-1 is then sorted from the largest bucket to smallest by unit of time (e.g. hour). Chart 700-2 illustrates one possible display showing rank sorted units for each time period.
  • In phase two, a calculation is performed to determine a “trade-off percentage” of a given reservation period. This represents the percentage of a time in a period when it costs less to purchase a reservation when cost is amortized over the entire period rather than when using on-demand resources. While a variety of equations may be employed, one such example equation might be:

  • Trade-off percentage=[U+(RR*TL)]/(ODR*TL)
  • where U represents an upfront cost; RR represents a reserved rate; TL represents a time of reservation; and ODR represents an on-demand rate. Once we have the trade-off percentage, it can be used to calculate a specific number of hours a resource is to be allocated in a time period before it costs less to purchase a reservation when the cost is amortized over the same period. This can be calculated, in one embodiment, using the following equation:

  • Trade-off Hours=Trade-off percentage*TL
  • In phase 3, using the results from phases 1 and 2, optimal resources to purchase for a given time may be determined. Chart 700-3 illustrates one embodiment of a display showing a result for determining a trade-off point (e.g., trade-off hour). Once the time bucket is selected using the calculated trade-off hour, that bucket's unit value is then definable, in one embodiment, as the optimal number of resources of the type in question to purchase in the next time period. This is because the number of resources in that bucket represents the number of resources where it is more cost effective to purchase reserved resources over using on-demand resources.
  • Chart 700-4 shows how once the optimal number of resource reservations has been selected one could allocate resources over a time period. The number of reserved resources would cover all resources during normal operation while on-demand resources would handle resources above the optimal number of resource reservations.
  • By using phases 1-4 on every type of resource a list of optimal reservation purchases can be obtained and summarized. FIG. 5 and FIG. 6 display how one may visualize the spread of these purchases across a time period. Purchasing resources over time then may reduce the upfront costs associated with purchasing a large number of reservations at once. This also may lower the risk of purchasing many long term reservations by temporarily using on-demand resources for a time even if it's cost-optimal to buy reserved resources. One algorithm to achieve this would be evenly spreading the number of reservations purchased over an entire time period. Others may also be used, as discussed above. In FIG. 5 the recommended costs line is the sum of on-demand rates, upfront-fees and reserved rates for all current resources given recommended purchases and the time the purchase has been recommended in.
  • The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims (20)

1. A method operating on a network device to perform actions, comprising:
identifying a plurality of resources each of which are configured to be reserved for use over time, and having at least a variable rate fee over time;
tracking usage of each of the plurality of resources over time;
determining a trade-off percentage of a reservation period for each of the plurality of resources based on the tracked usage, wherein the trade-off percentage represents a time in the reservation period when a cost of purchasing reserved resources is less than using on-demand resources when amortized over the reservation period;
dynamically computing, by one or more hardware processors, based on the determined trade-off percentage and the tracked usage for each of the plurality of resources and the variable rate fee over time, a recommendation for reserving usage over a given time period for each of the plurality of resources; and
dynamically displaying a recommended reservation plan for the given time period for each of the plurality of resources.
2. The method of claim 1, wherein dynamically computing the recommendation further comprises if a user selects at least one action regarding at least one resource, changing the recommendation based on at least one of historical usage data, a service level agreement, a contract, or a configuration of the at least one resource.
3. The method of claim 1, wherein the variable rate fee over time for a resource includes at least a fixed rate fee, based on a contract purchase period, and wherein the variable rate fee is based in part on an actual usage of the resource.
4. The method of claim 1, wherein dynamically computing the recommendation further comprises:
receiving at least one input assumption change about at least one resource;
dynamically modifying recommendation for reserving the plurality of resources based in part on the input assumption change; and
dynamically displaying a graphical image of resource forecasts for the plurality of resources, the resource forecasts including at least a first graph over time of costs until action is taken for reserving a resource, and a second graph over time of costs if the modified recommendation is followed for reserving the plurality of resources.
5. The method of claim 1, wherein dynamically displaying the recommended reservation plan further comprises displaying for a selected time period, a reservation or a purchase list for the selected time period, and when at least one resource is determined to be used at a level below a threshold, further displaying a listing that includes the at least one resource that is used below the threshold.
6. A system, comprising:
a plurality of information technology (IT) resources each of which are configured to be reserved for use over time and having at least a variable rate fee over time; and
a processor that performs actions, including:
tracking usage of each of the plurality of information technology resources over time;
determining a trade-off percentage of a reservation period for each of the plurality of information technology resources based on the tracked usage, wherein the trade-off percentage represents a time in the reservation period when a cost of purchasing reserved resources is less than using on-demand resources when amortized over the reservation period;
dynamically computing, based on the determined trade-off percentage and the tracked usage for each of the plurality of information technology resources and the variable rate fee over time, a recommendation for reserving usage over a given time period for each of the plurality of information technology resources; and
dynamically displaying a recommended reservation plan for the given time period for each of the plurality of information technology resources.
7. The system of claim 6, wherein dynamically computing the recommendation further comprises if a user selects at least one action regarding at least one information technology resource, changing the recommendation based on at least one of historical usage data, a service level agreement, a contract, or a configuration of the at least one information technology resource.
8. The system of claim 6, wherein the variable rate fee over time for an information technology resource includes at least a fixed rate fee, based on a contract purchase period, and wherein the variable rate fee is based in part on an actual usage of the information technology resource.
9. The system of claim 6, wherein dynamically computing the recommendation further comprises:
receiving at least one input assumption change about at least one information technology resource;
dynamically modifying the recommendation for reserving the plurality of information technology resources based in part on the input assumption change; and
dynamically displaying a graphical image of resource forecasts for the plurality of information technology resources, the resource forecasts including at least a first graph over time of costs until action is taken for reserving an information technology resource, and a second graph over time of costs if the modified recommendation is followed for reserving the plurality of information technology resources.
10. The system of claim 6, wherein dynamically displaying the recommended reservation plan further comprises displaying for a selected time period, a reservation or a purchase list for the selected time period, and when at least one information technology resource is determined to be used at a level below a threshold, further displaying a listing that includes the at least one information technology resource that is used below the threshold.
11. A network device, comprising:
a memory that is operative to store at least instructions; and
a processor device that is operative to execute instructions that enable actions, including:
identifying a plurality of resources each of which are configured to be reserved for use over time, and having at least a variable rate fee over time;
tracking usage of each of the plurality of resources over time;
determining a trade-off percentage of a reservation period for each of the plurality of resources based on the tracked usage, wherein the trade-off percentage represents a time in the reservation period when a cost of purchasing reserved resources is less than using on-demand resources when amortized over the reservation period;
dynamically computing based on the determined trade-off percentage and the tracked usage for each of the plurality of resources and the variable rate fee over time, a recommendation for reserving usage over a given time period for each of the plurality of resources; and
dynamically displaying a recommended reservation plan for the given time period for each of the plurality of resources.
12. The network device of claim 11, wherein at least one resource of the plurality of resources is an outsourced resource and at least one other resource of the plurality of resources is an in-house resource, and dynamically displaying the recommended reservation plan further comprises providing at least one other recommendation about moving at least one in-house resource use to an outsourced resource use, or at least one outsourced resource use to an in-house resource use.
13. The network device of claim 11, wherein the variable rate fee over time for a resource includes at least a fixed rate fee, based on a contract purchase period, and wherein the variable rate fee is based in part on an actual usage of the resource.
14. The network device of claim 11, wherein dynamically computing the recommendation further comprises:
receiving at least one input assumption change about at least one resource;
dynamically modifying the recommendation for reserving the plurality of resources based in part on the input assumption change; and
dynamically displaying a graphical image of resource forecasts for the plurality of resources, the resource forecasts including at least a first graph over time of costs until action is taken for reserving a resource, and a second graph over time of costs if the modified recommendation is followed for reserving the plurality of resources.
15. The network device of claim 11, wherein dynamically displaying the recommended reservation plan further comprises displaying for a selected time period, a reservation or a purchase list for the selected time period, and when at least one resource is determined to be used at a level below a threshold, further displaying a listing that includes the at least one resource that is used below the threshold.
16. A processor readable non-transitive storage media that includes instructions stored thereon, wherein execution of the instructions by a processor device enables actions, comprising:
identifying a plurality of resources each of which are configured to be reserved for use over time, and having at least an effective rate fee that includes a variable rate fee component and a fixed rate fee over time;
tracking usage of each of the plurality of resources over time;
determining a trade-off percentage of a reservation period for each of the plurality of resources based on the tracked usage, wherein the trade-off percentage represents a time in the reservation period when a cost of purchasing reserved resources is less than using on-demand resources when amortized over the reservation period;
dynamically computing based on the determined trade-off percentage and the tracked usage for each of the plurality of resources and the effective rate fee over time, a recommendation for reserving usage over a given time period for each of the plurality of resources; and
dynamically displaying a recommended reservation plan for the given time period for each of the plurality of resources.
17. The media of claim 16, wherein dynamically computing the recommendation further comprises:
receiving at least one input assumption change about at least one resource;
dynamically modifying the recommendation for reserving the plurality of resources based in part on the input assumption change; and
dynamically displaying a graphical image of resource forecasts for the plurality of resources, the resource forecasts including at least a first graph over time of costs until action is taken for reserving a resource, and a second graph over time of costs if the modified recommendation is followed for reserving the plurality of resources.
18. The media of claim 16, wherein dynamically displaying the recommended reservation plan further comprises displaying for a selected time period, a reservation or a purchase list for the selected time period, and when at least one resource is determined to be used at a level below a threshold, further displaying a listing that includes the at least one resource that is used below the threshold.
19. The media of claim 16, wherein at least one resource is an on-demand resource and at least one other resource is an reserved resource, and dynamically displaying the recommended reservation plan further comprises providing at least one other recommendation about moving at least one reserved resource use to an on-demand resource use, or at least one on-demand resource use to an reserved resource use.
20. The media of claim 16, wherein dynamically computing the recommendation further comprises if a user selects at least one action regarding at least one resource, changing the recommendation based on at least one of historical usage data, a service level agreement, a contract, or a configuration of the at least one resource.
US13/675,837 2012-11-13 2012-11-13 Dynamic recommendations taken over time for reservations of information technology resources Abandoned US20140136295A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/675,837 US20140136295A1 (en) 2012-11-13 2012-11-13 Dynamic recommendations taken over time for reservations of information technology resources
US13/917,503 US10937036B2 (en) 2012-11-13 2013-06-13 Dynamic recommendations taken over time for reservations of information technology resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/675,837 US20140136295A1 (en) 2012-11-13 2012-11-13 Dynamic recommendations taken over time for reservations of information technology resources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/917,503 Continuation US10937036B2 (en) 2012-11-13 2013-06-13 Dynamic recommendations taken over time for reservations of information technology resources

Publications (1)

Publication Number Publication Date
US20140136295A1 true US20140136295A1 (en) 2014-05-15

Family

ID=50682600

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/675,837 Abandoned US20140136295A1 (en) 2012-11-13 2012-11-13 Dynamic recommendations taken over time for reservations of information technology resources
US13/917,503 Active US10937036B2 (en) 2012-11-13 2013-06-13 Dynamic recommendations taken over time for reservations of information technology resources

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/917,503 Active US10937036B2 (en) 2012-11-13 2013-06-13 Dynamic recommendations taken over time for reservations of information technology resources

Country Status (1)

Country Link
US (2) US20140136295A1 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140278807A1 (en) * 2013-03-15 2014-09-18 Cloudamize, Inc. Cloud service optimization for cost, performance and configuration
US20140379924A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Dynamic allocation of resources while considering resource reservations
US20150066600A1 (en) * 2013-09-03 2015-03-05 Connectloud, Inc. Method and apparatus for dynamic forecasting of tenant software defined cloud process
US20150066601A1 (en) * 2013-09-03 2015-03-05 Connectloud, Inc. Method and apparatus for generating enterprise maximization solutions based on software defined cloud usage analytics
US20150355927A1 (en) * 2014-06-04 2015-12-10 Yahoo! Inc. Automatic virtual machine resizing to optimize resource availability
US20160078382A1 (en) * 2014-09-16 2016-03-17 John Hanmer Watkins Evaluating Communications Feature Utilization
US20170081796A1 (en) * 2015-09-17 2017-03-23 Laundry 2.0, LLC Communication and Control System for Laundry Machines
US9667515B1 (en) 2011-09-29 2017-05-30 Amazon Technologies, Inc. Service image notifications
CN108170406A (en) * 2017-12-29 2018-06-15 中国银行股份有限公司 A kind of analysis method and device of required by task stock number
US10157356B2 (en) 2016-12-14 2018-12-18 Apptio, Inc. Activity based resource allocation modeling
US10268979B2 (en) 2015-09-28 2019-04-23 Apptio, Inc. Intermediate resource allocation tracking in data models
US10268980B1 (en) 2017-12-29 2019-04-23 Apptio, Inc. Report generation based on user responsibility
US20190140926A1 (en) * 2017-11-03 2019-05-09 International Business Machines Corporation System and method for detecting changes in cloud service up-time
US10325232B2 (en) 2013-09-20 2019-06-18 Apptio, Inc. Allocating heritage information in data models
US10324951B1 (en) 2017-12-29 2019-06-18 Apptio, Inc. Tracking and viewing model changes based on time
US10387815B2 (en) 2015-09-29 2019-08-20 Apptio, Inc. Continuously variable resolution of resource allocation
US10410155B2 (en) 2015-05-01 2019-09-10 Microsoft Technology Licensing, Llc Automatic demand-driven resource scaling for relational database-as-a-service
US10417591B2 (en) 2013-07-03 2019-09-17 Apptio, Inc. Recursive processing of object allocation rules
US10474974B2 (en) * 2016-09-08 2019-11-12 Apptio, Inc. Reciprocal models for resource allocation
US10482407B2 (en) 2016-11-14 2019-11-19 Apptio, Inc. Identifying resource allocation discrepancies
US10489215B1 (en) * 2016-11-02 2019-11-26 Nutanix, Inc. Long-range distributed resource planning using workload modeling in hyperconverged computing clusters
US10726367B2 (en) 2015-12-28 2020-07-28 Apptio, Inc. Resource allocation forecasting
US10936978B2 (en) 2016-09-20 2021-03-02 Apptio, Inc. Models for visualizing resource allocation
US10937036B2 (en) 2012-11-13 2021-03-02 Apptio, Inc. Dynamic recommendations taken over time for reservations of information technology resources
US11126463B2 (en) * 2017-08-09 2021-09-21 Samsung Electronics Co., Ltd. System for providing function as a service (FaaS), and operating method of system
US11151493B2 (en) 2015-06-30 2021-10-19 Apptio, Inc. Infrastructure benchmarking based on dynamic cost modeling
US11222273B2 (en) * 2018-10-25 2022-01-11 Advanced New Technologies Co., Ltd. Service recommendation method, apparatus, and device
US11244364B2 (en) 2014-02-13 2022-02-08 Apptio, Inc. Unified modeling of technology towers
US11416296B2 (en) 2019-11-26 2022-08-16 International Business Machines Corporation Selecting an optimal combination of cloud resources within budget constraints
US20220284359A1 (en) * 2019-06-20 2022-09-08 Stripe, Inc. Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
US20220337529A1 (en) * 2018-06-29 2022-10-20 Vmware, Inc. System and Method for Maximizing Resource Credits Across Shared Infrastructure
US20230168929A1 (en) * 2021-11-30 2023-06-01 Rakuten Mobile, Inc. Resource optimization for reclamation of resources
US11775552B2 (en) 2017-12-29 2023-10-03 Apptio, Inc. Binding annotations to data objects
US20230318918A1 (en) * 2022-03-31 2023-10-05 Lenovo (United States) Inc. Unused device repurposing system

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507642B2 (en) * 2012-12-04 2016-11-29 Xerox Corporation Method and systems for sub-allocating computational resources
US10223160B2 (en) * 2015-08-31 2019-03-05 Ayla Networks, Inc. Compact schedules for resource-constrained devices
US10445209B2 (en) * 2017-09-08 2019-10-15 Accenture Global Solutions Limited Prescriptive analytics based activation timetable stack for cloud computing resource scheduling
EP3495952A1 (en) * 2017-12-11 2019-06-12 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
US10922141B2 (en) 2017-12-11 2021-02-16 Accenture Global Solutions Limited Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling
US10719344B2 (en) 2018-01-03 2020-07-21 Acceture Global Solutions Limited Prescriptive analytics based compute sizing correction stack for cloud computing resource scheduling
CN110020944A (en) * 2018-10-25 2019-07-16 阿里巴巴集团控股有限公司 Calculation and object method, apparatus, electronic equipment and computer readable storage medium
US20200143293A1 (en) * 2018-11-01 2020-05-07 Microsoft Technology Licensing, Llc Machine Learning Based Capacity Management Automated System
US10459757B1 (en) 2019-05-13 2019-10-29 Accenture Global Solutions Limited Prescriptive cloud computing resource sizing based on multi-stream data sources

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799286A (en) * 1995-06-07 1998-08-25 Electronic Data Systems Corporation Automated activity-based management system
US6578005B1 (en) * 1996-11-22 2003-06-10 British Telecommunications Public Limited Company Method and apparatus for resource allocation when schedule changes are incorporated in real time
US20040111509A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm
US20060167703A1 (en) * 2003-04-16 2006-07-27 Yaron Yakov Dynamic resource allocation platform and method for time related resources
US20060212334A1 (en) * 2005-03-16 2006-09-21 Jackson David B On-demand compute environment
US7308427B1 (en) * 2000-06-29 2007-12-11 Ncr Corp. Amortization for financial processing in a relational database management system
US20080033774A1 (en) * 2001-12-04 2008-02-07 Kimbrel Tracy J Dynamic Resource Allocation Using Projected Future Benefits
US20080295096A1 (en) * 2007-05-21 2008-11-27 International Business Machines Corporation DYNAMIC PLACEMENT OF VIRTUAL MACHINES FOR MANAGING VIOLATIONS OF SERVICE LEVEL AGREEMENTS (SLAs)
US20090300173A1 (en) * 2008-02-29 2009-12-03 Alexander Bakman Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network
US20100005173A1 (en) * 2008-07-03 2010-01-07 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation
US20100125473A1 (en) * 2008-11-19 2010-05-20 Accenture Global Services Gmbh Cloud computing assessment tool
US20100169477A1 (en) * 2008-12-31 2010-07-01 Sap Ag Systems and methods for dynamically provisioning cloud computing resources
US20100250642A1 (en) * 2009-03-31 2010-09-30 International Business Machines Corporation Adaptive Computing Using Probabilistic Measurements
US20100306382A1 (en) * 2009-06-01 2010-12-02 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US20100332262A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Cloud computing resource broker
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US20110022861A1 (en) * 2009-07-21 2011-01-27 Oracle International Corporation Reducing power consumption in data centers having nodes for hosting virtual machines
US20110225277A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US8024241B2 (en) * 2007-07-13 2011-09-20 Sas Institute Inc. Computer-implemented systems and methods for cost flow analysis
US20120066020A1 (en) * 2010-08-27 2012-03-15 Nec Laboratories America, Inc. Multi-tenant database management for sla profit maximization
US8175863B1 (en) * 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US20120131591A1 (en) * 2010-08-24 2012-05-24 Jay Moorthi Method and apparatus for clearing cloud compute demand
US8260959B2 (en) * 2002-01-31 2012-09-04 British Telecommunications Public Limited Company Network service selection
US8484355B1 (en) * 2008-05-20 2013-07-09 Verizon Patent And Licensing Inc. System and method for customer provisioning in a utility computing platform
US20130179371A1 (en) * 2012-01-05 2013-07-11 Microsoft Corporation Scheduling computing jobs based on value
US20130346390A1 (en) * 2012-06-21 2013-12-26 Sap Ag Cost Monitoring and Cost-Driven Optimization of Complex Event Processing System

Family Cites Families (333)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4744026A (en) 1986-04-11 1988-05-10 American Telephone And Telegraph Company, At&T Bell Laboratories Methods and apparatus for efficient resource allocation
US5249120A (en) 1991-01-14 1993-09-28 The Charles Stark Draper Laboratory, Inc. Automated manufacturing costing system and method
US5721919A (en) 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
US6330545B1 (en) 1993-07-27 2001-12-11 Eastern Consulting Company, Ltd. Activity information accounting method and system
US5619211A (en) 1994-11-17 1997-04-08 Motorola, Inc. Position locating and communication system using multiple satellite constellations
US5615121A (en) 1995-01-31 1997-03-25 U S West Technologies, Inc. System and method for scheduling service providers to perform customer service requests
US5758327A (en) 1995-11-01 1998-05-26 Ben D. Gardner Electronic requisition and authorization process
US6014640A (en) 1995-12-07 2000-01-11 Bent; Kirke M. Accounting allocation method
US5903453A (en) 1996-01-19 1999-05-11 Texas Instruments Incorporated Method for estimating software operation and performance using a goal-question-metric paradigm
US5991741A (en) 1996-02-22 1999-11-23 Fox River Holdings, L.L.C. In$ite: a finance analysis model for education
US5845257A (en) 1996-02-29 1998-12-01 Starfish Software, Inc. System and methods for scheduling and tracking events across multiple time zones
US6208993B1 (en) 1996-07-26 2001-03-27 Ori Software Development Ltd. Method for organizing directories
US5802508A (en) 1996-08-21 1998-09-01 International Business Machines Corporation Reasoning with rules in a multiple inheritance semantic network with exceptions
US6253192B1 (en) 1996-08-30 2001-06-26 The Quantam Consultancy Group (Proprietary) Limited Method of personal financial planning
US5970476A (en) 1996-09-19 1999-10-19 Manufacturing Management Systems, Inc. Method and apparatus for industrial data acquisition and product costing
US6032123A (en) 1997-05-12 2000-02-29 Jameson; Joel Method and apparatus for allocating, costing, and pricing organizational resources
US7263527B1 (en) 1997-08-11 2007-08-28 International Business Machines Corporation Grouping selected transactions in account ledger
US6832212B1 (en) 1997-09-30 2004-12-14 Ncr Corporation Method and apparatus for manipulating billing and payment information within a browser interface system
US6047290A (en) 1998-02-20 2000-04-04 I2 Technologies, Inc. Computer implemented planning system and process providing mechanism for grouping and prioritizing consumer objects based on multiple criteria
US6965867B1 (en) 1998-04-29 2005-11-15 Joel Jameson Methods and apparatus for allocating, costing, and pricing organizational resources
US6308166B1 (en) 1998-08-20 2001-10-23 Sap Aktiengesellschaft Methodology for advanced quantity-oriented cost assignment using various information sources
US6336138B1 (en) 1998-08-25 2002-01-01 Hewlett-Packard Company Template-driven approach for generating models on network services
US6446077B2 (en) 1998-09-21 2002-09-03 Microsoft Corporation Inherited information propagator for objects
US6330552B1 (en) 1998-09-28 2001-12-11 Compaq Database query cost model optimizer
US6249769B1 (en) 1998-11-02 2001-06-19 International Business Machines Corporation Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US6611502B1 (en) 1999-01-15 2003-08-26 3Com Corportion Spanning tree with rapid propagation of topology changes
CA2368123A1 (en) 1999-04-09 2000-10-19 Berkeley*I E O R Process for determining object level profitability
US6789252B1 (en) 1999-04-15 2004-09-07 Miles D. Burke Building business objects and business software applications using dynamic object definitions of ingrediential objects
US6321207B1 (en) 1999-04-15 2001-11-20 I2 Technologies Us, Inc. System and method for optimizing the allocation of a resource
US7698160B2 (en) 1999-05-07 2010-04-13 Virtualagility, Inc System for performing collaborative tasks
US7149700B1 (en) 1999-05-21 2006-12-12 The Whittier Group Method of determining task costs for activity based costing models
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6629082B1 (en) 1999-06-15 2003-09-30 W.R. Hambrecht & Co. Auction system and method for pricing and allocation during capital formation
US7870051B1 (en) 1999-07-01 2011-01-11 Fmr Llc Selecting investments for a portfolio
US6424969B1 (en) 1999-07-20 2002-07-23 Inmentia, Inc. System and method for organizing data
US7162427B1 (en) 1999-08-20 2007-01-09 Electronic Data Systems Corporation Structure and method of modeling integrated business and information technology frameworks and architecture in support of a business
US6738736B1 (en) 1999-10-06 2004-05-18 Accenture Llp Method and estimator for providing capacacity modeling and planning
US20020082966A1 (en) 1999-11-16 2002-06-27 Dana Commercial Credit Corporation System and method for benchmarking asset characteristics
US6766325B1 (en) 1999-12-02 2004-07-20 Microsoft Corporation System and method for maintaining data for performing “what if” analysis
US8332740B2 (en) 2000-01-19 2012-12-11 Graham John D Systems and method for management of intangible assets
US7050997B1 (en) 2000-02-11 2006-05-23 Wood Jr John F Personal financial management system, method and program using a graphical object-oriented programming methodology
US7606753B2 (en) 2000-04-27 2009-10-20 Networth Services, Inc. Computer-implemented method and apparatus for adjusting the cost basis of a security
JP3262325B2 (en) 2000-05-15 2002-03-04 有限会社アトリ Agent system and method for supporting construction of electronic mail service system
US6594672B1 (en) 2000-06-01 2003-07-15 Hyperion Solutions Corporation Generating multidimensional output using meta-models and meta-outlines
AU2001269886A1 (en) 2000-06-15 2002-01-14 Xis Incorporated Method and system for product lifecycle management
US7321869B1 (en) 2000-06-29 2008-01-22 Ncr Corp. Allocated balances in a net interest revenue implementation for financial processing in a relational database management system
US7089206B2 (en) 2000-06-30 2006-08-08 Ubs Ag Trade allocation
EP1410281A2 (en) 2000-07-10 2004-04-21 BMC Software, Inc. System and method of enterprise systems and business impact management
US20020087441A1 (en) 2000-07-28 2002-07-04 Wagner Charles Arthur Method and apparatus for managing the allocating of financial transactions into ledger accounts
US7130822B1 (en) 2000-07-31 2006-10-31 Cognos Incorporated Budget planning
US7139844B2 (en) 2000-08-04 2006-11-21 Goldman Sachs & Co. Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US6877034B1 (en) 2000-08-31 2005-04-05 Benchmark Portal, Inc. Performance evaluation through benchmarking using an on-line questionnaire based system and method
WO2002019272A1 (en) 2000-09-01 2002-03-07 Togethersoft Corporation Methods and systems for animating a workflow and a project plan
US20020069102A1 (en) 2000-12-01 2002-06-06 Vellante David P. Method and system for assessing and quantifying the business value of an information techonology (IT) application or set of applications
FR2819416B1 (en) 2001-01-15 2004-12-17 Oreal TEHRMOGELIFYING FOAMING COMPOSITION AND FOAM OBTAINED
US20020145040A1 (en) 2001-01-23 2002-10-10 Grabski John R. System and method for measuring cost of an item
JPWO2002065363A1 (en) 2001-02-15 2004-06-17 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for handling cost allocation
US20020123945A1 (en) 2001-03-03 2002-09-05 Booth Jonathan M. Cost and performance system accessible on an electronic network
US20020129342A1 (en) * 2001-03-07 2002-09-12 David Kil Data mining apparatus and method with user interface based ground-truth tool and user algorithms
US7421408B2 (en) 2001-04-05 2008-09-02 Lee Ryder Personal or family financial accounting and management system
US6497169B1 (en) 2001-04-13 2002-12-24 Raytheon Company Method for automatic weapon allocation and scheduling against attacking threats
US7134093B2 (en) * 2001-04-18 2006-11-07 International Business Machines Corporation Graphical user interface for direct control of display of data
US20020194329A1 (en) 2001-05-02 2002-12-19 Shipley Company, L.L.C. Method and system for facilitating multi-enterprise benchmarking activities and performance analysis
JP4497508B2 (en) 2001-05-07 2010-07-07 第三インテリジェンス有限会社 Intelligent content distribution method and distribution system
JP2003036339A (en) 2001-05-14 2003-02-07 Yasutomi Kitahara Supporting device and supporting method for decision making on investment and program to implement that method on computer
US7555451B2 (en) 2001-05-17 2009-06-30 Microsoft Corporation Cash flow forecasting
US7191202B2 (en) 2001-05-25 2007-03-13 Sun Microsystems, Inc. Comparator unit for comparing values of floating point operands
US7877421B2 (en) 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US20040243438A1 (en) 2001-06-28 2004-12-02 Ilan Mintz Method and system for cost analysis and benchmarking in the healthcare industry
US7305491B2 (en) 2001-07-02 2007-12-04 Intellisync Corporation Techniques for handling time zone changes in personal information management software
US7509278B2 (en) 2001-07-16 2009-03-24 Jones W Richard Long-term investing
US8407125B2 (en) 2001-07-31 2013-03-26 Ameriprise Financial, Inc. System and method for providing financial planning and advice
US7966235B1 (en) 2001-10-01 2011-06-21 Lawson Software, Inc. Method and apparatus providing automated control of spending plans
GB2380278A (en) 2001-10-01 2003-04-02 Sun Microsystems Inc Generating documents
US7386478B2 (en) 2001-10-15 2008-06-10 Sun Microsystems, Inc. Dynamic criteria based line-grouping mechanism and method for purchase order generation
US7177850B2 (en) 2001-10-16 2007-02-13 Infineon Technologies Ag Method and apparatus for determining a portion of total costs of an entity
US20030083912A1 (en) 2001-10-25 2003-05-01 Covington Roy B. Optimal resource allocation business process and tools
US20030093310A1 (en) 2001-11-09 2003-05-15 Macrae David G. Business management process
US7970683B2 (en) 2001-12-13 2011-06-28 Thomson Reuters (Tax & Accounting) Inc. System and method for multi-state tax analysis
US20030195780A1 (en) 2001-12-13 2003-10-16 Liquid Engines, Inc. Computer-based optimization system for financial performance management
US20030172368A1 (en) 2001-12-26 2003-09-11 Elizabeth Alumbaugh System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology
US20030139986A1 (en) 2002-01-23 2003-07-24 Electronic Data Systems Spend analysis system and method
US7162198B2 (en) 2002-01-23 2007-01-09 Educational Testing Service Consolidated Online Assessment System
US7383240B2 (en) 2002-02-20 2008-06-03 I2 Technologies Us, Inc. Operationalizing a goal
US7216099B2 (en) 2002-03-05 2007-05-08 Ibbotson Associates Automatically allocating and rebalancing discretionary portfolios
US20050171918A1 (en) 2002-03-14 2005-08-04 Ronald Eden Method and system of cost variance analysis
US8200561B1 (en) 2002-03-29 2012-06-12 Financial Engines, Inc. Tax-aware asset allocation
US7454367B2 (en) 2002-03-29 2008-11-18 Siebel Systems, Inc. Dynamic pricing system and method
US20030208493A1 (en) 2002-04-12 2003-11-06 Hall Bradley S. Object relational database management system
US6839719B2 (en) 2002-05-14 2005-01-04 Time Industrial, Inc. Systems and methods for representing and editing multi-dimensional data
US7249118B2 (en) 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US20030236721A1 (en) 2002-05-21 2003-12-25 Plumer Edward S. Dynamic cost accounting
JP3862613B2 (en) 2002-06-05 2006-12-27 キヤノン株式会社 Image processing apparatus, image processing method, and computer program
JP4162541B2 (en) 2002-06-07 2008-10-08 株式会社日立製作所 Asset management support device and asset management support method
US7120601B2 (en) 2002-06-18 2006-10-10 Ibbotson Associates, Inc. Optimal asset allocation during retirement in the presence of fixed and variable immediate life annuities (payout annuities)
US20040003210A1 (en) 2002-06-27 2004-01-01 International Business Machines Corporation Method, system, and computer program product to generate test instruction streams while guaranteeing loop termination
US7577589B2 (en) 2002-09-25 2009-08-18 Combinenet, Inc. Method and apparatus for conducting a dynamic exchange
WO2004032013A1 (en) 2002-09-30 2004-04-15 Adaytum, Inc. Node-level modification during execution of an enterprise planning model
US7386535B1 (en) 2002-10-02 2008-06-10 Q.Know Technologies, Inc. Computer assisted and/or implemented method for group collarboration on projects incorporating electronic information
US7590937B2 (en) 2002-10-03 2009-09-15 Hewlett-Packard Development Company, L.P. Graphical user interface for procurement risk management system
US20040073477A1 (en) 2002-10-11 2004-04-15 Heyns Herman R. Shareholder value enhancement
US7610575B2 (en) 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US20040249737A1 (en) 2003-04-22 2004-12-09 Kirk Tofte Principled asset rotation
WO2004114095A2 (en) 2003-06-20 2004-12-29 Strategic Capital Network Llc Improved resource allocation technique
CN1926566A (en) 2003-06-29 2007-03-07 微型支付公司 Dynamic indicator for context sensitive real-time communications
US8572003B2 (en) 2003-07-18 2013-10-29 Sap Ag Standardized computer system total cost of ownership assessments and benchmarking
US20050033631A1 (en) 2003-08-06 2005-02-10 Sap Aktiengesellschaft Systems and methods for providing benchmark services to customers
US20050038788A1 (en) 2003-08-14 2005-02-17 International Business Machines Corporation Annotation security to prevent the divulgence of sensitive information
ATE354134T1 (en) 2003-08-28 2007-03-15 Accenture Global Services Gmbh COLLECTION, COMPILATION AND/OR VISUALIZATION OF STRUCTURAL FEATURES OF ARCHITECTURES
US20050060317A1 (en) 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US20050060298A1 (en) 2003-09-17 2005-03-17 International Business Machines Corporation Method and arrangement of user-modified variables in a presentation list
US7831615B2 (en) 2003-10-17 2010-11-09 Sas Institute Inc. Computer-implemented multidimensional database processing method and system
US20050091102A1 (en) 2003-10-24 2005-04-28 Theodora Retsina A method and system for manufacturing facility performance indicator benchmarking
US7454701B2 (en) 2003-10-30 2008-11-18 Sap Ag Systems and methods for implementing formulas
US7457817B2 (en) 2003-12-12 2008-11-25 Oracle International Corporation Versioning in an integration platform
US7720905B1 (en) 2003-12-23 2010-05-18 Vignette Software Llc Method and system for automated digital asset management on client-server computer network
US8423428B2 (en) 2004-03-08 2013-04-16 Sap Ag Method for allocation of budget to order periods and delivery periods in a purchase order system
US9009658B2 (en) 2004-03-15 2015-04-14 Ramco Systems Limited Component based software system
US8655697B2 (en) 2004-04-16 2014-02-18 Sap Aktiengesellschaft Allocation table generation from assortment planning
US7689477B2 (en) 2004-04-16 2010-03-30 Sap Aktiengesellschaft Apparatus and program product for generating an allocation table in a computerized procurement system
US7769654B1 (en) 2004-05-28 2010-08-03 Morgan Stanley Systems and methods for determining fair value prices for equity research
US20060010156A1 (en) 2004-07-09 2006-01-12 Microsoft Corporation Relational reporting system and methodology
AU2005265394A1 (en) 2004-07-09 2006-01-26 Ascent Technology, Inc. Scenario editors and scenario rules aggregators for resource-allocation systems
JP2006059211A (en) 2004-08-23 2006-03-02 Dee Corp Control method for counter auction, program and server
US20060059032A1 (en) 2004-09-01 2006-03-16 Wong Kevin N System, computer program product, and method for enterprise modeling, temporal activity-based costing and utilization
US7945489B2 (en) 2004-09-21 2011-05-17 Sap Ag Flexible cost and revenue allocation for service orders
US20060074980A1 (en) 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US7315844B2 (en) 2004-10-08 2008-01-01 International Business Machines Corporation System, method and program to estimate cost of a product and/or service
US7809763B2 (en) 2004-10-15 2010-10-05 Oracle International Corporation Method(s) for updating database object metadata
US7725343B2 (en) 2004-11-16 2010-05-25 Gtm Consulting, Llc Activity based cost modeling
US7958087B2 (en) 2004-11-17 2011-06-07 Iron Mountain Incorporated Systems and methods for cross-system digital asset tag propagation
US7505888B2 (en) 2004-11-30 2009-03-17 International Business Machines Corporation Reporting model generation within a multidimensional enterprise software system
US7418438B2 (en) 2004-11-30 2008-08-26 International Business Machines Corporation Automated default dimension selection within a multidimensional enterprise software system
US20060277074A1 (en) 2004-12-07 2006-12-07 Motorika, Inc. Rehabilitation methods
KR100581085B1 (en) 2004-12-13 2006-05-22 한국전자통신연구원 Apparatus and method for allocating resource in mf-tdma broadband satellite system
US7529714B2 (en) 2004-12-14 2009-05-05 International Business Machines Corporation Cost management of software application portfolio
US7792694B2 (en) 2004-12-16 2010-09-07 International Business Machines Corporation Method, system, and storage medium for assessing and implementing an organizational transformation
US20060143219A1 (en) 2004-12-29 2006-06-29 Smith Laurence T Business change lifecycle framework
US8117591B1 (en) 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
US20060161879A1 (en) 2005-01-18 2006-07-20 Microsoft Corporation Methods for managing standards
US7752077B2 (en) 2005-01-21 2010-07-06 Amazon Technologies, Inc. Method and system for automated comparison of items
US20060179012A1 (en) 2005-02-09 2006-08-10 Robert Jacobs Computer program for preparing contractor estimates
US8214353B2 (en) 2005-02-18 2012-07-03 International Business Machines Corporation Support for schema evolution in a multi-node peer-to-peer replication environment
US8037106B2 (en) 2005-03-02 2011-10-11 Computer Associates Think, Inc. Method and system for managing information technology data
US7917555B2 (en) 2005-03-03 2011-03-29 Microsoft Corporation Creating, storing and viewing process models
US20060224946A1 (en) 2005-03-31 2006-10-05 International Business Machines Corporation Spreadsheet programming
US8484334B2 (en) 2005-03-31 2013-07-09 Sap Aktiengesellschaft Allocating resources based on rules and events
US7496888B2 (en) 2005-04-07 2009-02-24 International Business Machines Corporation Solution builder wizard
US7827092B2 (en) 2005-04-13 2010-11-02 Interactive Brokers Llc System and method for trading financial instruments using multiple accounts
US20060259468A1 (en) 2005-05-10 2006-11-16 Michael Brooks Methods for electronic records management
US7801755B2 (en) 2005-05-11 2010-09-21 Oracle Inernational Corporation Management hierarchy for enterprise applications and methods and systems for generating reports using same
US9792351B2 (en) 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
KR100544514B1 (en) 2005-06-27 2006-01-24 엔에이치엔(주) Method and system for determining relation between search terms in the internet search system
US7792721B2 (en) 2005-06-28 2010-09-07 American Express Travel Related Services Company, Inc. System and method for approval and allocation of costs in electronic procurement
US20070038494A1 (en) 2005-08-15 2007-02-15 Cognetics Corporation Team management system and method
US7742961B2 (en) 2005-10-14 2010-06-22 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for managing services accounts through electronic budget adjustments based on defined rules
US7516041B2 (en) 2005-10-14 2009-04-07 Dash Navigation, Inc. System and method for identifying road features
WO2007048577A2 (en) 2005-10-24 2007-05-03 Accenture Global Services Gmbh Dynamic server consolidation and configuration
DE102005054848A1 (en) 2005-11-15 2007-05-24 Alexander Mekyska System costs accounting method for computing center, involves separating benefits in shares of benefit for services, adding benefits for services for system resources, and providing intermediate step for optimizing arithmetic operations
US7765224B2 (en) 2005-11-18 2010-07-27 Microsoft Corporation Using multi-dimensional expression (MDX) and relational methods for allocation
US8073724B2 (en) 2005-12-02 2011-12-06 Saudi Arabian Oil Company Systems program product, and methods for organization realignment
US20100185557A1 (en) 2005-12-16 2010-07-22 Strategic Capital Network, Llc Resource allocation techniques
US7805400B2 (en) 2006-01-31 2010-09-28 Microsoft Corporation Report generation using metadata
US20070185785A1 (en) 2006-02-09 2007-08-09 Carlson Michael P Location based creation of a catalog for a user
US20070198982A1 (en) 2006-02-21 2007-08-23 International Business Machines Corporation Dynamic resource allocation for disparate application performance requirements
US7676807B2 (en) 2006-02-28 2010-03-09 Sap Ag Method and system for cascaded processing a plurality of data objects
US20070204266A1 (en) 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US7634431B2 (en) 2006-03-08 2009-12-15 Sas Institute Inc. Systems and methods for costing reciprocal relationships
US9031826B2 (en) 2006-03-30 2015-05-12 International Business Machines Corporation Method and apparatus for simulating operation in a data processing system
US20070260532A1 (en) 2006-05-03 2007-11-08 Blake Iii Charles A A living budget program where the term living budget refers to a new interface and methodology for managing finances
US7966266B2 (en) 2006-05-05 2011-06-21 Sap Ag Methods and systems for cost estimation based on templates
US20070265896A1 (en) 2006-05-12 2007-11-15 The Boeing Company System for valuing multiple solutions in multiple value categories
EP1862956A1 (en) 2006-05-29 2007-12-05 Sap Ag Systems and methods for assignment generation in a value flow environment
US7831617B2 (en) 2006-07-25 2010-11-09 Microsoft Corporation Re-categorization of aggregate data as detail data and automated re-categorization based on data usage context
US7813948B2 (en) 2006-08-25 2010-10-12 Sas Institute Inc. Computer-implemented systems and methods for reducing cost flow models
US7865820B2 (en) 2006-08-29 2011-01-04 Sap Ag Generating a business document model
US8931055B2 (en) 2006-08-31 2015-01-06 Accenture Global Services Gmbh Enterprise entitlement framework
US20080082435A1 (en) 2006-09-12 2008-04-03 O'brien John Ratio index
US7987159B2 (en) 2006-09-15 2011-07-26 Microsoft Corporation Detecting and managing changes in business data integration solutions
US7912560B2 (en) 2006-09-29 2011-03-22 Rockwell Automation Technologies, Inc. Module and controller operation for industrial control systems
US20080120122A1 (en) 2006-11-20 2008-05-22 Jon Olenski Field site data gathering and reporting system and method
US10621203B2 (en) 2007-01-26 2020-04-14 Information Resources, Inc. Cross-category view of a dataset using an analytic platform
WO2008099736A1 (en) 2007-02-07 2008-08-21 Nec Corporation Portable terminal and its global-positioning result acquisition interval setting method
US7698190B2 (en) 2007-02-15 2010-04-13 Penkalski Thomas A Method of creating financial plans of action and budget for achieving lifestyle and financial objectives
US20080208667A1 (en) 2007-02-26 2008-08-28 Gregg Lymbery Method for multi-sourcing technology based services
US20080208647A1 (en) 2007-02-28 2008-08-28 Dale Hawley Information Technologies Operations Performance Benchmarking
US8788306B2 (en) 2007-03-05 2014-07-22 International Business Machines Corporation Updating a forecast model
US7995067B2 (en) 2007-03-29 2011-08-09 Mobileye Technologies Limited Cyclical image buffer
US7933861B2 (en) 2007-04-09 2011-04-26 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Process data warehouse
US20080255912A1 (en) 2007-04-12 2008-10-16 Electronic Data Systems Corporation Framework System and Method for Determining Deliverables Required to Implement a Technology-Enabled Business Change
US7899235B1 (en) 2007-05-18 2011-03-01 Bank Of America Corporation Image exchange send non-BOFD identification
WO2008147616A1 (en) 2007-05-25 2008-12-04 Zoot Enterprises, Inc. System and method for rapid development of software applications
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US7917549B2 (en) 2007-06-21 2011-03-29 Sap Ag Database interface generator
US20080319811A1 (en) 2007-06-21 2008-12-25 Audrey Lynn Casey System and method for modeling an asset-based business
JP5011006B2 (en) 2007-07-03 2012-08-29 株式会社日立製作所 Resource allocation method, resource allocation program, and resource allocation device
US10417586B2 (en) 2007-08-31 2019-09-17 Red Hat, Inc. Attaching ownership to data
US7921061B2 (en) 2007-09-05 2011-04-05 Oracle International Corporation System and method for simultaneous price optimization and asset allocation to maximize manufacturing profits
US8010584B1 (en) 2007-09-24 2011-08-30 The United States Of America, As Represented By The Secretary Of The Army Relational database method for technology program management
US20090100017A1 (en) 2007-10-12 2009-04-16 International Business Machines Corporation Method and System for Collecting, Normalizing, and Analyzing Spend Data
US20090100406A1 (en) 2007-10-16 2009-04-16 Microsoft Corporation Software factory specification and execution model
US9015692B1 (en) 2007-10-23 2015-04-21 Phunware, Inc. Method and system for customizing content on a server for rendering on a wireless device
US8301480B2 (en) 2007-11-01 2012-10-30 International Business Machines Corporation Automatically evolving processes in workflow automation
US8195621B2 (en) 2007-11-14 2012-06-05 Moshe Elisha Database schema management system
US8655714B2 (en) 2007-12-28 2014-02-18 International Business Machines Corporation Automatic time-zone sensitive scheduling
US7957994B2 (en) 2008-02-01 2011-06-07 International Business Machines Corporation Defining service funding for a service oriented architecture
EP2291739B1 (en) 2008-02-01 2020-01-15 Google LLC Situationally aware and self-configuring electronic data and communication device
US20090199192A1 (en) 2008-02-05 2009-08-06 Robert Laithwaite Resource scheduling apparatus and method
US7852711B1 (en) 2008-02-25 2010-12-14 Pillar, LLC Portable device using location determination and MEMS timekeeping to update and keep time
US8200518B2 (en) 2008-02-25 2012-06-12 Sas Institute Inc. Computer-implemented systems and methods for partial contribution computation in ABC/M models
US20090222742A1 (en) 2008-03-03 2009-09-03 Cisco Technology, Inc. Context sensitive collaboration environment
US8935701B2 (en) 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
US8209218B1 (en) 2008-03-14 2012-06-26 DataInfoCom Inc. Apparatus, system and method for processing, analyzing or displaying data related to performance metrics
US7814074B2 (en) 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
US20090319316A1 (en) 2008-06-19 2009-12-24 Kurt Westerfeld Method and System of Using Structured Social Networks and Communities to Create and Maintain Business Service Models
WO2009154484A2 (en) 2008-06-20 2009-12-23 Business Intelligence Solutions Safe B.V. Methods, apparatus and systems for data visualization and related applications
US20100005014A1 (en) 2008-06-26 2010-01-07 Barclays Capital Inc. System and method for providing cost transparency to units of an organization
US20100042455A1 (en) 2008-08-12 2010-02-18 Gm Global Technology Operations, Inc. Model-based real-time cost allocation and cost flow
WO2010019962A2 (en) 2008-08-15 2010-02-18 Edsa Corporation A method for predicting power usage effectiveness and data center infrastructure efficiency within a real-time monitoring system
US8370293B2 (en) 2008-08-21 2013-02-05 Terarecon Inc. Workflow template management for medical image data processing
US8370243B1 (en) 2008-09-01 2013-02-05 Prospercuity, LLC Financial planner and portfolio simulator
US20100082380A1 (en) 2008-09-30 2010-04-01 Microsoft Corporation Modeling and measuring value added networks
US20100094740A1 (en) 2008-10-14 2010-04-15 Cashlocale.Com Inc. Financial planning and plan execution
CA2744087A1 (en) 2008-11-18 2010-05-27 Moonstone Information Refinery International Pty Ltd Financial practice management system and method
US8396775B1 (en) 2008-12-19 2013-03-12 Dimitry Mindlin Optimal glide path design for funding financial commitments
US9910875B2 (en) 2008-12-22 2018-03-06 International Business Machines Corporation Best-value determination rules for an entity resolution system
US20100161371A1 (en) 2008-12-22 2010-06-24 Murray Robert Cantor Governance Enactment
US8214829B2 (en) 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US20100198750A1 (en) 2009-01-21 2010-08-05 David Ron Systems and methods for financial planning
US20100250419A1 (en) 2009-03-30 2010-09-30 Bank Of America Corporation Systems and methods for determining a target budget allocation
US20100250421A1 (en) 2009-03-30 2010-09-30 Bank Of America Corporation Systems and methods for determining the budget impact of purchases, potential purchases and cost adjustments
US8768976B2 (en) 2009-05-15 2014-07-01 Apptio, Inc. Operational-related data computation engine
US8606827B2 (en) 2009-05-29 2013-12-10 Red Hat, Inc. Systems and methods for extracting database dimensions as data modeling object
US20110106691A1 (en) 2009-06-03 2011-05-05 Clark D Sean Systems and methods for tracking financial information
CA2765512C (en) 2009-06-19 2015-10-13 Research In Motion Limited Downlink transmissions for type 2 relay
US8689231B2 (en) 2009-06-30 2014-04-01 Sap Ag System and method for ordering tasks with complex interrelationships
EP2473054B1 (en) 2009-09-04 2017-06-14 The Regents of the University of Michigan Compositions and methods for treatment of leukemia
US8200641B2 (en) 2009-09-11 2012-06-12 Dell Products L.P. Dictionary for data deduplication
US20110066472A1 (en) 2009-09-17 2011-03-17 Pedro Cabrera Scheider Internet-Based Benchmarking System and Method for Evaluating and Comparing Businesses Using Metrics
US20110072340A1 (en) 2009-09-21 2011-03-24 Miller Darren H Modeling system and method
US9146916B2 (en) 2009-10-30 2015-09-29 Oracle International Corporation Transforming data tables into multi-dimensional projections with aggregations
CA2684168A1 (en) 2009-10-30 2011-04-30 G.B.D. Corp. Surface cleaning head
US8667385B1 (en) 2009-12-07 2014-03-04 Google Inc. Method and system for generating and sharing analytics annotations
JP5476985B2 (en) 2009-12-25 2014-04-23 キヤノンマーケティングジャパン株式会社 Information processing apparatus, control method, and program
US20110167034A1 (en) 2010-01-05 2011-07-07 Hewlett-Packard Development Company, L.P. System and method for metric based allocation of costs
US20110196795A1 (en) 2010-02-05 2011-08-11 Pointer Ivan Andrew Financial, account and ledger web application and method for use on personal computers and internet capable mobile devices
US20110238608A1 (en) 2010-03-25 2011-09-29 Nokia Corporation Method and apparatus for providing personalized information resource recommendation based on group behaviors
US9281012B2 (en) 2010-03-30 2016-03-08 Itxc Ip Holdings S.A.R.L. Metadata role-based view generation in multimedia editing systems and methods therefor
US8650657B1 (en) 2010-05-18 2014-02-11 Google Inc. Storing encrypted objects
US8626631B2 (en) 2010-05-25 2014-01-07 Harbor East Associates, Llc Adaptive closed loop investment decision engine
US9430470B2 (en) 2010-05-26 2016-08-30 Content Catalyst Limited Automated report service tracking system and method
US20120023170A1 (en) 2010-07-20 2012-01-26 Sparkling Logic, Inc. Decision Bubbles
WO2012034581A1 (en) 2010-09-13 2012-03-22 Tomtom International B.V. Navigation device with alternative navigation instructions
US20120116990A1 (en) 2010-11-04 2012-05-10 New York Life Insurance Company System and method for allocating assets among financial products in an investor portfolio
US10719818B2 (en) 2010-12-14 2020-07-21 Fiserv, Inc. Personal budget tool
US8732039B1 (en) 2010-12-29 2014-05-20 Amazon Technologies, Inc. Allocating regional inventory to reduce out-of-stock costs
US10678602B2 (en) 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US9020830B2 (en) 2011-03-08 2015-04-28 Apptio, Inc. Hierarchy based dependent object relationships
US20120246046A1 (en) 2011-03-24 2012-09-27 Fantasy Finance Ventures, Llc System and method for using an analogy in the management of assets
US9268964B1 (en) 2011-04-04 2016-02-23 Symantec Corporation Techniques for multimedia metadata security
US9069890B2 (en) 2011-04-20 2015-06-30 Cisco Technology, Inc. Ranking of computing equipment configurations for satisfying requirements of virtualized computing environments based on an overall performance efficiency
US8935301B2 (en) 2011-05-24 2015-01-13 International Business Machines Corporation Data context selection in business analytics reports
US20120330869A1 (en) 2011-06-25 2012-12-27 Jayson Theordore Durham Mental Model Elicitation Device (MMED) Methods and Apparatus
US9104661B1 (en) 2011-06-29 2015-08-11 Amazon Technologies, Inc. Translation of applications
US20130014057A1 (en) * 2011-07-07 2013-01-10 Thermal Matrix USA, Inc. Composite control for a graphical user interface
US20130041792A1 (en) 2011-08-11 2013-02-14 Justin King Calculation application and method
US20130041819A1 (en) 2011-08-12 2013-02-14 Joseph Khasho Systems, devices and methods for managing cash flow
US20130060595A1 (en) 2011-09-01 2013-03-07 Stephen Bailey Inventory management and budgeting system
US8965889B2 (en) 2011-09-08 2015-02-24 Oracle International Corporation Bi-temporal user profiles for information brokering in collaboration systems
US8949164B1 (en) 2011-09-08 2015-02-03 George O. Mohler Event forecasting system
CA2808449A1 (en) 2011-09-11 2013-03-11 Element Industrial Solutions Inc. Method and system for managing construction projects
US10152722B2 (en) 2011-09-15 2018-12-11 Stephan HEATH System and method for providing combination of online coupons, products or services with advertisements, geospatial mapping, related company or local information, and social networking
US9245245B2 (en) 2011-10-06 2016-01-26 Sap Portals Israel Ltd Managing semantic data in a contextual workspace
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US9275050B2 (en) 2011-10-24 2016-03-01 Apptio, Inc. Global dictionaries using universal primitives
US9213788B2 (en) 2011-10-25 2015-12-15 Massachusetts Institute Of Technology Methods and apparatus for constructing and analyzing component-based models of engineering systems
WO2013059924A1 (en) 2011-10-26 2013-05-02 Godwin Liu System and method for managing project, process, and meeting tasks over a network
US9031902B2 (en) 2011-11-10 2015-05-12 International Business Machines Corporation Slowly changing dimension attributes in extract, transform, load processes
US20130138470A1 (en) 2011-11-25 2013-05-30 Infosys Limited System and method for supply chain optimization
US9164990B2 (en) 2011-12-20 2015-10-20 Sap Portals Israel Ltd Annotating contextual workspaces
US20130201193A1 (en) 2012-02-02 2013-08-08 Apptio, Inc. System and method for visualizing trace of costs across a graph of financial allocation rules
US8543438B1 (en) 2012-02-03 2013-09-24 Joel E. Fleiss Labor resource utilization method and apparatus
US8970476B2 (en) 2012-02-09 2015-03-03 Vtech Electronics Ltd. Motion controlled image creation and/or editing
US9092265B2 (en) 2012-02-26 2015-07-28 Palo Alto Research Center Incorporated Long-term resource provisioning with cascading allocations
US8744888B2 (en) 2012-04-04 2014-06-03 Sap Ag Resource allocation management
US20130282537A1 (en) 2012-04-20 2013-10-24 Apptio, Inc. Utilizing multiple versions of financial allocation rules in a budgeting process
US9237195B2 (en) 2012-04-27 2016-01-12 Netapp, Inc. Virtual storage appliance gateway
US8937618B2 (en) 2012-05-03 2015-01-20 Sap Portals Israel Ltd Graphical representations of corporate networks
US20140006222A1 (en) 2012-06-28 2014-01-02 Sap Ag Consistent Interface for Cost Object Settlement Rule and Inventory Notification
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20140067632A1 (en) 2012-09-06 2014-03-06 Ernst & Young Llp Automatic Generation of Transfer Pricing Documentation
US9363154B2 (en) 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
US20140108295A1 (en) 2012-10-11 2014-04-17 Axioma, Inc. Methods and Apparatus for Generating Purified Minimum Risk Portfolios
US20140122374A1 (en) 2012-10-25 2014-05-01 Nec Laboratories America, Inc. Cost exploration of data sharing in the cloud
EP2728494A1 (en) 2012-11-05 2014-05-07 Software AG System and method for graphically creating queries on model data
US10223749B2 (en) 2012-11-09 2019-03-05 Russell Investments Group Inc. Retirement planning method
US20140136295A1 (en) 2012-11-13 2014-05-15 Apptio, Inc. Dynamic recommendations taken over time for reservations of information technology resources
US20150149257A1 (en) 2012-11-29 2015-05-28 Andrew C. Bielat Systems and methods for enterprise profit optimization
US9213856B2 (en) 2012-12-18 2015-12-15 Sap Se Role based access management for business object data structures
US10114849B2 (en) 2013-02-20 2018-10-30 Quick Eye Technologies Inc. Managing changes to information
US20140244364A1 (en) 2013-02-28 2014-08-28 Sap Ag Benchmarking system using benchmarking scenario tag templates
US9355349B2 (en) 2013-03-07 2016-05-31 Applied Wireless Identifications Group, Inc. Long range RFID tag
US20140279121A1 (en) 2013-03-12 2014-09-18 Big Fish Games, Inc. Customizable and adjustable pricing of games
US20140280964A1 (en) 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US20150341230A1 (en) 2013-03-15 2015-11-26 Gravitant, Inc Advanced discovery of cloud resources
US20140278459A1 (en) 2013-03-15 2014-09-18 Mckesson Financial Holdings Apparatuses, systems, and methods for providing action plans to improve health care provider performance
US9110941B2 (en) 2013-03-15 2015-08-18 International Business Machines Corporation Master data governance process driven by source data accuracy metric
US20140279676A1 (en) 2013-03-15 2014-09-18 Apptio, Inc. Automated business system generation
US9928283B2 (en) 2013-04-15 2018-03-27 Validus Solutions, Inc. Tracing data through a transformation process using tracer codes
US9430465B2 (en) 2013-05-13 2016-08-30 Facebook, Inc. Hybrid, offline/online speech translation system
US20140351166A1 (en) 2013-05-24 2014-11-27 Assured Concepts Group Ltd. Streamlined portfolio allocation method, apparatus, and computer-readable medium
US9483580B2 (en) 2013-06-11 2016-11-01 International Business Machines Corporation Estimation of closeness of topics based on graph analytics
US10417591B2 (en) 2013-07-03 2019-09-17 Apptio, Inc. Recursive processing of object allocation rules
US20150046363A1 (en) 2013-08-07 2015-02-12 Flextronics Ap, Llc Method and Apparatus for Managing, Displaying, Analyzing, Coordinating, and Optimizing Innovation, Engineering, Manufacturing, and Logistics Infrastructures
US9207976B2 (en) 2013-08-13 2015-12-08 International Business Machines Corporation Management of prioritizing virtual machines in an operating environment
US20150066808A1 (en) 2013-09-03 2015-03-05 Fmr Llc Determining Income Replacement Rates
US20150074075A1 (en) 2013-09-09 2015-03-12 Ryan Alexander Symbol Matrix Engine
US10325232B2 (en) 2013-09-20 2019-06-18 Apptio, Inc. Allocating heritage information in data models
US20150120370A1 (en) 2013-10-31 2015-04-30 Steelwedge Software, Inc. Advanced planning in a rapidly changing high technology electronics and computer industry through massively parallel processing of data using a distributed computing environment
US11244364B2 (en) 2014-02-13 2022-02-08 Apptio, Inc. Unified modeling of technology towers
US9971979B2 (en) 2014-03-04 2018-05-15 Roseboard Inc. System and method for providing unified and intelligent business management applications
US20150278024A1 (en) 2014-04-01 2015-10-01 Commvault Systems, Inc. Bandwidth-conscious systems and methods for providing information management system services
US10096002B2 (en) 2014-04-14 2018-10-09 The Boeing Company Time zone sensitive calendar
US20150363725A1 (en) 2014-06-13 2015-12-17 Trade Extensions Tradeext Ab Systems and Methods for Flexible Sourcing Systems
US20160063577A1 (en) 2014-08-27 2016-03-03 Tensera Networks Ltd. Handling of real-time advertisement with content prefetching
CN107000435B (en) 2014-10-07 2019-10-18 录象射流技术公司 System and method for remote service industrial printer
US20160266594A1 (en) 2015-03-12 2016-09-15 Daniel Kauffman System and method for residential utility monitoring and improvement of energy efficiency
KR101768137B1 (en) 2015-10-12 2017-08-30 현대자동차주식회사 Apparatus and method for showing map information in vehicle
US10515093B2 (en) 2015-11-30 2019-12-24 Tableau Software, Inc. Systems and methods for interactive visual analysis using a specialized virtual machine
US9384511B1 (en) 2015-12-16 2016-07-05 Apptio, Inc. Version control for resource allocation modeling
US9529863B1 (en) 2015-12-21 2016-12-27 Apptio, Inc. Normalizing ingested data sets based on fuzzy comparisons to known data sets
US10474974B2 (en) 2016-09-08 2019-11-12 Apptio, Inc. Reciprocal models for resource allocation

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799286A (en) * 1995-06-07 1998-08-25 Electronic Data Systems Corporation Automated activity-based management system
US6578005B1 (en) * 1996-11-22 2003-06-10 British Telecommunications Public Limited Company Method and apparatus for resource allocation when schedule changes are incorporated in real time
US7308427B1 (en) * 2000-06-29 2007-12-11 Ncr Corp. Amortization for financial processing in a relational database management system
US20080033774A1 (en) * 2001-12-04 2008-02-07 Kimbrel Tracy J Dynamic Resource Allocation Using Projected Future Benefits
US8260959B2 (en) * 2002-01-31 2012-09-04 British Telecommunications Public Limited Company Network service selection
US20040111509A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm
US20060167703A1 (en) * 2003-04-16 2006-07-27 Yaron Yakov Dynamic resource allocation platform and method for time related resources
US20060212334A1 (en) * 2005-03-16 2006-09-21 Jackson David B On-demand compute environment
US20080295096A1 (en) * 2007-05-21 2008-11-27 International Business Machines Corporation DYNAMIC PLACEMENT OF VIRTUAL MACHINES FOR MANAGING VIOLATIONS OF SERVICE LEVEL AGREEMENTS (SLAs)
US8024241B2 (en) * 2007-07-13 2011-09-20 Sas Institute Inc. Computer-implemented systems and methods for cost flow analysis
US8175863B1 (en) * 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US20090300173A1 (en) * 2008-02-29 2009-12-03 Alexander Bakman Method, System and Apparatus for Managing, Modeling, Predicting, Allocating and Utilizing Resources and Bottlenecks in a Computer Network
US8484355B1 (en) * 2008-05-20 2013-07-09 Verizon Patent And Licensing Inc. System and method for customer provisioning in a utility computing platform
US20100005173A1 (en) * 2008-07-03 2010-01-07 International Business Machines Corporation Method, system and computer program product for server selection, application placement and consolidation
US20100125473A1 (en) * 2008-11-19 2010-05-20 Accenture Global Services Gmbh Cloud computing assessment tool
US20100169477A1 (en) * 2008-12-31 2010-07-01 Sap Ag Systems and methods for dynamically provisioning cloud computing resources
US20100250642A1 (en) * 2009-03-31 2010-09-30 International Business Machines Corporation Adaptive Computing Using Probabilistic Measurements
US20100306382A1 (en) * 2009-06-01 2010-12-02 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US20100332262A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Cloud computing resource broker
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US20110022861A1 (en) * 2009-07-21 2011-01-27 Oracle International Corporation Reducing power consumption in data centers having nodes for hosting virtual machines
US20110225277A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US20120131591A1 (en) * 2010-08-24 2012-05-24 Jay Moorthi Method and apparatus for clearing cloud compute demand
US20120066020A1 (en) * 2010-08-27 2012-03-15 Nec Laboratories America, Inc. Multi-tenant database management for sla profit maximization
US20130179371A1 (en) * 2012-01-05 2013-07-11 Microsoft Corporation Scheduling computing jobs based on value
US20130346390A1 (en) * 2012-06-21 2013-12-26 Sap Ag Cost Monitoring and Cost-Driven Optimization of Complex Event Processing System

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Amazon Reserved Instances, Amazon Web Services , archives org, January 14 2012http://web.archive.org/web/20120114153849/http://aws.amazon.com/rds/reserved-instances/? *
Cost Optimisation with Amazon Web Services, extracted slides, Slideshare January 30 2012http://www.slideshare.net/AmazonWebServices/cost-optimisation-with-amazon-web-services?from_search=1 *
Deciding an Approach to the Cloud AWS Reserved Instances, Cloudyn webpages, February 28 2012https://www.cloudyn.com/blog/deciding-an-approach-to-the-cloud-aws-reserved-instances/ *
Efficient frontier - Wikipedia, Efficient frontier, Wikipedia webpages, October 30th 2016https://en.wikipedia.org/wiki/Efficient_frontier *
Ganesan Harish, Auto Scaling using AWS, Amazon Web Services AWS (selected slides), April 20 2011http://www.slideshare.net/harishganesan/auto-scaling-using-amazon-web-services-aws *
Robinson Glen, Cloud Economics - Cost Optimization (selected slides), Amazon Web Services AWS, Slideshare, Feb 28 2012http://www.slideshare.net/AmazonWebServices/whats-new-with-aws-london *
Skilton et al, Building Return on Investment from Cloud Computing, The Open Group Whitepaper, mladina webpages, April 2010http://www.mladina.si/media/objave/dokumenti/2010/5/31/31_5_2010___open_group___building_return_on_investment_from_cloud_computing.pdf *
Ward Miles, Optimizing for Cost in the Cloud (selection), AWS Summit, Slideshare April 20 2012http://www.slideshare.net/AmazonWebServices/optimizing-your-infrastructure-costs-on-aws *

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667515B1 (en) 2011-09-29 2017-05-30 Amazon Technologies, Inc. Service image notifications
US10937036B2 (en) 2012-11-13 2021-03-02 Apptio, Inc. Dynamic recommendations taken over time for reservations of information technology resources
US20140278807A1 (en) * 2013-03-15 2014-09-18 Cloudamize, Inc. Cloud service optimization for cost, performance and configuration
US9602426B2 (en) * 2013-06-21 2017-03-21 Microsoft Technology Licensing, Llc Dynamic allocation of resources while considering resource reservations
US11201832B2 (en) 2013-06-21 2021-12-14 Microsoft Technology Licensing, Llc Dynamic allocation of resources while considering resource reservations
US10063491B2 (en) 2013-06-21 2018-08-28 Microsoft Technology Licensing, Llc Dynamic allocation of resources while considering resource reservations
US20140379924A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Dynamic allocation of resources while considering resource reservations
US10417591B2 (en) 2013-07-03 2019-09-17 Apptio, Inc. Recursive processing of object allocation rules
US20150066601A1 (en) * 2013-09-03 2015-03-05 Connectloud, Inc. Method and apparatus for generating enterprise maximization solutions based on software defined cloud usage analytics
US20150066600A1 (en) * 2013-09-03 2015-03-05 Connectloud, Inc. Method and apparatus for dynamic forecasting of tenant software defined cloud process
US10325232B2 (en) 2013-09-20 2019-06-18 Apptio, Inc. Allocating heritage information in data models
US11244364B2 (en) 2014-02-13 2022-02-08 Apptio, Inc. Unified modeling of technology towers
US20150355927A1 (en) * 2014-06-04 2015-12-10 Yahoo! Inc. Automatic virtual machine resizing to optimize resource availability
US10453012B2 (en) * 2014-09-16 2019-10-22 Mitel Networks Corporation Evaluating communications feature utilization
US20160078382A1 (en) * 2014-09-16 2016-03-17 John Hanmer Watkins Evaluating Communications Feature Utilization
US10410155B2 (en) 2015-05-01 2019-09-10 Microsoft Technology Licensing, Llc Automatic demand-driven resource scaling for relational database-as-a-service
US11151493B2 (en) 2015-06-30 2021-10-19 Apptio, Inc. Infrastructure benchmarking based on dynamic cost modeling
US11746458B2 (en) 2015-09-17 2023-09-05 Washlava, Inc. System for commercial laundry services and facilities
US20170081796A1 (en) * 2015-09-17 2017-03-23 Laundry 2.0, LLC Communication and Control System for Laundry Machines
US11098430B2 (en) 2015-09-17 2021-08-24 Washlava, Inc. System for commercial laundry services and facilities
US11098429B2 (en) * 2015-09-17 2021-08-24 Washlava, Inc. Communication and control system for laundry machines
US10268979B2 (en) 2015-09-28 2019-04-23 Apptio, Inc. Intermediate resource allocation tracking in data models
US10387815B2 (en) 2015-09-29 2019-08-20 Apptio, Inc. Continuously variable resolution of resource allocation
US10726367B2 (en) 2015-12-28 2020-07-28 Apptio, Inc. Resource allocation forecasting
US10474974B2 (en) * 2016-09-08 2019-11-12 Apptio, Inc. Reciprocal models for resource allocation
US10936978B2 (en) 2016-09-20 2021-03-02 Apptio, Inc. Models for visualizing resource allocation
US10489215B1 (en) * 2016-11-02 2019-11-26 Nutanix, Inc. Long-range distributed resource planning using workload modeling in hyperconverged computing clusters
US10482407B2 (en) 2016-11-14 2019-11-19 Apptio, Inc. Identifying resource allocation discrepancies
US10157356B2 (en) 2016-12-14 2018-12-18 Apptio, Inc. Activity based resource allocation modeling
US11126463B2 (en) * 2017-08-09 2021-09-21 Samsung Electronics Co., Ltd. System for providing function as a service (FaaS), and operating method of system
US10965566B2 (en) * 2017-11-03 2021-03-30 International Business Machines Corporation System and method for detecting changes in cloud service up-time
US20190140926A1 (en) * 2017-11-03 2019-05-09 International Business Machines Corporation System and method for detecting changes in cloud service up-time
CN108170406A (en) * 2017-12-29 2018-06-15 中国银行股份有限公司 A kind of analysis method and device of required by task stock number
US11775552B2 (en) 2017-12-29 2023-10-03 Apptio, Inc. Binding annotations to data objects
US10324951B1 (en) 2017-12-29 2019-06-18 Apptio, Inc. Tracking and viewing model changes based on time
US10268980B1 (en) 2017-12-29 2019-04-23 Apptio, Inc. Report generation based on user responsibility
US20220337529A1 (en) * 2018-06-29 2022-10-20 Vmware, Inc. System and Method for Maximizing Resource Credits Across Shared Infrastructure
US11222273B2 (en) * 2018-10-25 2022-01-11 Advanced New Technologies Co., Ltd. Service recommendation method, apparatus, and device
US20220284359A1 (en) * 2019-06-20 2022-09-08 Stripe, Inc. Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
US11704617B2 (en) * 2019-06-20 2023-07-18 Stripe, Inc. Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
US11416296B2 (en) 2019-11-26 2022-08-16 International Business Machines Corporation Selecting an optimal combination of cloud resources within budget constraints
US20230168929A1 (en) * 2021-11-30 2023-06-01 Rakuten Mobile, Inc. Resource optimization for reclamation of resources
US20230318918A1 (en) * 2022-03-31 2023-10-05 Lenovo (United States) Inc. Unused device repurposing system

Also Published As

Publication number Publication date
US20140136269A1 (en) 2014-05-15
US10937036B2 (en) 2021-03-02

Similar Documents

Publication Publication Date Title
US10937036B2 (en) Dynamic recommendations taken over time for reservations of information technology resources
US9020830B2 (en) Hierarchy based dependent object relationships
Uriarte et al. SLAC: A formal service-level-agreement language for cloud computing
Whaiduzzaman et al. A study on strategic provisioning of cloud computing services
JP5860732B2 (en) Automatic identification of fragments suitable for the user in the business process model
US20140278807A1 (en) Cloud service optimization for cost, performance and configuration
EP2779056A1 (en) Automated business system generation
US20130198050A1 (en) Systems and methods for providing decision time brokerage in a hybrid cloud ecosystem
US20100023362A1 (en) Management of business process key performance indicators
CN102419838B (en) The service of project information after merging is provided
US20150227991A1 (en) Unified modeling of technology towers
Hussain et al. Integrated AHP-IOWA, POWA framework for ideal cloud provider selection and optimum resource management
US20120130911A1 (en) Optimizing license use for software license attribution
CN104995934A (en) Budgeting and quota management system for data consumption
Menychtas et al. A business resolution engine for cloud marketplaces
US20190347603A1 (en) Optimizing turnaround based on combined critical paths
Aazam et al. Broker as a service (baas) pricing and resource estimation model
Siala et al. A multi-agent selection of web service providers driven by composite qos
JP6467360B2 (en) Network configuration recommendation device, network configuration recommendation method and program
US20150095875A1 (en) Computer-assisted release planning
Trabay et al. A trust framework utilization in cloud computing environment based on multi-criteria decision-making methods
US20160086288A1 (en) Budget tracking system
US20220278921A1 (en) Traffic engineering for improved bandwidth allocations
US20220383218A1 (en) Systems and methods for product oversight
Luh et al. A hierarchical deployment of distributed product lifecycle management system in collaborative product development

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPTIO, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WASSER, MICHAEL MORRIS;REEL/FRAME:029290/0040

Effective date: 20121107

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:APPTIO, INC.;REEL/FRAME:035934/0232

Effective date: 20150616

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: APPTIO, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:047835/0657

Effective date: 20181219

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:APPTIO, INC.;REEL/FRAME:065618/0956

Effective date: 20231106