Remote computing resource allocation

By receiving free form input from users and automatically interpreting and mapping to cloud resources, the complexity problem caused by users' lack of understanding of cloud computing terms when acquiring remote computing resources is solved, and a simplified resource acquisition process and improved user experience is achieved.

CN112805681BActive Publication Date: 2025-04-04MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980065597.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-10-05
Filing Date
2019-10-04
Publication Date
2025-04-04
Estimated Expiration
2039-10-04

AI Technical Summary

Technical Problem

In the prior art, when acquiring remote computing resources, users do not understand the unique terms of cloud computing jargon and entities, resulting in complex and inefficient acquisition processes.

Method used

By receiving free form input from the user, such as drawings or sketches, the user's requests are automatically interpreted and mapped to the corresponding cloud resources. The system presents a list of cloud service providers and resources on a graphical user interface, allowing users to select and automatically allocate required cloud resources.

Benefits of technology

Reduces the complexity and obstacles for users to acquire remote computing resources, improves user experience and efficiency, and allows users to obtain the resources they need without understanding complex cloud computing terms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112805681B_ABST
    Figure CN112805681B_ABST
Patent Text Reader

Abstract

This discussion relates to allocating remote computing resources in response to user-driven free-form input. An example can receive free-form input related to remote computing resources from a user. The example can map the free-form input to individual remote computing resources, and can allocate the mapped individual remote computing resources to the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various embodiments of the present application relate to remote computing resource allocation. Background Art

[0002] Traditionally, computers were kept on-site to provide any computing resources that might be needed. Managing these computers, such as maintaining hardware and software, replacing aging computers, ensuring adequate capacity, etc., was complex and time-consuming. A new paradigm has emerged in which entities provide remote computing services to users. This new paradigm has attracted many users who want to break free from managing their own computers. However, user adoption has been slowed by potential users being unsure of how to acquire the remote computing resources they desire. Summary of the invention

[0003] Various embodiments of the present application relate to remote computing resource allocation.

[0004] According to a first aspect of the present disclosure, a method for allocating cloud resources is provided. The method includes: receiving free-form input from a user, the free-form input including a drawing of an architecture showing desired remote computing resources and data communication relationships between the desired remote computing resources; identifying a first cloud service provider entity, the first cloud service provider entity providing a first cloud resource mapped to the desired remote computing resource; identifying a second cloud service provider entity, the second cloud service provider entity providing a second cloud resource mapped to the desired remote computing resource; presenting a list of the first cloud service provider entity and the second cloud service provider entity and the first cloud resource and the second cloud resource on a graphical user interface; receiving a user selection of the first cloud service provider entity and the first cloud resource on the graphical user interface; and allocating the first cloud resource having the data communication relationship between the first cloud resources to an account associated with the user.

[0005] According to a second aspect of the present disclosure, a method for allocating cloud resources is provided. The method includes: receiving free-form input from a user, the free-form input including a drawing showing an architecture of a desired remote computing resource; identifying a first cloud service provider entity, the first cloud service provider entity providing a first cloud resource mapped to the desired remote computing resource; identifying a second cloud service provider entity, the second cloud service provider entity providing a second cloud resource mapped to the desired remote computing resource; presenting the first cloud service provider entity and the second cloud service provider entity and a list of the first cloud resource and the second cloud resource to the user; receiving a user selection of the first cloud service provider entity; and allocating the first cloud resource to the user.

[0006] According to a third aspect of the present disclosure, a system for allocating cloud resources is provided. The system includes: a storage device configured to store computer-readable instructions; and a processor configured to implement the computer-readable instructions to: receive free-form input from a user, the free-form input including a drawing of an architecture indicating computing terms about a desired remote computing resource; identify a first cloud service provider entity, the first cloud service provider entity providing a first cloud resource mapped to the desired remote computing resource; identify a second cloud service provider entity, the second cloud service provider entity providing a second cloud resource mapped to the desired remote computing resource; present the first cloud service provider entity and the second cloud service provider entity and a list of the first cloud resource and the second cloud resource to the user; receive a user selection of the first cloud service provider entity; and allocate the first cloud resource to the user. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The accompanying drawings illustrate implementations of the concepts conveyed in this patent. The features of the illustrated implementations may be more readily understood by reference to the following description in conjunction with the accompanying drawings. Whenever feasible, similar reference numerals in the various drawings are used to indicate similar elements. In some cases, parentheses are used after the reference numerals to distinguish similar elements. The use of reference numerals without associated parentheses is universal for the element. In addition, the leftmost digit of each reference numeral conveys the figure and associated discussion in which the reference numeral is first introduced.

