对于云计算选项的自动推荐的制作方法

xiaoxiao2020-7-22  11

对于云计算选项的自动推荐的制作方法
【专利摘要】系统、计算机存储设备以及方法从第一用户接收请求。第一用户具有在云计算环境内运行的至少一个实例。系统、计算机存储设备以及方法自动地分析第一用户实例以产生第一用户实例特性,并自动地分析在云计算环境内运行的其他用户实例的特性。不同于第一用户的其他用户操作其他用户实例。系统、计算机存储设备以及方法通过确定其他用户实例中的哪些具有与第一用户实例特性相同的特性,来自动地匹配第一用户实例与其他用户实例的实例。系统、计算机存储设备以及方法自动地识别由操作与所述请求有关的匹配实例的这样的其他用户选择的云计算选项。然后,系统、计算机存储设备以及方法使用计算设备来自动地向第一用户进行推荐。
【专利说明】对于云计算选项的自动推荐
【背景技术】
[0001]本文的各实施例涉及云工程和体验,并提供云计算协作系统配置,该配置基于其他用户以前的选项选择,向实例用户提供推荐。
[0002]利用云计算,用户能访问可以被访问的/在他们的云上运行的大量的项,诸如图像,并且云向用户提供广泛的选项。一个用户具有如此多的选项所存在的问题是过量的选择所带来的困惑。如果用户不是特定项(诸如图像)的专家,则用户可能需要艰难地在无数的选项中进行选择。当对于在云上运行的实例有升级或补丁可用时,存在类似的问题。例如,常常向用户呈现是应用升级还是忽略它的选择。下面描述的实施例通过基于由类似的用户作出的以前的选择向用户提供推荐,来创建对此问题的解决方案。

【发明内容】

[0003]根据一个示例性实施例,一种计算机实现的方法把来自第一用户的请求接收到至少一个计算设备中。第一用户具有在云计算环境内运行的至少一个实例。出于本文的目的,“实例”是通过利用云计算环境的资源在云计算环境内执行的指令的软件程序。
[0004]该方法使用计算设备,自动地分析第一用户实例以产生第一用户实例特性,并自动地分析在云计算环境内运行的其他用户实例的特性(有时在本文中简称为“第二特性”)。不同于第一用户的其他用户操作其他用户实例。
[0005]该方法再次使用计算设备,通过确定其他用户实例中的哪些具有与第一用户实例特性相同的特性,来自动地匹配第一用户实例与其他用户实例中的实例。该方法还使用计算设备,自动地识别由操作与所述请求有关的匹配实例的其他用户选择的云计算选项。然后,该方法使用计算设备来自动地向第一用户进行推荐。所述推荐提供由匹配实例内的其他用户选择的云计算选项。
[0006]根据另一示例性实施例,一种计算机实现的方法再次把来自第一用户的请求接收到至少一个计算设备中,其中,第一用户具有在云计算环境内运行的至少一个实例。该方法使用计算设备,自动地分析第一用户实例以产生第一用户实例特性,并自动地分析在云计算环境内运行的其他用户实例的特性。该方法再次使用计算设备,通过确定其他用户实例中的哪些具有与第一用户实例特性相同的特性,自动地匹配第一用户实例与其他用户实例中的实例。该方法还使用计算设备,自动地识别由操作与所述请求有关的匹配实例的这样的其他用户选择的云计算选项。然后,该方法使用计算设备来自动地向第一用户进行推荐。所述推荐提供由匹配实例内的其他用户选择的云计算选项。此外,该方法响应于推荐从第一用户接收反馈,并使用计算设备,基于该反馈,自动地细化所述推荐。
[0007]—个计算机化系统实施例包括至少一个计算设备。计算设备中每一个都具有处理器、可操作地连接到(直接或间接地连接到)处理器的输入/输出连接。输入/输出进一步地连接到云计算环境。计算设备还具有用户界面(也可操作地连接到处理器),该用户界面从具有在云计算环境内运行的至少一个第一用户实例的第一用户接收请求。
[0008]处理器自动地分析第一用户实例以产生第一用户实例特性,并分析在云计算环境内运行的其他用户实例的第二特性。其他用户实例由不同于第一用户的其他用户来操作。处理器通过确定其他用户实例中的哪些具有匹配第一用户实例特性的第二特性,来自动地匹配第一用户实例与其他用户的实例。然后,处理器自动地识别由与所述请求有关的匹配实例内的其他用户选择的云计算选项。然后,用户界面可以自动地向第一用户进行推荐,其中,这样的推荐包括在匹配的实例内选择的云计算选项。
[0009]一个非易失性计算机存储介质设备实施例有形地存储可由计算设备执行的指令的程序。指令的程序使计算设备执行从第一用户接收请求的方法。第一用户具有在云计算环境内运行的至少一个实例。该方法自动地分析第一用户实例以产生第一用户实例特性,并自动地分析在云计算环境内运行的其他用户实例的特性。该方法通过确定其他用户实例中的哪些具有与第一用户实例特性相同的特性,来自动地匹配第一用户实例与其他用户实例中的实例。该方法自动地识别由操作与所述请求有关的匹配实例的这样的其他用户选择的云计算选项。然后,该方法自动地向第一用户进行推荐。所述推荐提供由匹配实例内的其他用户选择的云计算选项。
【专利附图】