[0008] Figures 1A-1F and Figures 2A-2D An example free-form remote computing resource allocation scenario according to some implementations of the present concepts is shown.

[0009] Figure 3 Example user-driven computing resource components according to some implementations of the present concepts are shown.

[0010] Figure 4 An example free-form remote computing resource allocation system according to some implementations of the present concepts is shown.

[0011] Figure 5 Flowcharts are shown of example methods that may implement some of the concepts of the present concepts, according to some implementations. DETAILED DESCRIPTION

[0012] Traditionally, computers are kept on-site to provide any computing resources that may be needed. Managing these computers, such as maintaining hardware and software, replacing aging computers, etc., is complex and time-consuming. This model is being challenged by remote models (e.g., cloud models), in which users pay an entity for specific computing resources, and the entity handles all management of the computing equipment. Although attractive in many ways, the cloud model tends to discourage many potential users who do not understand the jargon of cloud computing. Further complicating the problem, individual entities tend to develop their own unique terms and procedures, causing additional confusion. The present concept can allow users to request computing resources in a natural free-form manner that is comfortable for the user. These concepts can interpret the user's request to automatically obtain computing resources from one or more entities for the user. Allowing users to operate in their comfort zone reduces the entry barrier, which prevents many users from taking advantage of the benefits provided by remote (e.g., cloud-based) computing resources.

[0013] Figures 1A-1F Together, example scenarios 100 are shown in which the user experience may be enhanced by allowing users to request computing resources in a manner that they are comfortable with.

[0014] Figure 1A A user 102 is shown brainstorming about an architecture 104 of desired computing resources (generally indicated at 106 ). In this case, the user is hand-drawing the architecture 104 on a whiteboard 108 .

[0015] Figure 1B The completed architecture 104 of the desired computing resources 106 is shown on a whiteboard 108. In this example, the desired computing resources include web applications, virtual servers, storage, DB, and encryption.

[0016] Figure 1C A user is shown capturing a desired computing resource as image 109 using a camera on a computing device (eg, a tablet) 110 .

[0017] Figure 1DA graphical user interface (GUI) 112 is shown for a user to access a user-driven computing resource wizard 114 utilizing a computing device 110. GUI 112 allows a user to request a desired computing resource. Rather than forcing the user to input the desired computing resource in a predefined manner, the GUI allows the user to input the desired computing resource in a free-form manner of the user's choice at 116. For example, the free-form selections provided in this example include: upload free-form input 118, sketch free-form input 120, or speak free-form input 122. In this case, it is assumed that the user has selected upload free-form input and has uploaded an image 109. The image can be used as a free-form input to find a corresponding remote computing resource for the user.

[0018] Figure 1E The results obtained for the user's free-form input of the desired computing resources are shown. In this case, for ease of explanation, the results are associated with a single entity (e.g., Microsoft ). (Other examples can be related to other entities. Figures 2A-2D Additional examples described relate to results from multiple entities). In this case, the resource identifier shows that the user free-form input is interpreted to produce the associated computing term 124. The corresponding Azure resources identified from the associated computing term are shown at 126 and include web application resources, virtual machine resources, storage resources, Azure Database resources and Key Vault resources. If these are the desired remote computing resources, the user can choose to deploy the remote computing resources at 128, otherwise, the user can modify the remote computing resources at 130 or restart the process at 132. For the purpose of explanation, it is assumed that the user is satisfied with the corresponding Azure remote computing resources and selects "yes" at 128.

[0019] Figure 1F A resource confirmation that the Azure remote computing resource is automatically assigned to the user is shown at 134. In this case, the Azure remote computing resource has been automatically assigned to the user's account ending in "7245" without any additional input from the user. If the user is finished, he / she can select "Done" at 136. Alternatively, if the user is interested in acquiring additional remote computing resources, the user can click "Additional Resources" at 138.

[0020] Figures 2A-2D Together, another example scenario 100A is illustrated in which the user experience may be enhanced by allowing users to request computing resources in a manner that they are comfortable with. Figures 2A-2D Many elements are similar to Figures 1A-1F , and for the sake of brevity, are not reintroduced. Similar elements are distinguished by adding the suffix "A".

[0021] Figure 2A It is shown that user 102A(1) has selected sketch architecture 104A at 120A, which includes desired computing resources 106A. The desired computing resources include a box containing the term "virtual server" and another box containing the term "storage". The boxes are connected by a bidirectional arrow. For the purpose of explanation, it is assumed that the user has completed the sketch and selected Done at 202.

[0022] Figure 2B A comparison resource identifier 204 is shown on the GUI 112A. In this example, the comparison resource identifier shows how the user sketch is interpreted as the associated computing terms 124A. At 205, the comparison resource identifier indicates that two entities providing the requested computing services are identified. Information is referenced horizontally by: entity name at 206, entity term for virtual server at 208 (e.g., first associated computing term), and entity term for storage at 210 (e.g., second associated computing term). In this example, the first entity name is 'Amazon Web Services' TM , and the second entity name is 'Microsoft Azure'. The Amazon Web Services term for virtual servers is 'EC2' (Elastic Compute Cloud). The Microsoft Azure term for virtual servers is 'Virtual Machine'. The Amazon Web Services term for storage devices is 'S3' (Simple Storage Service), and the Microsoft Azure term for storage devices is 'Azure Storage'. Therefore, without knowing which entity can provide the desired remote computing resources, or without knowing the jargon used by individual entities, the user can get a comparative list of the entity and its remote computing resources. Only a limited number of details can be displayed on the example attached figure page, but other implementations may provide different and / or additional details from entities, third parties, user reviews, etc. (Note that several real-world examples of entities and remote computing resources are used in the discussion because these examples tend to be easier to understand by readers than hypothetical examples. The reader should understand that the present concept can be applied to other entities and / or remote computing resources.)

[0023] The user can select one of the listed entities to provide these remote computing resources at 212, or request more details / options at 214. For purposes of explanation, assume that the user selects more details / options regarding Microsoft Azure at 214(2).

[0024] Figure 2C GUI 112A is shown having additional details about Microsoft Azure at 216, as shown in FIG. Figure 2B 112A as requested by the user. In this case, the additional details indicate at 218 that 'Azure Virtual Machines' is the highest ranked Microsoft Azure computing resource for the entity term "Virtual Servers". At 220, the additional details indicate that another Microsoft Azure computing resource is "Azure Virtual Machines and Images". The ranking can be performed based on information from / about the user (such as previously selected computing resources) and / or information from the architecture (e.g., some computing resources may work better together than other resources). Alternatively or in addition, the ranking can be performed based on information from and / or related to the entity (such as additional details, recommendations, customer reviews, etc.). The user can specify individual options, such as by touching them in GUI 112A and then selecting at 224. Alternatively, the user can request more information at 222, or return to the previous GUI at 226. For purposes of explanation, it is assumed that the user specifies "Azure Virtual Machines" and "Azure Storage" and "Select" at 224.

[0025] Figure 2D Resource confirmation at 230 is shown, which shows at 232 that an Azure virtual machine with data connection to Azure storage has been assigned to the user account at 134A. The user can indicate that he / she is done at 136A, or that he / she desires additional resources at 138A. For the purpose of explanation, it is assumed that the user indicates that he / she is done at 136A.

[0026] The scenario described above illustrates how a user can brainstorm and plan in the most efficient way for them to determine the desired architecture and / or remote computing resources. The concepts can interpret this input and can identify remote computing resources from one or more provisioning entities. The concepts can also automatically allocate these resources to the user without requiring the user to know the details about how to interact with the entity(ies).

[0027] Figure 3 It is shown that a user-driven computing resource wizard can be generated ( Figure 1D-2D114) of the user-driven computing resource component 302. The user-driven computing resource component 302 may include and / or access various tools to assist the user. In this case, these tools include a free-form input to text tool 304, a reference tool 306, a mapping tool 308, and / or an assignment tool 310. (This relationship is represented by a dashed line of the user-driven computing resource component, which is used to indicate that these tools may be included in the user-driven computing resource component, or may be located outside the user-driven computing resource component but communicate with the user-driven computing resource component).