【附图说明】
[0010]通过参考附图来阅读下面的详细描述,将更好地理解各实施例,附图不一定是按比例绘制的,在附图中:
[0011]图1是示出了本文的各实施例的流程图;
[0012]图2是用户使用连接到云计算环境的计算机化设备来运行实例的示意图;
[0013]图3是示出了可用于实现各实施例的示例性硬件环境的示意图;
[0014]图4是根据本文的各实施例的部署系统的示意图;
[0015]图5是根据本文的各实施例的集成系统的示意图;
[0016]图6是根据本文的各实施例的按需系统的示意图;
[0017]图7是根据本文的各实施例的虚拟专用网络系统的示意图;以及
[0018]图8是根据本文的各实施例的虚拟专用网络系统的示意图。
【具体实施方式】
[0019]如上文所提及的,在云计算环境上运行的实例的用户可能体验到云计算环境中可用的过量的选择所带来的困惑。因此,公开了一种通过将选择与由类似用户作出的类似选择进行比较向用户提供配置和选项选择的推荐的系统和方法。
[0020]因此,与云进行交互的用户将在某点面临着作出哪一种选择的判断,并可能需要针对在各种可用的选项中进行选择的协助。鉴于此,利用本文的各实施例,分析云数据,系统建议实例和配置选项以使用户可在可用的选项中进行选择。向用户作出的推荐可以相对于分析的数据来排序,并可以例如基于由其他云用户选择的选项的总体流行度。
[0021]更具体而言,当分析云数据时,本文的各实施例聚集在云上运行的实际实例。关于当前运行的实例的这样的信息可包括哪些实例正在运行,哪些实例被停止、正在停止,哪些实例失败,哪些实例正在预备(provision),哪些实例正在重新启动等等。另外,还累积涉及用户的数据,包括与人口统计、公司大小,安装的实例、专业知识、冲浪模式等等有关的数据。[0022]另外,在对云数据的分析过程中,还分析各种馈送数据。云系统上的馈送可用于向用户通知关于他们在他们的系统上具有的任何特定软件的任何更新或升级。利用本文的实施例,从安装的实例特有的支持或帐户页面收集馈送数据,并收集其他外部馈送数据。作出的馈送推荐还可以基于来自用户的环境的通知。例如,如果用户已经停止了某数据库实例,则本文的实施例将确定不再需要作为高优先级显示用户升级通知。另外,用户还可以利用本文的实施例,在他们的帐户页面或他们的实例细节页面上的每一个系统的特定更新中得到聚集的数据。
[0023]本文的实施例不仅提供对于云计算选项的推荐,而且还提供监测安装的和活动的实例的添加的技术增强。如此,当用户可能具有实例时,本文的实施例识别何时该实例当前不活动,因此可以相应地修改推荐。
[0024]由本文的实施例提供的另一个特征是用户和系统之间的交互和反馈。更具体而言,本文的实施例提供帮助细化推荐的特定问题。本文的实施例可以预先或在用户采取了某动作(诸如选择图像)之后,询问用户问题。
[0025]例如,在用户甚至选择图像之前,本文的实施例可以提供Image Picker Wizard(图像挑选向导)。这样的向导可以提出问题,诸如“您希望用您的实例做什么:(a)Web托管,(b)文件系统,(C)应用开发”。这样的调查问卷继续到更具体的问题,以在结束时向用户给出狭窄的选择。
[0026]另选地,用户可以首先选择图像,然后,系统将使用诸如下列问题询问用户希望用该图像做什么:“您希望用您的实例做什么:(a)开发,(b)产品数据库”;“对于您的产生数据库服务器,您预期每月增长多少数据?(a) 10GB, (b)50GB, (c) 100GB, (d) IOOGB以上”;等
坐寸ο
[0027]图1是示出了本文所描述的各种计算机实现的方法的流程图。在项300开始,处理以把来自任意命名的“第一”用户的请求接收到至少一个计算设备而开始。第一用户可以具有在云计算环境内运行的至少一个实例。为本文的目的,“实例”包括通过利用云计算环境的资源在云计算环境内执行的指令的软件程序。软件程序执行由第一用户期望的某功能。例如,对于数据库,术语“实例”通常被用来描述完整的数据库环境,包括软件、表结构、存储的过程及其他功能。当管理员描述相同数据库的多个实例时,最常使用术语“实例”。
[0028]简要地参考图2,项351-355示出了由不同的用户(用户1_用户5)操作的连接到云计算环境350的各种计算机化设备。在云计算环境350内,存在各种实例361-366。各种实例361-366可以处于许多不同的状态:运行中、不活动,预备等等。用户351-355中的每一个都可以操作一个以上的实例。
[0029]在图1中,项300中的请求可以是用户对自动提示的响应,可以是对在计算设备上操作的选择向导的用户输入的形式,可以是预先存储的对周期性馈送的请求等等。换言之,当第一用户使用一实例时,本文的实施例可以自动地利用问题来提示用户,以确定第一用户关于该实例的意图和目的。对这样的问题的响应将提供项300所示出的请求。可另选地,用户可以启动实例向导软件程序,并向向导程序提供输入,以提供项300中的请求。类似地,预先建立的馈送请求可以提供项300中的请求。本领域的技术人员将理解,有许多额外的可以通过计算设备提供请求的方式,本文的实施例包括所有这样的接收请求的不同方式。[0030]在项302,示例性方法识别云计算环境内的其他实例。不同于第一用户的其他用户操作其他用户实例。可以通过识别并分析在云计算环境内运行的实例,识别并分析在云计算环境中已停止的实例,识别并分析在云计算环境中正在停止的实例,识别并分析在云计算环境中失败的实例,识别并分析在云计算环境中预备的实例,识别并分析在云计算环境中重新启动的实例等等,来在项302识别这样的其他实例。本领域的技术人员将理解,有许多额外的计算设备可以识别其他实例的方式,本文的实施例包括所有这样的识别云计算环境内的实例的不同方式。
[0031]在项304,该方法自动地分析第一用户实例以产生第一用户实例特性,在项306,该方法使用计算设备,自动地分析在云计算环境内运行的其他用户实例的特性(本文有时简称为“第二特性”)。第一用户实例特性和第二特性可包括诸如以下的项:使用的软件程序的分类、使用的资源、使用率、使用要求以及实例的历史等等。在项304和306中执行的分析可以同时或顺序地执行。
[0032]在项308,该方法自动地将第一用户实例与其他用户实例中的实例匹配。项308中的匹配过程再次使用计算设备,找出其他用户实例的第二特性和第一用户实例特性之间的匹配。当在项308中执行匹配时,可以使用各种预设或用户可调的参数来确定这些第二特性中的一个特性是否匹配第一用户实例特性。例如,如果正在评估某种使用率或处理速率特性,则可调参数可以是百分比(诸如90%),如果第二特性在第一用户实例特性的90%以内,则第二特性可以匹配第一用户实例特性。本领域的技术人员将理解,在项308中,可以使用许多不同的可调参数来评估某些特性是否匹配。
[0033]在项310中,该方法也使用计算设备,自动地识别由操作匹配的实例的这样的其他用户选择的云计算选项。云计算选项可以是配置和选项选择。例如,当操作一实例时,用户可能具有输入的或从菜单选择中选择的多样的选项,在项310中识别这些选项/菜单选择。然后,在项312,该方法确定匹配实例的所选选项中的哪些与在项300中接收到的请求有关。可以通过匹配确切的选项选择,匹配选项选择的类别等,来执行项312。
[0034]在项314中,本文的方法可以可任选地通过例如执行统计分析,执行数据挖掘和聚类,执行优化分析,执行对选项的选择性过滤等,来分析这些选项选择。项314中的分析可以产生选项的排位(例如,最流行的或最优化的选项排在第一位);可以产生缩小的选项集(以避免使太多的选项淹没第一用户);可以过滤掉不适当的选项(基于,例如年龄限制、口味,以及社会规范);等等。
[0035]在项316,然后,该方法使用计算设备自动地向第一用户进行推荐。该推荐提供由匹配实例内的其他用户选择的云计算选项。如果请求是例如对图像资源的请求,则推荐可以包括涉及图像资源的选项。类似地,如果请求是软件升级,则推荐可以包括涉及软件升级的选项。
[0036]在项318中,该方法可以接收响应于推荐的来自第一用户的反馈。因此,当在项316中作出推荐时,可以将额外的问题呈现给第一用户,以使第一用户可以细化在项300中接收到的意图或目标。然后,在项320,基于该反馈,过程可以通过返回到项300并在新细化的意图和目标内重复该过程,来自动地细化推荐。
[0037]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为〃电路"、〃模块〃或〃系统"。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0038]可以采用至少一个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有至少一个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0039]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0040]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0041]可以以至少一种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0042]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0043]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0044]计算机程序指令还可以加载到计算机、其他可编程数据处理设备或其他设备上,以使一系列操作步骤在计算机、其他可编程设备或其他设备上执行,以产生一计算机实现的过程,以便在计算机或其他可编程设备上执行的指令提供用于实现在流程图和/或框图的框中指定的功能/动作的过程。
[0045]在图3中描绘了用于实施实施例的代表性硬件环境。此示意图示出了根据本公开的实施例的信息处理/计算机系统的硬件配置。该系统包括至少一个处理器或中央处理单元(CPU) 10。CPUlO通过系统总线12互连到诸如随机存取存储器(RAM) 14、只读存储器(ROM) 16以及输入/输出(I/O)适配器18的各种设备。I/O适配器18可以连接到诸如磁盘单元11和磁带驱动器13的外围设备,或其他可由系统读取的程序存储设备。该系统可以读取程序存储设备上本发明的指令,并遵循这些指令来执行本发明的各实施例的方法。该系统还包括将键盘15、鼠标17、扬声器24、麦克风22,和/或诸如触摸屏设备(未示出)的其他用户接口设备连接到总线12以收集用户输入的用户接口适配器19。另外,通信适配器20还将总线12连接到数据处理网络25,显示适配器21将总线12连接到显示设备23,显示设备23可以例如作为诸如监视器、打印机或发射器的输出设备来实现。
[0046]处理器10自动地分析第一用户实例以产生第一用户实例特性,并分析在云计算环境内运行的其他用户实例的第二特性。其他用户实例由不同于第一用户的其他用户来操作。处理器10通过确定其他用户实例中的哪些具有匹配第一用户实例特性的第二特性,来自动地匹配第一用户实例与其他用户的实例。然后,处理器10自动地识别由与所述请求有关的匹配实例内的其他用户选择的云计算选项。然后,用户界面可以自动地向第一用户进行推荐,其中,这样的推荐包括在匹配的实例内选择的云计算选项。
[0047]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0048]部署类型包括通过加载诸如⑶、DVD等的存储介质来直接在客户端、服务器和代理计算机中加载。处理软件还可通过将处理软件发送到一个中央服务器或一组中央服务器,自动地或半自动地部署到计算机系统中。然后,将处理软件下载到将执行该处理软件的客户端计算机中。通过电子邮件,将处理软件直接发送到客户端系统。然后,通过电子邮件上的执行将处理软件分离到目录中的程序的按钮,将处理软件分离到目录或者加载到目录中。将处理软件直接发送到客户端计算机硬盘驱动器上的目录。当有代理服务器时,过程将选择代理服务器代码,判断将把代理服务器的代码放置在哪些计算机上,传输代理服务器代码,然后将代理服务器代码安装在代理计算机上。处理软件将被传输到代理服务器,然后存储在代理服务器上。
[0049]尽管理解处理软件可以通过经由加载诸如⑶、DVD等的存储介质而人工地直接在客户端、服务器和代理计算机上加载来部署,但是,处理软件还可通过将处理软件发送到一个中央服务器或一组中央服务器来自动地或半自动地部署到计算机系统中。然后,将处理软件下载到将执行该处理软件的客户端计算机中。可另选地,通过电子邮件,将处理软件直接发送到客户端系统。然后,通过电子邮件上的执行将处理软件分离到目录中的程序的按钮,将处理软件分离到目录或者加载到目录中。另一个替代方案是将处理软件直接发送到客户端计算机硬盘驱动器上的目录。当有代理服务器时,过程将选择代理服务器代码,判断将把代理服务器的代码放置在哪些计算机上,传输代理服务器代码,然后,将代理服务器代码安装在代理计算机上。处理软件将被传输到代理服务器,然后存储在代理服务器上。
[0050]如图4所示,步骤100开始处理软件的部署。当执行101处理软件时,第一件事是判断是否有任何将驻留在一个或多个服务器上的程序。如果是,那么识别209将包含可执行程序的服务器。服务器的处理软件通过FTP或某种其他协议,或通过使用共享文件系统210来复制,被直接传输到服务器的存储器。然后,将处理软件安装在服务器211上。
[0051]接下来,就处理软件是否通过让用户访问服务器上的处理软件来部署作出判断102。如果用户将访问服务器上的处理软件,那么识别103存储处理软件的服务器地址。
[0052]就是否将构建200代理服务器来存储处理软件作出判断。代理服务器是位于诸如Web浏览器的客户端应用和真实服务器之间的服务器。它截取到真实服务器的所有请求,以查看它本身是否能满足所述请求。如果不能,则它将请求转发到真实服务器。代理服务器的两个主要优点是改善性能和过滤请求。如果要求代理服务器,那么安装201代理服务器。通过诸如FTP的协议,将处理软件发送到服务器,或者通过文件共享,直接将它从源文件复制到服务器文件202。另一实施例将是把包含处理软件的事务发送到服务器,并让服务器处理该事务,然后接收处理软件并将处理软件复制到服务器的文件系统。一旦处理软件存储在服务器上,用户通过他们的客户端计算机访问服务器上的处理软件,并复制到他们的客户端计算机文件系统203。另一实施例是让服务器自动地将处理软件复制到每一个客户端,然后在每个客户端计算机处运行处理软件的安装程序。用户执行将处理软件安装在他的客户端计算机212上的程序,然后退出过程108。
[0053]在步骤104中,就处理软件是否通过将处理软件通过电子邮件发送到用户来部署作出判断。识别将在其中部署处理软件的用户集合以及用户客户端计算机的地址105。通过电子邮件,将处理软件发送到每个用户的客户端计算机。然后,用户接收电子邮件205,然后将处理软件从电子邮件分离到他们的客户端计算机上的目录206。用户执行将处理软件安装在他的客户端计算机212上的程序,然后退出过程108。
[0054]最后,就处理软件是否将被直接发送到他们的客户端计算机上的用户目录作出判断106。如果是,则识别用户目录107。直接将处理软件传输到用户的客户端计算机目录207。这可以以多种方式来完成,诸如但不仅限于文件系统目录的共享,然后从发送方的文件系统复制到接收方用户的文件系统,或者可另选地使用诸如文件传输协议(FTP)的传输协议。用户访问他们的客户端文件系统上的目录,以准备安装处理软件208。用户执行将处理软件安装在他的客户端计算机212上的程序,然后退出过程108。
[0055]通过提供处理软件以与应用、操作系统和网络操作系统软件共存,然后将处理软件安装在处理软件将在其中起作用的环境中的客户端和服务器上,将处理软件集成到客户端、服务器和网络环境中。
[0056]第一步骤是识别处理软件将在其中部署的包括处理软件需要的或与处理软件结合地工作的网络操作系统的客户端和服务器上的任何软件。这包括网络操作系统,其是通过添加网络特征来增强基本操作系统的软件。
[0057]接下来,将识别软件应用和版本号,并将它们与已经被测试可与处理软件一起工作的软件应用和版本号的列表进行比较。缺少的或不匹配正确版本的那些软件应用将用正确的版本号来升级。将检查将参数从处理软件传递到软件应用的程序指令,以确保参数列表匹配处理软件所需的参数列表。相反,将检查由软件应用传递到处理软件的参数,以确保这些参数匹配处理软件所需的参数。将识别包括网络操作系统的客户端和服务器操作系统,将它们与已经被测试可以与处理软件一起工作的操作系统、版本号和网络软件的列表进行比较。不匹配测试的操作系统和版本号的列表的那些操作系统、版本号和网络软件将在客户端和服务器上升级到所需的级别。
[0058]在确保将在其中部署处理软件的软件处于已被测试可以与处理软件一起工作的正确版本级别之后,通过将处理软件安装在客户端和服务器上来完成集成。
[0059]如图5所示,步骤220开始处理软件的集成。第一件事是判断是否有将在服务器上执行的任何处理软件程序221。如果情况不是这样,那么集成进行到227。如果是这种情况,那么识别服务器地址222。检查服务器以查看它们是否包含包括已经针对处理软件进行了测试的操作系统(OS)、应用、以及网络操作系统(NOS)的软件以及它们的版本号223。还检查服务器以判断是否有处理软件所需的任何缺少的软件223。
[0060]就版本号是否匹配已经针对处理软件进行了测试的OS、应用和NOS的版本号作出判断224。如果所有版本都匹配并且没有缺少的所需的软件,则集成在227继续。
[0061]如果版本号中的至少一个不匹配,那么利用正确版本在服务器上更新不匹配的版本225。另外,如果有缺少的所需的软件,那么在服务器上更新它225。通过安装处理软件来完成服务器集成226。
[0062]221,224或者226之后的步骤227判断是否有将在客户端上执行的处理软件的任何程序。如果没有处理软件程序在客户端上执行,则集成进行到230,并退出。如果不是这样,那么识别客户端地址228。
[0063]检查客户端以查看它们是否包含包括已经针对处理软件进行了测试的操作系统
(OS)、应用以及网络操作系统(NOS)的软件以及它们的版本号229。还检查客户端以判断是否有处理软件所需的任何缺少的软件229。
[0064]就版本号是否匹配已经针对处理软件进行了测试的OS、应用和NOS的版本号作出判断231。如果所有版本都匹配并且没有缺少的所需的软件,则集成进行到230并退出。
[0065]如果版本号中至少一个不匹配,那么利用正确版本在客户端上更新不匹配的版本232。另外,如果有缺少的所需的软件,那么在客户端上更新它232。通过在客户端上安装处理软件来完成客户端集成233。集成进行到230并退出。
[0066]处理软件可以存储在可从至少一个服务器访问的共享文件系统中。通过包含数据和使用被访问的服务器上的CPU单位的服务器处理请求的事务,来执行处理软件。CPU单位是服务器的中央处理器上诸如分钟、秒、小时的时间单位。另外,被评估的服务器可以作出对要求CPU单位的其他服务器的请求。CPU单位是只表示一个使用度量的示例。其他使用度量包括,但不仅限于,网络带宽、存储器使用量、包传输、完整事务等。当多个顾客使用相同处理软件应用时,他们的事务通过事务中所包括的识别唯一顾客和该顾客的服务类型的参数来区分。记录了所有CPU单位及用于每一个顾客的服务的其他使用度量。当至任何一个服务器的事务的数量达到开始影响该服务器的性能的数量时,访问其他服务器以增大容量并分担工作负荷。同样,当诸如网络带宽、内存使用量、存储器使用量等的其他使用度量接近容量以致会影响性能时,添加另外的网络带宽、内存使用、存储器等来分担工作负荷。用于每一个服务和顾客的使用度量被发送到收集服务器,该收集服务器将在提供处理软件的共享执行的服务器的网络中的任何地方处理的每个服务的每个顾客的使用度量求和。求和的使用度量单位被周期性地乘以单位成本,可另选地,将得到的总的处理软件应用服务成本发送到顾客,和/或在被顾客访问的网站上指出,顾客然后向服务提供商进行支付。在另一个实施例中,服务提供商直接从银行或金融机构的顾客帐户请求支付。在另一个实施例中,如果服务提供商也是使用处理软件应用的顾客的顾客,则欠服务提供商的钱与服务提供商欠的钱抵销,来最小化支付转帐。
[0067]共享处理软件,同时以灵活的、自动化方式服务于多个顾客。这是标准化的、要求很少定制的,并且是可伸缩的,按随用随付(pay as you go)模式按需提供容量。
[0068]处理软件可以存储在可从至少一个服务器访问的共享文件系统中。通过包含数据和使用被访问的服务器上的CPU单位的服务器处理请求的事务,来执行处理软件。CPU单位是服务器的中央处理器上诸如分钟、秒、小时的时间单位。另外,被评估的服务器可以作出对要求CPU单位的其他服务器的请求。CPU单位是只表示一个使用度量的示例。其他使用度量包括,但不仅限于,网络带宽、内存使用量、存储器使用量、包传输、完整事务等。
[0069]当多个顾客使用相同处理软件应用时,他们的事务通过事务中所包括的识别唯一顾客和该顾客的服务类型的参数来区分。记录了所有CPU单位及用于每个顾客的服务的其他使用度量。当至任何一个服务器的事务的数量达到开始影响该服务器的性能的数量时,访问其他服务器以增大容量并分担工作负荷。同样,当诸如网络带宽、内存使用量、存储器使用量等的其他使用度量接近容量以致会影响性能时,添加另外的网络带宽、内存使用、存储器等来分担工作负荷。
[0070]用于每个服务和顾客的使用度量被发送到收集服务器,该收集服务器将在提供处理软件的共享执行的服务器的网络中的任何地方处理的每个服务的对于每个顾客的使用度量求和。求和的使用度量单位被周期性地乘以单位成本,可另选地,将得到的总的处理软件应用服务成本发送到顾客,和/或在被顾客访问的网站上指出,顾客然后向服务提供商进行支付。在另一个实施例中,服务提供商直接从银行或金融机构的顾客帐户请求支付。在另一个实施例中,如果服务提供商也是使用处理软件应用的顾客的顾客,则欠服务提供商的钱与服务提供商欠的钱抵销,来最小化支付转帐。
[0071]如图6所示,步骤240开始按需过程。创建包含唯一顾客标识、被请求服务类型以及进一步指定服务类型的任何服务参数的事务241。然后,将该事务发送到主服务器242。在按需环境中,主服务器可以最初是唯一的服务器,然后随着容量被消耗,向按需环境添加其他服务器。
[0072]查询按需环境中的服务器中央处理单元(CPU)容量243。估计事务的CPU要求,然后将按需环境中的服务器可用的CPU容量与事务CPU要求进行比较,以查看任何服务器中是否有足够的CPU可用容量来处理该事务244。如果没有足够的服务器CPU可用容量,那么分配另外的服务器CPU容量来处理该事务248。如果已经有足够的可用CPU容量,那么将该事务发送到选择的服务器245。[0073]在执行事务之前,检查按需环境中的剩余,以判断环境是否具有足够可用的容量来处理事务。此环境容量包括诸如但不限于网络带宽、处理器内存、存储器等的东西246。如果没有足够的可用容量,那么将向按需环境添加容量247。接下来,访问处理该事务所需的软件,将其加载到内存中,然后执行事务249。
[0074]记录使用度量250。使用度量包括按需环境中的那些用来处理事务的功能的部分。这样的功能的用途是,但不限于,网络带宽、处理器内存、存储器,并且CPU周期所记录的东西。将使用度量求和,乘以单位成本,然后作为对发出请求的顾客的收费来记录251。如果顾客请求将按需成本张贴到网站252,那么张贴它们253。
[0075]如果顾客请求了通过电子邮件向顾客地址254发送按需花费,那么就发送它们255。如果顾客请求了直接从顾客帐户支付按需花费256,那么直接从顾客帐户接收支付257。最后一个步骤将是退出按需过程258。
[0076]可以通过使用虚拟专用网络(VPN)来部署、访问和执行处理软件,虚拟专用网络是可用于保护通过不安全的或不受信任的网络的连接的技术的任何组合。VPN的使用是要改善安全性,并降低营运成本。VPN利用公共网络(通常是因特网),将远程站点或用户连接在一起。代替于使用专用的真实世界的连接,诸如租用线路,VPN使用通过因特网从公司的专用网络路由到远程站点或雇员的“虚拟”连接。
[0077]可以通过远程访问或者站点到站点VPN来部署、访问和执行处理软件。当使用远程访问VPN时,通过第三方服务提供商,通过公司的专用网络和远程用户之间的安全、加密的连接,部署、访问和执行处理软件。企业服务提供商(ESP)设置网络接入服务器(NAS),并向远程用户提供他们的计算机的桌面客户端软件。然后,远程办公者可以拨免费电话号码或通过线缆或DSL调制解调器直接附接以到达NAS并使用他们的VPN客户端软件来访问公司网络,并访问、下载和执行处理软件。
[0078]当使用站点到站点VPN时,通过使用专用设备和大规模的加密(其被用来通过诸如因特网的公共网络连接公司的多个固定站点),来部署、访问和执行处理软件。
[0079]通过VPN,经由隧道(其是将整个包放在另一个包内并通过网络来发送它的处理),来传输处理软件。外部的包的协议被网络和叫做“隧道接口”的包进出网络的两个点所理解。
[0080]如图7所示,步骤260开始虚拟专用网络(VPN)过程。进行判断以查看是否要求用于远程访问的VPN261。如果不要求,那么进行到262。如果要求,那么判断远程访问VPN是否存在264。
[0081]如果存在,那么进行到265。否则,识别将在公司的专用网络和公司的远程用户之间提供安全、加密的连接的第三方提供商276。识别公司的远程用户277。然后,第三方提供商建立网络接入服务器(NAS)278,该网络接入服务器允许远程用户拨打免费号码或通过线缆或DSL调制解调器直接附接,以访问、下载和安装用于远程访问VPN的桌面客户端软件279。
[0082]在远程访问VPN被构建之后或如果已被预先安装,远程用户于是可以通过拨到NAS或通过线缆或DSL调制解调器直接附接到NAS265来访问处理软件。这允许进入公司网络,在那里访问处理软件266。通过网络,经由隧道,将处理软件传输到远程用户的桌面。即,处理软件被分成包,将包括数据和协议的每个包置于另一个包内267。当处理软件到达远程用户的桌面时,将它从包中移除,重新构建,然后在远程用户的桌面上执行268。
[0083]进行判断以查看是否要求站点到站点访问的VPN262。如果不要求,那么退出过程263。否则,判断站点到站点VPN是否存在269。如果存在,那么进行到272。否则,安装建立站点到站点VPN270所需的专用设备。然后,将大规模加密建立到VPN中271。
[0084]在站点到站点VPN已被构建之后或者如果已被预先建立,则用户通过VPN访问处理软件272。通过网络,经由隧道,将处理软件传输到站点用户。即,处理软件被分成包,将包括数据和协议的每个包置于另一个包内274。当处理软件到达远程用户的桌面时,将它从包中移除,重新构建,然后在站点用户桌面上执行275。退出过程263。
[0085]如图8所示,如果存在,那么进行到265。否则,识别将在公司的专用网络和公司的远程用户之间提供安全、加密的连接的第三方提供商276。识别公司的远程用户277。然后,第三方提供商建立网络接入服务器(NAS) 278,该网络接入服务器允许远程用户拨打免费号码或通过线缆或DSL调制解调器直接附接,以访问、下载和安装用于远程访问VPN的桌面客户端软件279。
[0086]在远程访问VPN已被构建之后或如果已被预先安装,远程用户于是可以通过拨到NAS或通过线缆或DSL调制解调器直接附接到NAS265来访问处理软件。这允许进入公司网络,在那里访问处理软件266。通过网络,经由隧道,将处理软件传输到远程用户的桌面。即,处理软件被分成包,将包括数据和协议的每个包置于另一个包内267。当处理软件到达远程用户的桌面时,将它从包中移除,重新构建,然后在远程用户的桌面上执行268。
[0087]进行判断以查看是否要求站点到站点访问的VPN262。如果不要求,那么退出过程263。否则,判断站点到站点VPN是否存在269。如果存在,那么进行到272。否则,安装建立站点到站点VPN所需的专用设备270。然后,将大规模加密建立到VPN中271。
[0088]在站点到站点VPN已被构建之后或者如果已被预先建立,则用户通过VPN访问处理软件272。通过网络,经由隧道,将处理软件传输到站点用户。即,处理软件被分成包,将包括数据和协议的每个包置于另一个包内274。当处理软件到达站点用户的桌面时,将它从包中移除,重新构建,然后在站点用户的桌面上执行275。退出过程263。
[0089]本文所使用的术语只是为了描述特定实施例的目的,而不是要对本公开做出限制。本文所使用的单数形式“一个”也意图包括复数形式,除非上下文明确地指出不是如此。还应该理解,本说明中使用的术语“包括”和/或“包含”表明所声称的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
[0090]下面的权利要求中的所有装置或步骤加功能元件的对应的结构、材料、动作以及等同物意图包括用于与专门主张的其他要求保护的元件相结合地执行功能的任何结构、材料或动作。对本公开的描述是为了说明和描述的目的,而不是要穷举或把本发明限于所公开的形式。本领域的技术人员将认识到,在不偏离本发明的范围和精神的情况下,可以进行各种修改和变型。选择和描述实施例是为了最好地说明本公开的原理和实际应用,并使本领域技术人员能够理解本公开的带有适合于设想的特定用途的各种修改的各实施例。
【权利要求】
1.一种计算机实现的方法,包括: 把来自具有在云计算环境内运行的至少一个第一用户实例的第一用户的请求接收到计算设备中,实例包括通过利用所述云计算环境的资源在所述云计算环境内执行的指令的软件程序; 使用所述计算设备,自动地分析所述第一用户实例,以产生第一用户实例特性; 使用所述计算设备,自动地分析在所述云计算环境内运行的其他用户实例的第二特性,所述其他用户实例是由不同于所述第一用户的其他用户操作的; 使用所述计算设备,通过确定所述其他用户实例中的哪些具有所述第二特性中的匹配所述第一用户实例特性的第二特性,来自动地匹配所述第一用户实例与所述其他用户实例中的匹配实例; 使用所述计算设备,自动地识别在所述匹配实例内由所述其他用户选择的与所述请求相关的云计算选项;以及 使用所述计算设备,自动地向所述第一用户进行推荐,所述推荐包括在所述匹配实例内选择的所述云计算选项。
2.根据权利要求1所述的方法,所述请求的所述接收包括从所述第一用户接收以下的至少一项: 对在所述计算设备上操 作的选择向导的输入;以及 通过所述计算设备周期性地提供馈送的请求。
3.根据权利要求1所述的方法,还包括通过识别并分析包括以下的至少一项的实例状态来识别所述其他实例: 在所述云计算环境内运行的实例; 在所述云计算环境停止的实例; 在所述云计算环境正在停止的实例; 在所述云计算环境失败的实例; 在所述云计算环境预备中的实例;以及 在所述云计算环境重新启动的实例。
4.根据权利要求1所述的方法,所述第一用户实例特性和所述第二特性包括使用的软件程序的分类、使用的资源、使用率、使用要求以及实例历史。
5.根据权利要求1所述的方法,所述请求包括以下的至少一项: 对图像资源的请求以及包括与所述图像资源相关的选项的所述推荐;以及 软件升级以及包括与所述软件升级相关的选项的所述推荐。
6.根据权利要求1所述的方法,所述云计算选项包括配置和选项选择。
7.一种计算机实现的方法,包括: 把来自具有在云计算环境内运行的至少一个第一用户实例的第一用户的希望实现的目标接收到计算设备中,实例包括通过利用所述云计算环境的资源在所述云计算环境内执行的指令的软件程序; 使用所述计算设备,自动地分析所述第一用户实例,以产生第一用户实例特性; 使用所述计算设备,自动地分析在所述云计算环境内运行的其他用户实例的第二特性,所述其他用户实例是由不同于所述第一用户的其他用户操作的;使用所述计算设备,通过确定所述其他用户实例中的哪些具有所述第二特性中的匹配所述第一用户实例特性的第二特性,来自动地匹配所述第一用户实例与所述其他用户实例的匹配实例; 使用所述计算设备,自动地识别在所述匹配实例内由所述其他用户选择的与所述目标相关的云计算选项;以及 使用所述计算设备,自动地向所述第一用户进行推荐,所述推荐包括在所述匹配实例内选择的所述云计算选项; 使用所述计算设备,接收来自所述第一用户的响应于所述推荐的反馈;以及 使用所述计算设备,基于所述反馈,自动地细化所述推荐。
8.根据权利要求7所述的方法,所述目标的所述接收包括从所述第一用户接收以下的至少一项: 对在所述计算设备上操作的选择向导的输入;以及 通过所述计算设备周期性地提供馈送的请求。
9.根据权利要求7所述的方法,还包括通过识别并分析下列各项来识别所述其他实例: 在所述云计算环境内运行的实例; 在所述云计算环境停止的实例; 在所述云计算环境正在停止的实例; 在所述云计算环境失败的实例; 在所述云计算环境预备中的实例;以及 在所述云计算环境重新启动的实例。
10.根据权利要求7所述的方法,所述第一用户实例特性和所述第二特性包括使用的软件程序的分类、使用的资源、使用率、使用要求以及实例历史。
11.根据权利要求7所述的方法,所述目标包括以下的至少一项: 与图像资源相关的目标以及包括与所述图像资源相关的选项的所述推荐;以及 与软件升级相关的目标以及包括与所述软件升级相关的选项的所述推荐。
12.根据权利要求7所述的方法,所述云计算选项包括配置和选项选择。
13.一种计算机化系统,包括: 多个计算设备, 所述计算设备中每一个均包括处理器, 所述计算设备中每一个均包括可操作地连接到所述处理器的输入/输出连接,所述输入/输出还连接到云计算环境,所述云计算环境包括连接到计算机化网络的多个计算机器,所述多个计算机器通过所述计算机化网络向所述计算设备提供计算资源, 所述计算设备包括可操作地连接到所述处理器的用户接口,该用户接口接收来自具有在所述云计算环境内运行的至少一个第一用户实例的第一用户的请求,实例包括通过利用所述云计算环境的所述计算资源在所述云计算环境内执行的指令的软件程序, 所述处理器自动地分析所述第一用户实例以产生第一用户实例特性, 所述处理器自动地分析在所述云计算环境内运行的其他用户实例的第二特性,所述其他用户实例是由不同于所述第一用户的其他用户操作的;所述处理器通过确定所述其他用户实例中的哪些具有所述第二特性中的匹配所述第一用户实例特性的第二特性,来自动地匹配所述第一用户实例与所述其他用户实例的匹配实例, 所述处理器自动地识别在所述匹配实例内由所述其他用户选择的与所述请求相关的云计算选项,以及 所述用户接口自动地向所述第一用户进行推荐,所述推荐包括在所述匹配实例内选择的所述云计算选项。
14.根据权利要求13所述的系统,所述请求的所述接收包括从所述第一用户接收以下的至少一项: 对在所述计算设备上操作的选择向导的输入;以及 通过所述计算设备周期性地提供馈送的请求。
15.根据权利要求13所述的系统,所述处理器通过识别并分析下列各项来识别所述其他实例: 在所述云计算环境内运行的实例; 在所述云计算环境停止的实例; 在所述云计算环境正在停止的实例; 在所述云计算环境失败的实例; 在所述云计算环境预备中的实例;以及 在所述云计算环境重新启动的实例。
16.根据权利要求13所述的系统,所述第一用户实例特性和所述第二特性包括使用的软件程序的分类、使用的资源、使用率、使用要求以及实例历史。
17.根据权利要求13所述的系统,所述请求包括以下的至少一项: 对图像资源的请求以及包括与所述图像资源相关的选项的所述推荐;以及 软件升级以及包括与所述软件升级相关的选项的所述推荐。
18.根据权利要求13所述的系统,所述云计算选项包括配置和选项选择。
19.一种有形地存储可由计算设备执行的指令的程序的非易失性计算机存储介质设备,所述指令的程序使所述计算设备执行包括以下操作的方法: 接收来自具有在云计算环境内运行的至少一个第一用户实例的第一用户的请求,实例包括通过利用所述云计算环境的资源在所述云计算环境内执行的指令的软件程序; 自动地分析所述第一用户实例以产生第一用户实例特性; 自动地分析在所述云计算环境内运行的其他用户实例的第二特性,所述其他用户实例是由不同于所述第一用户的其他用户操作的; 通过确定所述其他用户实例中的哪些具有所述第二特性中的匹配所述第一用户实例特性的第二特性,来自动地匹配所述第一用户实例与所述其他用户实例的匹配实例; 自动地识别在所述匹配实例内由所述其他用户选择的与所述请求相关的云计算选项;以及 自动地向所述第一用户进行推荐,所述推荐包括在所述匹配实例内选择的所述云计算选项。
20.根据权利要求19所述的非易失性计算机存储介质设备,所述请求的所述接收包括从所述第一用户接收以下的至少一项: 对在所述计算设备上操作的选择向导的输入;以及 通过所述计算设备周期性地提供馈送的请求。
21.根据权利要求19所述的非易失性计算机存储介质设备,所述方法还包括通过识别并分析下列各项来识别所述其他实例: 在所述云计算环境内运行的实例; 在所述云计算环境停止的实例; 在所述云计算环境正在停止的实例; 在所述云计算环境失败的实例; 在所述云计算环境预备中的实例;以及 在所述云计算环境重新启动的实例。
22.根据权利要求19所述的非易失性计算机存储介质设备,所述第一用户实例特性和所述第二特性包括使用的软件程序的分类、使用的资源、使用率、使用要求以及实例历史。
23.根据权利要求19所述的非易失性计算机存储介质设备,所述请求包括以下的至少一项: 对图像资源的请求以及包括与所述图像资源相关的选项的所述推荐;以及 软件升级以及包括与所述软件升级相关的选项的所述推荐。
24.根据权利要求19所述的非易失性计算机存储介质设备,所述云计算选项包括配置和选项选择。
【文档编号】G06F9/50GK103649914SQ201280026278
【公开日】2014年3月19日 申请日期:2012年5月7日 优先权日:2011年6月6日
【发明者】L·S·德鲁卡, 张秀百 申请人:国际商业机器公司

最新回复(0)