[0028] In this case, free-form input to text tool 304 may include image recognition tool 312, speech to text tool 314, handwriting recognition tool 316, and / or symbol recognition tool 318, etc. These tools may decipher any free-form input from the user, such as written descriptions, auditory descriptions, drawings, sketches, images, etc.

[0029] Reference tools 306 may include spell-checking tools 320, general (eg, subject-neutral) dictionaries 322, and / or computer-specific dictionaries 324, among others.

[0030] Mapping tool 308 includes mappings 326(1) of computing terms to entity 1 terms, 326(2) of computing terms to entity 2 terms, and 326(3) of computing terms to entity N terms. (The suffix "N" is used to indicate that any number of mappings may be utilized, depending on the number of entities providing remote computing resources.) Figures 1A-2D Real life entity examples are used. Here hypothetical entities '1', '2', ... 'N') are used.

[0031] The distribution tool 310 may include login credentials 328, a user account 330, and / or a user history 332, among other things.

[0032] In general, user-driven computing resource component 302 can receive user free-form input regarding desired remote computing resources. The user does not have to follow any predefined options. Instead, the user can generate any form of free-form input he / she desires. The free-form input to text tool can utilize appropriate tools to interpret the user input. For example, if the user provides the free-form input as an image, the free-form input to text tool can utilize image recognition tool 312. The image recognition tool can recognize aspects of the image and convert those aspects into text. The image recognition tool can operate in isolation or in conjunction with other tools. For example, with respect to Figures 1A-1DFor example, an image recognition tool may recognize geometric shapes in an image and a handwriting to text tool 316 may be utilized to interpret text in the geometric image. (Also note that although the illustrated implementation is based on English, other languages ​​may be processed in the same or similar manner).

[0033] Image recognition tool 312 can utilize symbol recognition tool 318 to interpret items such as arrows indicating the relationship between various aspects of an image. Ultimately, free-form input to text tool 304 can generate text representing free-form user input. The text can be analyzed by reference tool 306. Spell check tool 320 can correct spelling errors originally generated by the user and / or by the text tool. In addition, the text can be compared with general dictionary 322 and / or computer-specific dictionary 324. For example, the text can read "date base" or "datebase". The spell check tool may not detect the error because "date" and "base" are two real and correctly spelled words. Similarly, accessing general dictionary 322 can indicate that "date" and "base" are valid words. However, computer-specific dictionary 324 can indicate that the word is more likely to be "data base" of "database". In such a scenario, the result of computer-specific dictionary 324 can be ranked higher or weighted, and the text is updated to 'database'. Therefore, whether the error is a spelling error or an error caused by handwriting recognition, the appropriate terminology can be obtained through the reference tool 306.

[0034] In addition, user text may include abbreviations or company-specific terms that can be generalized into more extensive computer terms. For example, a user may have sketched the letters "VM". (Multiple) general dictionaries 322 can produce multiple entries for the abbreviation, but computer-specific dictionaries 324 can indicate that "VM" stands for "virtual machine". Computer-specific dictionaries 324 can also indicate that "virtual machine" can be more widely recognized as "virtual server". Alternatively, computer-specific dictionaries can suggest that virtual server is used as an alternative form, so the term is considered as "virtual machine / virtual server". Therefore, the reference tool can be used to correct free form user input (and / or errors in interpreting free form user input), and can be used to expand user input into widely recognized computer terms. The output of the reference tool 306 can be sent to a mapping tool 308.

[0035] The mapping tool 308 can receive computing terms from the reference tool 306 and map the computing terms to individual entity terms. In some implementations, a mapping (e.g., a data table) can exist for each entity that provides remote computing resources. Thus, comparing the computing terms to the individual mappings can identify whether the associated entity provides the corresponding remote computing resource, and if so, the entity invokes the provision. Note that, as described above with respect to Figure 2C As mentioned, an entity may have multiple competing offers mapped to computing terms. The mapping may also include other details about the entity's corresponding remote computing resources, such as how to obtain the computing resources (eg, internal reference addresses).

[0036] The user-driven computing resource component 302 can present the mapped information to the user for evaluation. Figure 1E and Figure 2B-2C An example presentation is shown. The user-driven computing resource component 302 may also utilize the allocation tool 310 during the process. For example, when presenting information to the user on the GUI and / or when taking actions on behalf of the user, such as allocating remote computing resources from an entity, the user-driven computing resource component 302 may utilize the user's login credentials 328 and / or user account 330. This may reduce the user having to manually enter his / her information as part of the process, and instead may utilize this information (or much of it) already known during the user login process.

[0037] For example, consistent with the above-mentioned example centered on Microsoft, the allocation tool 310 can use Microsoft authentication services for user login to access the user-driven computing resource wizard. The allocation tool can utilize the user's Microsoft ID to identify their (multiple) Azure accounts and user-accessible subscriptions. Once the user knows what resource he / she wants to create, the user can have the option to select the subscription they want to use to allocate these resources. Then, the allocation tool 310 can create a new resource based on the subscription selected by the user. Alternatively, the user-driven computing resource wizard can also provide the user option, not to create resources immediately, but to return later and continue to deploy resources by themselves, such as via Azure resource management templates. This option can be provided relative to other entities (such as Amazon and Google, etc.).

[0038] It should also be noted that information from various tools may be available to any other tool. For example, user history 332 may be utilized by other tools. For example, user history (e.g., what remote computing resources the user has previously selected) may be considered when ranking a user's offers. For example, in Figure 2CIn the illustrated implementation of , the "Azure Virtual Machines" offering is ranked higher than the similar "Azure Virtual Machines and Images" offering. However, if the user has previously selected the latter offering in a similar situation, the ranking order may be changed (e.g., the "Azure Virtual Machines and Images" offering is ranked higher than the "Azure Virtual Machines" offering). Similarly, user history can be used as a parameter in the disambiguation performed by reference tool 306. For example, a user may use an abbreviation in his / her free-form input that has multiple computer-related definitions. The user history may provide examples of past usage of the abbreviation and subsequent user selections associated with one of the definitions. This previous usage can be used to determine the meaning that the user may have intended in the current situation.

[0039] The computing resource component 302 driven by the user can allow the user to input the request to the remote computing resource in a convenient way for the user (e.g., free form input). The computing resource component 302 driven by the user can utilize any one or all of the tools 304 to 310 to identify the corresponding provision from one or more entities, and obtain the provision of selection on behalf of the user without any additional time or energy paid by the user. Therefore, when the user considers obtaining the remote computing resource, the computing resource component 302 driven by the user allows the user to operate in the most effective way for the user. The computing resource component 302 driven by the user can help to obtain these remote computing resources on behalf of the user. The prior art forces the user to operate according to the paradigm specified by the entity providing the remote computing resource. On the contrary, the computing resource component 302 driven by the user allows the user to define the paradigm, and the computing resource component driven by the user acts on behalf of the user with the providing entity.

[0040] It should also be noted that while the above examples relate to visual implementations that may be illustrated in the patent drawings, similar implementations that emphasize other meanings may be configured. For example, a user may enter his / her free input as an auditory (e.g., voice) or Braille description, and the system may respond in a similar manner and / or in a manner requested by the user.

[0041] Figure 4 A system 400 is shown that can complete secure remote computing resources based on free-form user input. For the purpose of explanation, the system 400 may include one or more devices 402, which may be similar to Figure 1C110. In the illustrated example, device 402(1) is represented as a laptop computer device, example device 402(2) is represented as a smart phone, and example device 402(3) is represented as a server device. System 400 may also include, or involve, one or more entities 404 that may provide remote computing resources. Device 402 may communicate via one or more networks (represented by lightning 406), may access entity 404 via a network, and / or may access the Internet via a network.

[0042] Figure 4 Two device configurations 410 that may be employed by device 402 are shown. Individual devices 402 may employ either configuration 410(1) or 410(2), or an alternative configuration. (Due to space limitations on the accompanying drawing pages, only one instance of each configuration is illustrated, rather than illustrating the device configuration relative to each device 402). In short, device configuration 410(1) represents an operating system (OS)-centric configuration. Configuration 410(2) represents a system-on-chip (SOC) configuration. Configuration 410(1) is organized into one or more applications 412, an operating system 414, and hardware 416. Configuration 410(2) is organized into shared resources 418, dedicated resources 420, and interfaces 422 therebetween.

[0043] In any configuration 410, the device may include an instance of a storage device / memory 424, a processor 426, and / or a user-driven computing resource component 302. The user-driven computing resource component 302 may be configured to receive free-form input from a user related to remote computing resources and data communication relationships between individual remote computing resources. The user-driven computing resource component may be configured to interpret the free-form input to identify associated computing terms and map the computing terms to individual remote computing resources. The user-driven computing resource component may be configured to associate data communication relationships with individual remote computing resources, and present a preliminary selection of mapped individual remote computing resources and data communication relationships. In response to user confirmation, the user-driven computing resource component 302 may be configured to assign the mapped individual remote computing resources with data communication relationships to an account associated with the user.

[0044] In some configurations, each device in device 402 may have an instance of a user-driven computing resource component 302. However, the functions that may be performed by the user-driven computing resource component 302 may be the same or different from each other. For example, in some cases, the user-driven computing resource component 302 of each device may be robust, and provide all the functions described above and below (e.g., a device-centric implementation). In this case, a single device may implement the present concept. In other cases, some devices may employ a less robust instance of a user-driven computing resource component 302 that relies on a certain function to be performed remotely. For example, device 402(3) may have more processing resources than device 402(1). In this way, some functions may be performed locally on device 402(1), while other functions may be outsourced to device 402(3). Device 402(3) may return the results of its processing to device 402(1). In addition, device 402(3) may be controlled by one of the entities or may be independent of the entity.

[0045] As used herein, the terms "device", "computer" or "computing device" may refer to any type of device having a certain amount of processing power and / or storage capacity. Processing power may be provided by one or more processors that can execute data in the form of computer-readable instructions to provide functionality. Data such as computer-readable instructions and / or user-related data may be stored on a storage device, such as a storage device that may be internal or external to the device. The storage device may include any one or more of volatile or non-volatile memory, a hard drive, a flash storage device and / or an optical storage device (e.g., CD, DVD, etc.), remote storage (e.g., cloud-based storage), etc. As used herein, the term "computer-readable medium" may include signals. In contrast, the term "computer-readable storage medium" does not include signals. Computer-readable storage media include "computer-readable storage devices". Examples of computer-readable storage devices include volatile storage media (such as RAM) and non-volatile storage media (e.g., hard drives, optical disks, flash memory, etc.).

[0046] Examples of device 402 may include traditional computing devices such as personal computers, desktop computers, servers, notebook computers, cellular phones, smart phones, personal digital assistants, tablet computers, mobile computers, smart devices, etc.; and / or any of a variety of evolving or yet to be developed computing devices.

[0047] As described above, configuration 410(2) may be considered a system-on-chip (SOC) type design. In this case, the functionality provided by the device may be integrated on a single SOC or multiple coupled SOCs. One or more processors 426 may be configured to collaborate with shared resources 418 (such as memory / storage 424, etc.) and / or one or more dedicated resources 420 (such as hardware blocks configured to perform certain specific functions). Thus, the term "processor" as used herein may also refer to a central processing unit (CPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), a controller, a microcontroller, a processor core, or other types of processing devices.

[0048] Typically, any functionality described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuits), or a combination of these implementations. The term "component" as used herein typically refers to software, firmware, hardware, an entire device or network, or a combination thereof. For example, in the case of a software implementation, they can represent program code that performs a specified task when executed on a processor (e.g., one or more CPUs). The program code can be stored in one or more computer-readable memory devices, such as a computer-readable storage medium. The features and techniques of the component are platform-independent, meaning that they can be implemented on various commercial computing platforms with various processing configurations.

[0049] Figure 5 A flow diagram of a user-driven computing resource allocation technique or method 500 is shown.

[0050] At 502, the method can receive free-form input from a user related to remote computing resources and data communication relationships between individual remote computing resources.

[0051] At 504, the method can interpret the free-form input to identify associated computing terms.

[0052] At 506, the method can map computing terms to individual remote computing resources.

[0053] At 508, the method can associate a data communication relationship with the individual remote computing resource.

[0054] At 510, the method can present a preliminary selection of mapped individual remote computing resources and data communication relationships.

[0055] At 512 , the method may allocate the mapped individual remote computing resources in a data communication relationship to an account associated with the user in response to the user confirmation.

[0056] The described methods may be performed by the systems, devices and / or elements described above and / or below, and / or by other devices and / or systems.

[0057] The order in which the method is described is not intended to be construed as a limitation, and any number of the described actions may be combined in any order to implement the method or an alternative method. In addition, the method may be implemented in any suitable hardware, software, firmware, or combination thereof, such that a device can implement the method. In one case, the method is stored as a set of instructions (e.g., computer-readable instructions or computer-executable instructions) on one or more computer-readable storage media, such that execution by a processor of a computing device causes the computing device to perform the method.

[0058] Other Examples

[0059] Various examples are described above. Other examples are described below. One example includes a method comprising: receiving free-form input from a user related to a data communication relationship between a remote computing resource and an individual remote computing resource, interpreting the free-form input to identify an associated computing term, associating the data communication relationship with the individual remote computing resource, presenting a preliminary selection of mapped individual remote computing resources and data communication relationships, and in response to user confirmation, assigning the mapped individual remote computing resource with the data communication relationship to an account associated with the user.

[0060] Another example may include any of the above and / or below examples, wherein receiving free-form input includes receiving an image, a drawing, a written description, or an auditory description.

[0061] Another example may include any of the above and / or below examples, wherein the interpreting includes converting the free-form input to text.

[0062] Another example may include any of the above and / or below examples, wherein the interpreting includes spell checking the text.

[0063] Another example may include any of the above and / or below examples, wherein the spell check includes a general spell check and a computing term specific spell check.

[0064] Another example may include any of the above and / or below examples, wherein interpreting includes identifying relationships in the free-form input and conveying the relationships relative to the text.

[0065] Another example may include any of the above and / or below examples, wherein mapping computing terms to individual remote computing resources includes mapping to remote computing resources associated with a single entity, or mapping computing terms to individual remote computing resources includes mapping to remote computing resources associated with multiple entities.

[0066] Another example may include any of the above and / or below examples, wherein the presenting includes a visual presenting.

[0067] Another example may include any of the above and / or below examples, wherein assigning an individual remote computing resource to a user includes assigning the individual remote computing resource to an account associated with the user.

[0068] Another example includes a method comprising: receiving free-form input from a user related to remote computing resources; interpreting the free-form input to identify related computing terms; mapping the computing terms to individual remote computing resources; and assigning the individual remote computing resources to the user.

[0069] Another example may include any of the above and / or below examples, wherein receiving includes receiving free-form input on a graphical user interface.

[0070] Another example may include any of the above and / or below examples, wherein the interpreting includes converting the free-form input to text and comparing the text to a dictionary.

[0071] Another example can include any of the above and / or below examples, wherein comparing with a dictionary includes comparing with a general dictionary and a computer-specific dictionary.

[0072] Another example may include any of the above and / or below examples, wherein the comparing includes weighting results from a computer-specific dictionary higher than results from a general dictionary.

[0073] Another example may include any of the above and / or below examples, wherein the weighting further takes into account prior user history associated with the text.

[0074] Another example can include any of the above and / or below examples, wherein mapping the computing terms to the individual remote computing resources includes mapping to remote computing resources associated with a competing entity that provides the individual remote computing resources.

[0075] Another example may include any of the above and / or below examples, wherein allocating includes automatically allocating the individual remote computing resource to an account associated with the user.

[0076] Another example may include any of the above and / or below examples, wherein the assigning is performed without additional user input, or wherein the assigning is performed after user confirmation.

[0077] Another example includes a system comprising: a storage device configured to store computer-readable instructions and a processor configured to implement the computer-readable instructions to receive free-form input related to remote computing resources from a user, map the free-form input to individual remote computing resources, and assign the individual remote computing resources to the user.

[0078] Another example may include any of the above and / or below examples where the system is implemented on a single device.

[0079] in conclusion

[0080] Although the subject matter related to user-driven computing resource allocation has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. A method for allocating cloud resources, comprising: receiving free-form input from a user, the free-form input comprising a drawing illustrating an architecture of desired remote computing resources and data communication relationships between the desired remote computing resources; identifying a first cloud-service provider entity that provides a first cloud resource mapped to the desired remote computing resource; identifying a second cloud-service provider entity that provides a second cloud resource mapped to the desired remote computing resource; On a graphical user interface, presenting a list of the first cloud-service provider entity and the second cloud-service provider entity and the first cloud resources and the second cloud resources; receiving, on the graphical user interface, a user selection of the first cloud-service provider entity and the first cloud resource; as well as The first cloud resources having the data communication relationship between the first cloud resources are assigned to an account associated with the user. 2 . The method of claim 1 , further comprising interpreting the free-form input and converting the free-form input into text. The method of claim 2 , further comprising spell checking the text. The method according to claim 3 , wherein the spell checking comprises a general spell checking and a computing term specific spell checking. 5 . The method of claim 2 , wherein the interpreting comprises identifying the data communication relationship in the free-form input and communicating the data communication relationship relative to the text. The method of claim 2 , wherein the interpreting comprises identifying computational terms within the free-form input.

7. A method according to claim 1, wherein the drawing includes text representing the desired remote computing resources, the drawing includes connectors between the texts representing the data communication relationship between the desired remote computing resources, the connectors include unidirectional arrows and bidirectional arrows, the unidirectional arrows and the bidirectional arrows represent unidirectional data communication relationships and bidirectional data communication relationships between the desired remote computing resources, and the first cloud resource is assigned with the unidirectional data communication relationship and the bidirectional data communication relationship between the first cloud resources.

8. A method for allocating cloud resources, comprising: receiving free-form input from a user, the free-form input comprising a drawing showing an architecture of a desired remote computing resource; identifying a first cloud-service provider entity that provides a first cloud resource mapped to the desired remote computing resource; identifying a second cloud-service provider entity that provides a second cloud resource mapped to the desired remote computing resource; presenting the first cloud-service provider entity and the second cloud-service provider entity and a list of the first cloud resources and the second cloud resources to the user; receiving a user selection of the first cloud-service provider entity; and allocating the first cloud resource to the user, The drawing illustrates a data communication relationship between the desired remote computing resources, and the drawing includes text representing the desired remote computing resources.

9. The method of claim 8, wherein the receiving comprises receiving the free-form input on a graphical user interface.

10. The method of claim 8, further comprising interpreting the free-form input, converting the free-form input to text, and comparing the text to a dictionary. The method according to claim 10 , wherein the dictionary comprises a general dictionary and a computer-specific dictionary.

12. The method of claim 11, wherein the comparing comprises weighting results from the computer-specific dictionary higher than results from the general-purpose dictionary.

13. The method of claim 12, wherein the weighting also takes into account previous user history regarding the text.

14. The method of claim 10, wherein the interpreting comprises identifying computational terms within the free-form input.

15. The method of claim 8, wherein the allocating comprises automatically allocating the first cloud resource to an account associated with the user.

16. The method of claim 8, wherein the assigning is performed without additional user input, or wherein the assigning is performed after user confirmation.

17. A method according to claim 8, wherein the drawing includes connectors between the texts representing the data communication relationship between the desired remote computing resources, and the connectors include unidirectional arrows and bidirectional arrows representing unidirectional data communication relationships and bidirectional data communication relationships between the desired remote computing resources.

18. A system for allocating cloud resources, comprising: a storage device configured to store computer-readable instructions; as well as, A processor configured to implement the computer readable instructions to: receiving free-form input from a user, the free-form input comprising a drawing specifying an architecture of computing terms with respect to a desired remote computing resource; identifying a first cloud-service provider entity that provides a first cloud resource mapped to the desired remote computing resource; identifying a second cloud-service provider entity that provides a second cloud resource mapped to the desired remote computing resource; presenting the first cloud-service provider entity and the second cloud-service provider entity and a list of the first cloud resources and the second cloud resources to the user; receiving a user selection of the first cloud-service provider entity; and allocating the first cloud resource to the user, The drawing indicates the data communication relationship between the computing terms by including unidirectional arrows and bidirectional arrows representing unidirectional data communication relationships and bidirectional data communication relationships between the desired remote computing resources.

Citation Information

Patent Citations

  • Cloud computing access gateway and method for providing access to cloud provider for user terminal

    CN103023762A

  • Policy based resource management and allocation system

    CN106576114A