CN105103147B - 用工作负载分发器来跟踪的方法及系统 - Google Patents
用工作负载分发器来跟踪的方法及系统 Download PDFInfo
- Publication number
- CN105103147B CN105103147B CN201380075071.1A CN201380075071A CN105103147B CN 105103147 B CN105103147 B CN 105103147B CN 201380075071 A CN201380075071 A CN 201380075071A CN 105103147 B CN105103147 B CN 105103147B
- Authority
- CN
- China
- Prior art keywords
- data collection
- performing environment
- collection target
- data
- distributor
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Abstract
负载平衡系统可将仪表化系统结合到一组被管理的设备内,并在各设备间分发工作负载以同时满足负载平和和数据收集。负载分发器可与若干被管理的设备进行通信并配置它们,某些设备可具有可为那些设备上运行的工作负载收集跟踪数据的仪器。认证可在被管理的设备和负载分发器之间执行,以验证被管理的设备能够接收工作负载并在执行前验证工作负载。工作负载分发器可增加或减少与在任何给定时间经历的工作负载相关的检测的量。
Description
相关申请的交叉引用
本申请要求于2013年1月25日提交的题为“TRACING WITH A WORKLOADDISTRIBUTOR(用工作负载分发器来跟踪)”的美国专利申请序列号13/751,012的优先权和权益,该申请的整体内容通过援引被明确地纳入于此。
背景
跟踪收集与应用如何在计算机系统内执行有关的信息。跟踪数据可包括任何类型的可解释该应用如何操作的数据,并且这样的数据可由开发者在应用的调试或优化期间分析。在许多情况中,跟踪数据可被用于调试应用以及理解和优化应用。跟踪数据还可在该应用的常规操作期间被管理员用来标识任何问题。
发明内容
仪表化执行环境可连接到一执行环境以随着应用运行提供经细化的应用的跟踪和日志。仪表化执行环境可被配置成可被配置和购买的单独服务。仪表化执行环境可与各种认证系统、管理用户界面和其它组件一起部署。仪表化执行环境可通过分发器来参与客户的系统,分发器可管理应用工作负载以向仪表化执行环境和其它工作器系统分发工作。市场可提供多个预先配置好的执行环境,所述执行环境可供选择、进一步配置,并被部署以针对特定数据收集目标。
负载平衡系统可将仪表化系统结合到一组被管理的设备内,并在各设备间分发工作负载以同时满足负载平和和数据收集。负载分发器可与若干被管理的设备进行通信并配置它们,某些设备可具有可为那些设备上运行的工作负载收集跟踪数据的仪器。认证可在被管理的设备和负载分发器之间执行,以验证被管理的设备能够接收工作负载并在执行前验证工作负载。工作负载分发器可增加或减少与在任何给定时间经历的工作负载相关的检测的量。
并行跟踪器可与应用的执行或轻度经检测版本并行地执行应用的细化的或经深度检测的分析。应用的两个版本都可操作在同一输入流上,但是深度经检测版本具有与轻度经检测版本的不同执行结果。该跟踪结果可被用于各种分析,包括优化和调试。
跟踪器可模糊跟踪数据,使得跟踪数据可被用在不安全环境中,即使原始跟踪数据可包含私有的、机密的、或其它敏感的信息。跟踪器可使用不可逆的或有损散列函数、查找表、或针对特定原始跟踪数据的其它机制来模糊、呈现经模糊的对传输、存储和分析可接受的跟踪数据。在参数到函数来回传递的情况中,跟踪数据可作为组或个体参数来被模糊。在某些情形中,经模糊的跟踪数据可被发送到远程服务器。
提供概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念的选集。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图简述
在附图中:
图1是示出用于跟踪处理机密数据的应用的系统的实施例的图示。
图2是示出用于分析敏感跟踪数据的网络环境的实施例的图示。
图3是示出安全环境和远程设备之间的交互的实施例的时间线图。
图4是示出并行跟踪系统的实施例的图示。
图5是示出具有并行跟踪的网络环境的实施例的图示。
图6是示出用于执行具有并行仪表化的方法的实施例的流程图示。
图7是示出用于组合结果的方法的实施例的流程图示。
图8是示出用工作负载分发器来进行跟踪的实施例的图示。
图9是示出具有工作负载分发器的网络环境的实施例的图示。
图10是示出用于带跟踪的负载平衡的方法的实施例的流程图示。
图11是示出作为服务的跟踪的实施例的图示。
图12是示出具有远程跟踪的网络环境的实施例的图示。
图13是用于配置仪表化系统的实施例的流程图示。
图14是示出用于部署仪表化系统的方法的实施例的流程图示。详细描述
跟踪作为服务
仪表化执行环境可被部署为服务。在创建帐号后,用户可向用户自己的执行环境内的工作负载分发器添加仪表化执行环境。工作负载分发器可接收进入的工作负载流并将工作负载的某些或全部引导到仪表化执行环境。
仪表化执行环境可包括软件、硬件、以及能够在处理工作负载的同时捕捉各种信息的其它组件。仪表可收集可被存储并分析的各种跟踪数据。在某些情况中,跟踪数据可在收集后被分析,而在其它情况中,跟踪数据可实时地被分析。
用户可使用管理用户界面来配置仪表化执行环境供分发器使用。用户可能能够建立帐号、确定支付机制、并选择仪表化执行环境的各种特征。
管理活动还可包括创建各种认证密钥或可使交互系统彼此认证的其它机制。认证系统可被用来验证仪表化执行环境已经被允许接收分发器的输出,并且分发器被授权以向仪表化执行环境发送工作项目。
分发器可被添加到用户的执行环境以在应用中引入重定向点或决策点。在某些情况中,分发器可以是截取输入流并应用负载平衡和仪表检测逻辑两者以标识用以处理给定工作项目的执行环境的应用。在某些情况中,分发器可以是可被包括在库中的可执行代码,库可从应用内被调用。
可将检测作为服务提供给应用的开发者或管理者。检测可使用可能对于安装、配置或操作而言复杂的精细工具和分析来收集数据。用户可使用不同的支付方案为这样的服务付费,诸如部分基于可消耗多少处理、存储、或其它资源来付费。在某些情况中,支付可以是订购以供使用一段时间,诸如一个月的服务的固定费用支付。许多其他的支付方案可被部署。
用工作负载分发器来跟踪
经负载平衡或经其它管理的计算环境可向仪表化和非仪表化的系统分发工作项目。工作平衡或分发可考虑应用的仪表检测目标来进行。在一个示例中,仪表检测可在系统上的负载可允许时执行,但是当负载因素增加时仪表检测可被减少或消除。
工作负载分发器可具有若干仪表检测目标,其定义收集数据的条件以及要收集的数据。目标可包括诸如采样率、开始或停止仪表检测的事件或条件、要收集的数据的数量或质量、以及要被应用的仪表化的具体参数或类型之类的项目。
工作负载分发器可将仪表检测目标发送到工作器系统,其中目标可使得工作器系统收集所描述的数据。在这样的情况中,分发器可能能够为仪表检测每个工作项目创建自定义的目标。
计算环境可具有多个工作器系统,其执行由分发器定义的工作项目。每个工作器系统可向分发器注册,注册可包括初始联系人和登记并建立各设备之间的认证机制。工作器系统的状态可被周期性地收集并用于确定执行给定工作项目的可能性。
并行跟踪
深度仪表化的跟踪器可与轻度仪表化的工作器并行操作以捕捉应用的详细测量和性能测量两者。在许多情况中,深度仪表检测可能不利地影响应用的性能,因此破坏可在同时收集的性能度量。随着检测变得更详细,性能度量通常可能变得更受影响。
跟踪系统可并行操作以在可仅捕捉性能度量的性能环境中进行跟踪,而另一个详细跟踪器可捕捉详细结果。在某些情况中,相同应用负载可被并行分析并且性能结果和详细结果可被聚集在一起以生成应用的完整的表示。
并行跟踪系统的体系结构可被部署在分布式计算环境中。在这样的环境中,多个设备或处理器可各自执行应用的某些工作。计算群集可以是分布式计算环境的一个示例,其中多个设备各自执行输入流的一部分。
单个设备可能能够执行并行跟踪。多处理器设备可具有可以以高性能方式处理应用工作负载的一些处理器而其它处理器使用详细工作器来执行应用。
并行跟踪的概念可被应用到单个系统或单处理器系统。在这样的系统中,分开的跟踪操作可顺序执行。例如,可使用性能水平仪表检测来执行应用工作负载的第一次运行,接着使用详细仪表检测系统来执行工作负载的第二次运行。在这样的实施例中,输入流可被捕捉用于以详细方式进行的后续执行。
分发器可标识输入流中的各个工作单元以发送到不同组件。工作单元可以是可以以相对独立的方式执行的任何计算工作负载对于每个程序或应用,工作单元可以不同。
在一些应用中,工作单元可以是可包括函数的输入参数的函数调用。对于函数语言(诸如Erlang、Haskell、Scala、F#)或对于以函数方式写的非函数语言,应用的各部分可能够被独立计算。在某些情况中,各工作单元可具有与其它工作单元的依赖性或其它交互。
工作单元可以是输入项目或对应用作出的请求。在应用编程接口的示例中,对接口的调用可被看成一个工作单元,其可由应用的实例来执行。这样的请求可以或者可以不依赖于其它请求,但是一般来说许多这样的系统可具有可独立于其它请求操作的请求。
在某些情况中,可由两个不同地仪表检测的系统执行的工作单元可返回不同结果。在一个简单示例中,工作单元可基于一天里的确切时间来执行函数。在这样的示例中,在性能水平仪表检测上执行的工作单元将返回与在可能慢得多的高度仪表化的系统上执行的同一工作单元不同的值。
当执行在两个不同系统上的工作单元返回不同值时,算法可被应用以确定返回值。在等待时间、响应时间、或其它与性能相关的因素可能不利地影响结果的系统中,来自性能水平仪表化系统的结果可被使用而从高度仪表化系统收集的结果可被丢弃。在某些情况中,来自性能水平仪表化系统的结果可被丢弃,以支持来自高度仪表化系统的结果。在又一些情况中,可使用平均或其它概要来聚集来自一个工作的单元的两次分开运行的应用结果。
模糊跟踪数据
跟踪器可模糊从应用收集的数据并将经模糊的数据发送到分析引擎。分析引擎可在经模糊的数据上执行全部的分析,使得分析引擎可不接触在跟踪器控制的数据中包含的任何秘密的、私人的、或其他形式的敏感数据。
跟踪器可在应用的执行期间收集数据。应用可处理可能是敏感的数据。当跟踪器遭遇应用数据时,这样的数据可在分析前被模糊。经模糊的数据可接着被分析以理解、分类、优化、或执行与该应用相关的其它功能。在某些情况中,分析可生成可涉及可被模糊的特定数据元素的推荐或其它结果。在这样的情况中,用于确定底层数据值的机制可通过逆模糊过程被提供。
模糊处理可包括散列函数,其可以是有损的或无损的。在其它实施例中,模糊处理可以是加密处理,其可以是或者可以不是密码上安全的。又一些实施例可采用维护在客户端设备上的查找表,其将有意义的数据值转换成用于分析的任意值。
多个值可被散列化或以其他方式被看成是跟踪器输出中的单个元素。例如,函数可用三个自变量来调用。在某些实施例中,这三个自变量可被组合成单个自变量并被散列化或以其他方式模糊成单个值。在其它实施例中,这三个自变量可各自被模糊并存储为三个分开的值。
贯穿本说明书和权利要求书,术语“剖析器”、“跟踪器”和“仪表检测”(instrumentation)”被可互换地使用。这些术语指代可在应用被执行时收集数据的任何机制。在经典定义中,“检测”可指代可向其插入可执行代码并藉此改变该可执行代码的存根(stub)、挂钩(hook)或其他数据收集机制,而“剖析器”或“跟踪器”可经典地指代不可改变可执行代码的数据收集机制。使用这些术语及其派生词中的任一者都可蕴含或暗示彼此。例如使用“跟踪器”的数据收集可使用“跟踪器”的经典意义中的非接触式数据收集以及用其中可执行代码可被改变的“仪表检测”的经典意义的数据收集来执行。相似地,通过“仪表检测”收集的数据可包括使用非接触式数据收集机制的数据收集。
此外,通过“剖析”、“跟踪”和“仪表检测”收集的数据可包括可收集的任何类型的数据,包括诸如处理时间、吞吐量、性能计数器之类的与性能相关的数据等等。收集到的数据可包括函数名称、所传递的参数、存储器对象名称和内容、所传递的消息、消息内容、注册表设置、注册表内容、差错标志、中断或与正被跟踪的应用有关的任何其他参数或其他可收集的数据。
贯穿本说明书和权利要求书,术语“执行环境”可用于指代用于执行应用的任何类型的支持软件。执行环境的一个示例是操作系统。在一些图示中,“执行环境”可被示为与操作系统分开。这可能是为了示出为应用提供各支持函数的虚拟机,诸如过程虚拟机。在其他实施例中,虚拟机可以是可包括其自己的内部操作系统并可模拟整个计算机系统的系统虚拟机。贯穿本说明书和权利要求书,术语“执行环境”包括操作系统和可具有或可不具有可容易标识的“虚拟机”或其他支持软件的其他系统。
贯穿本说明书,在对附图的整个描述中,相同的附图标记表示相同的元素。
当元素被称为被“相连接”或“相耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。
本主题可被体现为设备、系统、方法、和/或计算机程序产品。因此,本主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本主题可以采用计算机可使用或计算机可读存储介质上的计算机程序产品的形式,介质中收录了供指令执行系统使用或结合指令执行系统一起使用的计算机可使用或计算机可读的程序代码。在本文档的上下文中,计算机可使用或计算机可读介质可以是可包含、储存、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备一起使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
图1是示出用于处理敏感数据的应用的跟踪系统的实施例100的图示。实施例100是系统的简化的示例,其中跟踪可发生在安全环境内,随后跟踪数据可在非安全环境内被分析而不危及敏感数据的完整性。
实施例100示出了跟踪系统的示例,其在安全环境中收集数据并在将该数据发送到远程系统供分析前模糊该数据。远程系统可以是处在不安全的环境中,但是因为敏感数据被模糊,对那些数据的任何分析可被执行而不危及底层数据的安全性。
在一个示例中,安全环境102可具有可处理敏感数据的应用104。敏感数据可以是,例如,信用卡号码、社会保障号码、就业数据、医疗数据、机密军事数据、财务数据、或可从法律、商务、个人、或其它角度而言敏感的任何其它类型的数据。
跟踪器106可在应用104执行时监视应用104以收集性能和操作数据。跟踪器106可检查各函数、线程、过程、消息、数据对象、和为应用的部分或可被应用处理的其它信息。跟踪器106可执行各种程序元素的低级检查,其结果可被用来分析程序执行。这样的分析可以用于调试、审计、优化、或其它目的。
在许多情况中,跟踪器106可处理包含敏感数据的信息或与包含敏感数据的信息进行接触。在这一情况下,数据可在离开安全环境102前被模糊。在简单示例中,函数可接收数据对象,诸如原始信用卡号码。对该函数的跟踪可收集该信用卡号码作为传递到该函数的值。在另一个示例中,从一个线程传递到另一个线程的消息可包含未经过滤的财务信息、医疗记录对象、或其它敏感信息。在普通的跟踪操作期间,这样的敏感数据可被收集,但是可在将该敏感数据传递到安全环境以外之前将该数据模糊。
当敏感数据在安全环境102内被收集并被处理时,数据可被看成是安全的。在典型的安全环境102中,数据可在符合各种隐私和安全标准及规程的设施中被处理。这样的设施可维持物理安全性以及网络安全性,物理安全性限制对特定人员的访问,网络安全性约束对数据的访问。
模糊器108可模糊跟踪数据的一些或全部以创建经模糊的跟踪数据110。模糊器108可使用各种散列函数、加密算法、替换方案、或其它技术来保护敏感数据。在某些情况中,模糊器108可创建查找数据库112,查找数据库可包含跟踪数据的原始的和经模糊的值。
经模糊的跟踪数据110可被发送到安全环境102之外。经模糊的跟踪数据 114可位于远程设备上或可能具有分析引擎116的其它系统上,分析引擎可对经模糊的跟踪数据114执行解析、优化、或其它分析。分析引擎116的结果可参考个体数据项目或可包含对保持模糊的数据元素的参考。
结果118可被传递回安全环境102中并由结果处理器120来施加操作。结果处理器120可从经模糊的数据值来确定原始数据值。在某些情况中,这样的操作可包括从查找数据库112中查找原始数据值。
在一个使用情形中,跟踪器106可分析可能例如处理银行帐户信息的应用 104。跟踪器106可标识用于监视的函数,其中该函数接收银行帐户号码并返回余额。在此示例中,银行帐户号码和余额可被看成私人信息。
跟踪器106可检测到该函数已经被调用并可捕捉发送到该函数的数据以及由该函数返回的数据。在此情况中,银行帐户信息已经被传送到该函数并且余额并返回。该函数可被调用很多次,且该跟踪器106可在该函数每次被调用时进行捕捉。在监视应用104一段时间后,跟踪数据可包含银行帐户信息和余额信息。
在将跟踪数据发送到安全环境102以外之前,模糊器108可模糊跟踪数据以创建经模糊的跟踪数据110。一旦被模糊,数据可被远程系统分析以确定应用104的性能度量或调试信息。
分析可使用经模糊的值来处理每个数据对象。在一个示例中,调试分析可确定对函数的特定输入值导致函数的非预期行为。由于分析是在经模糊的数据上执行的,分析结果可被发送回安全环境102,在那里跟踪数据的初始值可被确定并对结果采取行动。
在这样的情形中,敏感数据可被保持在安全环境102内部,但分析可在不共享相同级别安全性的环境中执行。例如,跟踪分析器或程序优化器可分析可能是秘密的、安全的、私人的或以其他方式敏感的应用,但是结果可被发送并在相对开放的环境中分析。例如,经模糊的跟踪数据110可以以具有最小的或没有加密的明文被发送,并存储在不符合应用104的高安全标准的设施中。
分析引擎116可以是经模糊的跟踪数据114的自动化的、半自动化的、或手动分析。结果118可包含对经模糊的跟踪数据114的直接引用,例如,诸如标识导致错误条件的数据值。然而,由于分析仅能针对经模糊的跟踪数据114 来执行,分析引擎116不可接触底层原始数据。
在某些情况中,远程系统可从多个用户收集数据,每个用户可生成经模糊的跟踪数据。来自每个用户的数据可被组合到包含来自许多源的跟踪数据的单个数据库。在这样的情况中,远程系统可仅存储经模糊的数据,而敏感数据被保持在安全环境102内。
模糊器108可使用若干不同机制来创建经模糊的跟踪数据110。在某些情况中,模糊机制可以是或可以不是有损的。
非有损系统的示例可以是可用密钥加密数据的加密系统。在这样的系统中,模糊器108可使用密钥加密数据项,且分析引擎116可处理经加密的数据对象。一旦结果118被返回安全环境102,结果处理器120可使用密钥解密结果118。这样的系统可能不使用查找数据库112来从经模糊的值重新创建原始值。
非有损系统的另一个示例可以是不可逆安全散列,诸如MD5、SHA或其它散列函数的使用。这样的函数可能没有或很少冲突,但是可能是特别难以从经模糊的值提取初始值。在这样的系统中,查找数据库112可被用来存储经散列的和原始值,使得结果118可被转换回原始的未散列的值。
有损系统的示例可对原始数据应用有损散列函数,诸如校验和或其它有损压缩技术。这样的系统的各示例可以是具有许多冲突的散列函数。这样的系统可创建经模糊的数据元素,其不能被反向到具有确定程度的单个值。
另一系统的一个示例,查找数据112可被用来向原始值分配随机或序列值。例如,每个新原始值的记录可被分配递增的索引并且索引可用作经模糊的值。因为,查找数据库112可能包含敏感数据,查找数据库112可在安全环境102 内被存储并被保护。
在某些实施例中,不同类型的模糊可以被应用到不同跟踪数据。例如,高敏感数据元素可用加密来模糊,而低敏感数据元素可用更简单的散列函数来模糊。这样的实施例可对更敏感数据应用在计算上更昂贵的模糊,而对较不敏感的数据应用计算上较不昂贵的模糊。
某些跟踪数据可被以明文存储或可不被模糊。例如,某些实施例可以用明文存储函数名称而可模糊传递到和传递自函数的数据。一般而言,函数名称、参数名称、变量名称、或应用内的其它硬编码描述符可描述应用的操作但不描述可被处理的底层数据。
应用元素的明文描述符可从应用的源代码描述中提取。某些实施例可包括源代码分析器,其提取各种应用元素的描述符。在某些实施例中,这样的分析器可被构建到编译器中,其输出可包括调试或标记信息。
应用元素的明文描述符,诸如函数、变量、数据对象、方法、或其它元素可给予开发者和管理者有意义的关于它们的应用的执行的反馈,即使是在底层数据被模糊时。例如,分析引擎116可标识函数FOO已以特定方式作出行为并提供命名函数FOO的反馈。应用开发这可识别函数FOO并能采取行动。这样的分析可以使用经模糊的数据元素但连同程序元素的明文表示来以不安全的方式执行。
应用元素的明文描述符可包括函数名、变量名、数据对象名、记录标识符、栏标识符、注释、方法名、类名、库名、文件名、参数名、标记、控制流程图、和其它描述符。通常,这样的描述符可被程序员或开发者创建并可反映程序员的意图或逻辑。
在特定环境中,这样的描述符可反映机密信息。该机密信息可以是底层逻辑或程序流,其可与应用处理的数据的机密性质中分离。例如,处理保健记录的应用可具有用于分析保健记录的专用或商业秘密方法。保健记录本身可以是在HIPPA或其它法律或规章规定下机密的,应用的方法可以是机密信息的单独类别。
在这样的描述符反映应用逻辑的情况中,由于第三方可能被暴露给应用中的底层方法但不被暴露给应用处理的数据,第三方分析可在未披露协议、私有协议,或其它机密性规定下执行。
图2是示出具有将模糊的跟踪数据传送到远程设备供分析的计算机系统的实施例200的图示。实施例200示出可呈递实施例100以及其他实施例中描述的操作的硬件组件。
图2的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。
实施例200示出了可具有硬件平台204和各软件组件206的设备202。示出的设备202表示常规的计算设备,但是其它实施例可具有不同配置、架构、或组件。
在许多实施例中,设备202可以是服务器计算机。在一些实施例中,设备 202仍然还可以是台式计算机、膝上型计算机、上网本计算机、平板或平板式计算机、无线手机、蜂窝电话、游戏控制台或任何其他类型的计算设备。
硬件平台204可以包括处理器208、随机存取存储器210、以及非易失性存储212。硬件平台204还可包括用户接口214和网络接口216。
随机存取存储器210可以是包含可由处理器208快速访问的数据对象和可执行代码的存储。在许多实施例中,随机存取存储器210可具有将存储器210 连接到处理器208的高速总线。
非易失性存储212可以是在关闭设备202之后持久保持的存储。非易失性存储212可以是任何类型的存储设备,包括硬盘、固态存储器设备、磁带盒、光学存储、或其他类型的存储。非易失性存储212可以是只读、或能够读/写。在一些实施例中,非易失性存储212可以是基于云的网络存储或可通过网络连接访问的其他存储。
用户接口214可以是能够显示输出并且从用户接收输入的任何类型的硬件。在许多情况下,输出显示可以是图形显示监视器,但是输出设备可包括灯光和其他视觉输出、音频输出、动力致动器输出、以及其他输出设备。常规输入设备可包括键盘和定点设备,诸如鼠标、指示笔、跟踪球、或其他定点设备。其他输入设备可包括各种传感器,包括生物测定输入设备、音频和视频输入设备、以及其他传感器。
网络接口216可以是到另一计算机的任何类型的连接。在许多实施例中,网络接口216可以是有线以太网连接。其他实施例可包括基于各种通信协议的有线或无线连接。
客户端202可以包括可执行各种应用254的操作系统218。在某些实施例中,执行环境220可执行应用254。在任一情况中,操作系统218或执行环境 220可通过管理由用于254消耗的资源并控制执行来管理应用254的执行。
由操作系统218或执行环境220管理的资源可以是存储器资源、网络资源、输入/输出资源、处理器资源、和其它资源。操作系统218或执行环境220可分配存储器、执行垃圾收集、安排处理器可用性、赋予存储资源优先级及分配存储资源、以及其它功能。在某些实施例中,该执行环境220可以被称作虚拟机。
跟踪器222和224可在操作系统218或执行环境220内操作。跟踪器222 和224可监视应用254的执行并收集各种信息,包括执行数据、操作数据、调试数据、和其它类型的信息。在很多情况中,跟踪器222和224可被暴露给可由应用254处理的敏感数据。
原始跟踪数据226可以是跟踪器222或224收集的数据。原始跟踪数据226 可包括由应用254处理的数据元素,以及对应用元素的引用,诸如函数名和其它描述符。
模糊器228可处理原始跟踪数据以创建经模糊的跟踪数据230。模糊器228 可使用各种机制来模糊原始跟踪数据226的一些或全部。在某些情况中,仅特定元素可被模糊,而原始跟踪数据226中的其它元素可维持在明文格式。
在某些实施例中,源代码分析器252可创建一组源代码注释254。源代码注释254可被用来以有意义的函数名和其它信息来装饰原始跟踪数据226。
源代码注释254可以是注释、标记、标签、或可从源代码取得的其它信息。这样的信息可由编译器、调试工具、或其它源创建。在某些情况中,源代码注释254可由专用源代码分析器252创建。
通信代理232可将经模糊的跟踪数据230发送到远程设备240用以处理。远程设备240可位于可由防火墙236以及其它安全措施保护的安全环境之外。通信代理232可将经模糊的跟踪数据230通过防火墙236和网络238发送到远程设备240。
远程设备240可在硬件平台242上操作。硬件平台242可类似于硬件平台 204。在某些实例中,硬件平台242可以是虚拟机、云计算系统、计算群集、或某些其它执行环境。
通信代理246可从设备202接收经模糊的跟踪数据230并处理经模糊的跟踪数据230。分析器248可针对经模糊的跟踪数据244执行分析以生成各种分析结果,该结果可以是调试和执行信息、优化信息、或任何其它类型的分析结果。
经模糊的跟踪数据244可包含来自多个设备202的跟踪数据。在某些实施例中,来自两个或更多个设备的跟踪数据可被组合,以创建比可能仅从一个设备创建的跟踪数据更为复杂的跟踪数据集。
在某些实施例中,来自远程设备240的结果可被发送到设备202以用于进一步检查和使用。在这样的实施例中,查找数据库234可用经模糊的和原始数据元素填充。在从远程设备240接收到结果时,查找数据234可被用来从经模糊的结果转换到更有意义的结果。
图3是示出用于安装并监视可执行代码的方法的实施例300的流程图示。实施例300在左列示出了客户端设备302的操作在右列示出了远程设备304的操作。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
实施例300示出了安全位置中的设备302和可能在安全位置外的远程设备 304之间的交互。跟踪数据在设备302上被收集、模糊、并被发送到远程设备 304。远程设备304可仅处理经模糊的数据来创建特定结果,该结果被返回设备302并被去模糊。
在设备302上,应用可在框306中执行。当应用执行时,跟踪数据可在框 308中收集。参数的一些或全部可使用散列、加密、查找表、随机化、或其它模糊技术来被模糊。
经模糊的数据可在框312中被发送到远程设备304,远程设备304可在框 314中接收经模糊的数据。
远程设备304可在框316中对经模糊的跟踪数据执行分析以在框318中生成分析结果。分析结果可在框320中被发送到设备302,设备302可在框322 中接收分析结果。
设备302可在框324中对数据去模糊以在框326中对分析结果动作。在框 324中的去模糊可采用从计算自经模糊的数据的结果来确定原始、初始值的机制。
图4是示出并行跟踪系统的实施例400的图示。实施例400示出了具有分发器的系统的高级视图,分发器可将工作的各单元发送到不同系统,所述不同的系统包括用于性能测量以及细化的检测或剖析的系统。
实施例400可以是其中工作的各单元可在不同环境中执行的系统的示例,其可包括在没有检测下的执行、执行级检测、以及细化的检测。在许多情况中,增加检测的级别可导致性能下降。然而,更完整的有关应用的理解可将执行和细化检测结果两者组合。通过从两个不同环境收集跟踪数据,执行相关数据可不受细化跟踪的影响。
工作的单个单元可被两个不同系统分析。在这样的系统中,执行结果和细化跟踪结果可针对工作的那些单元被组合。这样的系统可用标识符对跟踪结果做标记,该标识符可以允许聚集器将结果匹配到工作的同一单元。
在其它实施例中,工作的单个单元可仅被分析一次。在这样的系统中,执行和细化分析的结果可被组合以给出整体图片,而不需要能够直接对比工作的各个单元。例如,在工作负载到每类分析的分发可具有统计上正态分布时,这样的图片可以是统计上显著的。
请求者42可向分发器406发送请求404。请求404可以是要由执行环境的群集处理的工作负载。在一个示例中,请求404可以是对应用编程接口的调用,其中应用编程接口可由计算群集来执行。在另一示例中,请求404可以是高性能计算系统内的工作负载。在又一个实施例中,请求404可以是计算机应用内的函数或方法调用。
分发器406可分析请求404以确定如何路由请求404。在实施例400的示例中,请求404可被路由到未检测系统410、经执行检测的系统412、或详细检测的系统414。其它实施例可具有能够执行请求404的更多或更少的系统。
分发器406可具有那个定义分发器406可如何执行其分发功能的配置408。配置408可具有其下细化的或执行跟踪可被执行的条件,以及定义何时无跟踪可执行的条件。
条件408可包含过滤器,其将检测限制为仅针对可用请求的子集。过滤器或目标可定义与输入流、采样频率相关的参数、或可定义检测如何发生及何时发生的其它参数。目标可定义检测粒度,诸如功能组件、函数、处理、存储器对象、或数据收集的细节的其它级别。作为与输入流相关的参数的示例,条件 408可指示检测可在包含具有特定值或值的范围的特定变量的请求时执行。其它类型的配置定义的示例可为可能被检测的请求定义采样频率。
未检测系统410可用很少的或无跟踪或检测来处理请求404。在很多情况中,未检测410可包含可监视系统的状态或其它行为的最少检测。未检测系统 410不能够生成可用从其它经检测系统收集的数据来分析的检测结果。
经执行检测的系统412可在收集性能相关度量时处理请求404。检测可被设计以具有对系统性能的最小影响,使得性能度量可被认为是精确的。
经细化检测的系统414可在收集细化操作信息时处理请求404。在许多情况中,这样的系统可跟踪函数调用、收集进程和函数之间传递的数据对象、收集作为执行期间的特定点的对象值、和其它数据。在许多情况中,经细化检测的系统414可能比执行系统412显著地慢。
在实施例400的示例中,三个系统被示为处理请求404。在某些实施例中,这样的设备可以是具有相同或不同软件组件的相同的硬件设备,而在其它实施例中,可使用具有不同硬件或软件组件的不同设备。这样不相同的系统可具有设计用于高性能、细化检测或其它功能的专用硬件或软件组件。
应用输出416可从执行请求404的各系统被接收。应用输出416可被返回到请求者402。
在两个系统执行相同请求的情况中,应用输出416可被比较以确定两个系统是否收集了相同输出。在某些实施例中,当两个并行设备收集相同输出时,输出可被看成是可靠的或实体化的。当来自两个系统的输出不相同时,输出值之一可被选择、值被平均、或采取其它动作。
结果组合器418可从经执行检测的系统412和经细化检测的系统414两者收集跟踪数据,并将结果存储在一组检测结果420中。在某些情况中,结果组合器418可将在两个或更多个不同跟踪数据间的特定执行运行或特征进行匹配。可在本说明书的稍后处找出这样的匹配的示例。
图5是示出其中不同执行系统可生成不同级别的跟踪数据的网络环境的实施例500的图示。实施例500示出可实现实施例400以及其他实施例中描述的操作的某些的硬件组件。
图5的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。
实施例500示出了处理通过外部网络504从请求者502接收到的请求系统的示例。分发器系统506可解析进入的请求流并导致各种执行系统520执行请求。对请求的应用输出或响应可被传回请求者502,而从执行系统520收集的任何跟踪数据可被存储并由分析系统552使用。
实施例500中所示的各种设备的每一个可具有硬件平台。相应的硬件平台可类似于实施例100中的硬件平台100。设备可以是任何类型的硬件平台,诸如个人计算机、服务器计算机、游戏控制台、平板计算机、移动电话、或具有可编程处理器的任何其它设备。
分发器系统506可接收并解析输入流,接着将工作的各单元引导到各种执行系统520。分发器系统506可操作在硬件平台508上并包含经由外部接口512 接收工作请求的分发器510。分发器510可具有跟踪配置514和定义工作的各单元如何分发的分发配置516。
跟踪配置514可定义算法、条件、或可定义如何及合适收集检测数据的其它条件。跟踪配置514可包括粒度、采样率、采样大小、要收集的数据,和其它信息。跟踪配置514还可包括何时跟踪或不跟踪的特定条件。
这样的条件可评估请求中的数据元素,以及来自外部源的数据元素。例如,条件可导致详细跟踪在晚间在输入参数为“蓝”时发生。
分发配置516可定义用于分配其它工作单元的条件。分发配置516可定义负载平衡算法,例如,该算法将工作分配给轻度负载的设备而避免将工作发送给重度负载的工作。
本地网络518可将分发器系统506与各种执行系统520相连接。执行系统 520可具有操作系统524或执行环境530可在其上运行的硬件平台522。应用 534可在执行系统520上执行以响应于工作单元,并且各种跟踪器可在应用534 处理该工作单元时收集数据。
在某些实施例中,应用534可直接在操作系统524上执行。在这样的实施例中,操作系统524可具有用于收集执行相关测量的轻量跟踪器526,以及可在应用执行期间收集经细化信息的详细跟踪器528。
在其它实施例中,应用534可在执行环境530中执行。执行环境530可以是虚拟机,诸如进程虚拟机,其管理执行并提供各种支持功能,诸如存储器分配、垃圾收集、进程管理、消息传递、或其它功能。这样的执行环境可具有跟踪器532。
可使用跟踪器配置536来配置各种跟踪器,跟踪器配置536可定义收集什么信息以及在什么情况下信息可被收集。在某些实施例中,跟踪器配置53可能是导致单个跟踪器表现为执行级跟踪器或详细跟踪器的足够信息。
跟踪数据538可以是本地地收集的跟踪器输出,其可被传递到分析系统 552。
在某些实施例中,分发器540可位于执行系统520内。在这样的实施例中,系统520可执行应用534,应用534可部分通过将工作负载项分发到多个处理实例来执行。处理实例可以是经细化检测的实例,而另一个处理实例可以是执行跟踪实例在这样的情况中,实施例400的操作可在单个设备上执行。
分析系统552可从各种执行系统520收集跟踪数据538来收集集中式跟踪数据544中的结果。分析系统552可操作在硬件平台542上,硬件平台542可具有用于跟踪数据544的数据存储,以及组合器546、分析器548,和优化器 550。
分析系统552可从执行和经细化跟踪器两者收集并聚集跟踪数据。组合器 546可创建联合结果集。分析器548可执行结果的各种分析,诸如报告、提醒、或其它输出。优化器550可为应用534生成经优化的设置或其它优化。
图6是示出用于应用执行和并行检测的方法的实施例600的流程图示。实施例600在左手栏中示出分发器和组合器602的操作,在中央栏中示出执行环境604,并在右手栏中示出经细化检测的环境606。分发器和组合器602可表示分发器406和组合器408的操作,而执行环境604和详细执行环境606可分别表示实施例400的经执行检测的系统412和经细化检测的系统414的操作。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
在框608,应用可由分发器和组合器602启动,其可导致在框610应用在执行环境604中开始执行,且在框612应用在详细执行环境606中开始执行。
从框608到612的操作示出了其中应用可被配置来执行,接着工作负载项可被发送到应用供处理的实施例。在这样的实施例中,工作负载项可以是由应用消费的数据项。在其它实施例中,工作负载向可以是可被传递到各种环境的可执行命令。在这样的实施例中,从框608到612的操作可能不被执行。
在框614可接收输入流。在框616输入流可被解析以标识工作单元。工作单元可以是数据块,可执行代码,或可由执行环境处理的其它工作负载。
在框618分发器可分析工作单元以确定工作单元是否可使用详细检测或不使用详细检测来被处理。如果分发器在框618选择详细检测,工作负载可被传送到详细检测环境606以在框620执行。如果分发器在框618不选择详细检测,工作负载可被传送到执行环境604以在框622执行。
在某些情况中,分发器和组合器602可向执行环境604和详细执行环境606 两者发送相同工作负载项。分发器可为工作单元创建标识符。在某些情况中,工作单元可将标识符(诸如序列号或可被请求者使用的其它标识符)包括在请求内,以将应用结果与请求进行匹配。在某些情况中,时戳、标识代码、或其它标识符可被分发器创建,并被用来使来自从不同执行环境收集的两个或更多个跟踪数据的结果数据相关
当在执行环境604中执行期间,某些跟踪结果可被收集,其可在框624中被发送到分发器和组合器602并在框626接收。类似地,经细化检测的环境606 可生成跟踪结果,其可在框628被发送并由分发器和组合器602在框630接收。
结果可在框632组合并在框634存储。该过程可返回至框614以处理另工作单元。
组合来自执行环境604和经细化检测环境606的跟踪数据的方法的示例可在实施例700中被示出。
图7是示出用于组合来自以不同粒度级运行的跟踪的结果的方法的实施例 700的流程图示。实施例700示出了实施例600的框632或实施例400的结果组合器418的组合操作的一个示例。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
执行跟踪数据可在框702接收,且详细跟踪数据可在框704接收。在每组结果中,一个或多个标识符可被呈现。这样的标识符可在在框706标识。
标识符可以是可被用来使在应用或工作单元的两个不同的跟踪操作之间的数据进行相关的任何项。在某些情况中,每个工作单元可具有标识符,其可被用来在工作单元已经被两种类型的跟踪器在分开的运行中执行时匹配经细化和执行跟踪数据。
在另外的情况中,时戳、输入数据值、或其它信息可被用作标识符。
在框708中对每个标识符,执行结果可在框710中收集,而在框712中可以收集详细结果。两组结果可在框714组合并在框716存储。
在组合两组结果后,可在框718中在更大的数据集上执行分析。
图8是示出用工作负载分发器来进行跟踪的系统的实施例800的图示。实施例800示出了一般的过程,其中分发器可提供工作负载分发,并且还确定在执行期间跟踪如何和何时发生。
实施例800可表示受管理的计算环境,诸如群集计算系统或多个设备可被使用以递送应用的其它系统。尽管传统群集或负载平衡环境可被用作实施例 800中的示例,相同的原理可被应用到任何计算系统,其中工作负载可被分割并分发到多个实例、线程、处理器、设备、或其它计算元素。
应用输入流802可被发送到分发器804,其可将工作项分割到各种未检测系统808和经检测系统812。应用输出816可被任一类型的系统生产,但经检测系统812可生成可被存储在结果数据库818中的跟踪数据。
工作器系统包括未检测系统808和经检测系统812。工作器系统可能能够处理工作单元,其可以是应用的任何元素。在某些实施例中,应用可在应用编程接口上接收请求项,接着将每个请求当做单个工作项来处理。在这样的实施例中,进入的请求可以是被各自地和独立地处理的数据项。
在某些实施例中,应用可能能够并行执行,每个工作项是可以与其它工作项交互或可以不与其它工作项交互的独立的计算元素。在这样的实施例中,进入的请求可以是可执行代码或可执行代码和要被可执行代码处理的数据对象的组合。
分发器804可使用配置806来定义如何跨工作器系统分配工作项。配置806 可定义负载平衡算法和参数,以及数据收集配置。
数据收集配置可定义数据项如何以及何时可被工作器系统上的任何检测收集。在许多情况中,数据收集配置可定义指定对象,诸如要收集的数据项和用于收集数据项的条件。
分发器804可创建跟踪器配置820,其可在经检测系统812上配置检测以收集指定数据。某些实施例可为每个工作元素创建指定或定制的跟踪器配置 820。这样的实施例可允许系统用跟踪器配置820从运行到运行改变检测,允许对数据收集的经细调的控制。
由于检测和负载平衡可被结合到分发器804中,检测可变成整个负载平衡中的因素。例如,当系统上的负载重并且可能几乎没有可用资源时,分发器804 可能能够减少检测使得整个系统性能不受影响。类似地,在松弛期间且可能存在多余资源,分发器804可增加检测。
在可实现跟踪器配置820的系统中,每个工作器系统可通过为特定工作项更新跟踪器配置820来被配置为经检测或未检测系统。在某些这样的系统中,全部工作器系统可被一致地配置。
某些工作器系统可具备其它未检测系统可能不具备的附加的检测能力。例如,经检测系统812可具备不同的或附加的处理器、存储器、存储、网络连接性以及甚至可支持检测的附加的软件资源。在某些这样的系统中,各种工作器系统可能不一致。
工作器管理器822可通过注册工作器系统、确定工作器系统的可用性和其它功能来管理各种工作器系统。在许多实施例中,工作器管理器822可部署双向认证机制,其可允许分发器804向工作器系统认证且反之亦然。
工作器管理器822可通过周期性地查询工作器系统或以其它规则来收集状态信息。状态信息可包括工作器系统的能力,其可包括硬件和软件能力以及配置,连同当前负载或工作器系统的容量。某些元素(诸如系统处理新请求的能力)可能实时改变,而其它元素(诸如硬件配置)可能是更静态的。
认证机制可帮助确定各设备假设相互通信。当工作器设备将其自身向分发器认证时,分发器可依靠该认证来确定工作器不是恶意设备。当分发器将其自身向工作器设备认证时,工作器设备可依靠该认证来确保分发器具有向工作器设备发送工作的许可或授权。还可为其它情形部署认证机制,包括检测即服务情形。
图9是示出工作负载分发器可在其中将工作单元发送给各工作器设备的网络环境的实施例900的图示。实施例900示出可实现实施例800以及其他实施例中描述的操作的某些的硬件和软件组件。
图9的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。
实施例900示出了其中多个工作器系统可执行由分发器设备确定的应用的各部分。分发器902可接收工作负载项的流、将进入的流划分成工作单元,确定哪个工作设备可处理每个工作单元、并使得那些工作单元被执行。
分发器902还可确定在给定工作单元上什么类型的检测可被执行。检测可包括各种类型的跟踪、数据收集、性能监视、或可被用于诊断、调试、管理性监视、优化或其它用途的其它数据。
检测可由分发器902配置。在某些情况中,分发器902可能能够将工作单元路由到可被预配置的工作器设备以执行指定类型的跟踪或检测。例如,仪表化系统932之一除了执行工作单元外,可被预配置以执行指定数据集收集。在这样的示例中,分发器902可确定何时将工作单元发送到经检测系统932以及何时将另一个工作单元发送到可能未配置有检测的工作器924。
在另一个示例中,分发器902可将配置文件或其它描述符发送到仪表化系统932,其中配置文件可包含要收集的指定项、要执行的测试、或其它数据收集活动。在这样的实施例中,经检测系统932上的检测或跟踪器可以是可配置的。在某些情况中,这样的系统可能能够执行工作单元而很少或没有检测,接着切换到针对下一个工作单元的高级检测,如在配置文件中所定义的。
实施例900中所示的各种设备的每一个可具有硬件平台。相应的硬件平台可类似于实施例100中的硬件平台100。设备可以是任何类型的硬件平台,诸如个人计算机、服务器计算机、游戏控制台、平板计算机、移动电话、或具有可编程处理器的任何其它设备。
分发器902可以具有硬件平台904,在硬件平台004上可操作各种软件组件。分发器906可接收来自负载接收器908的进入工作负载流并确定哪个工作器设备将执行该工作单元。分发器906可使用可定义负载平衡目标、算法、或用于管理服务质量或其它因素的其它定义的负载平衡配置910。分发器906可参考可能包括各种工作器设备的可用性和状态的工作器数据库912。
分发者906可跨多个设备(包括经检测系统932和一般工作器924)来平衡工作负载。工作负载平衡可并行使用多个设备以处理可能大于单个设备的容量的工作负载。例如,大的网络规模的应用可由许多设备处理,在某些情况中其规模可达数百台服务器计算机。分发器906的负载平衡方面可尝试分割工作负载并将工作负载分发到可用设备。
跟踪器配置914可定义一组仪表检测目标,其可包括要收集的数据、采样率、和许多其它因素。
在许多情况中,仪表检测目标可能与负载平衡目标关系紧张。一般而言,检测和数据收集可达到某计算成本,意味着随着检测增加,系统的性能下降。在高速、高吞吐量环境中,分发器906可针对处理进入的工作负载的处理容量来平衡仪表检测目标。在某些实例中,分发器906可在高负载期间回缩仪表检测目标,使得整体系统的服务度量的质量得到满足。在其它实例中,分发器906 可允许服务度量的质量达不到,使得仪表检测目标可得到满足。由分发器906 做出的决定可在各种配置文件中被定义。
跟踪器管理器918可管理检测以生成数据检测的总体目标。跟踪器管理器 918可使得不同数据元素从各种工作单元或经检测系统932被收集,接着收集数据。在某些情况中,跟踪器管理器918可执行第一级别聚集、总结、或其它初始处理。
跟踪器管理器918可使用人为负载生成器916来创建或修改工作单元用于测试和数据收集。例如,人为负载生成器916可创建强调应用的指定部分的工作单元。当这样的工作单元被执行时,检测可为工作单元收集数据。这样的工作单元可生产应用结果,该结果可被仪表化系统932丢弃。
分发器902可包括工作器状态收集器920,工作器状态收集器920可与每个工作器设备进行通信以确定当前状态。该状态可指示设备是否可用以接受工作单元。在某些情况中,状态可包括静态的,诸如多余容量、当前工作负载、或其它性能度量。
工作器管理器956可通过将设备添加到受管理设备池中并从其移除来管理可用工作器设备。工作器管理器956可允许新设备连接、认证、并添加到受管理设备的池。管理者可使用工作器管理器956以监视个体设备、配置设备、并向池添加设备或从其移除设备。
在许多实施例中,工作器管理器956可向工作器设备发放认证密钥。认证密钥可以是公共/私有加密密钥系统的部分,其中私有密钥可被存储在设备上并并用来确保通信的安全,而公共密钥被发送到接收设备以解密通信。这的系统可以是用于在设备间认证系统的一个示例,而其它实施例可使用其它系统。
工作器924可操作在硬件平台926上以在执行环境928内执行应用930。应用930可以是预先安装的处理来自分发器906的工作项的一组可执行代码。在某些情况中,应用930可在执行环境928内执行,执行环境928可以是操作系统、虚拟机、框架、或其它支持软件组件。
工作器924可具有认证密钥954,其可被使用以认证与分发器902的通信。密钥954可以是任何类型的认证组件,诸如公共/私有加密密钥集或其它组件。
仪表化系统932可向工作器924那样类似地配置。硬件平台934可支持执行应用938的执行环境936。将检测的系统932可包括跟踪器940,其在执行期间可以是或可不是被分发器902可配置的。仪表化系统932还可包括密钥952 用于向分发器902认证。
在某些实施例中,仪表化系统932可以是像工作器924相同的硬件和软件配置。其它实施例可在仪表化系统932和工作器924之间具有不同硬件或软件配置。
跟踪器940可收集检测或跟踪数据并将那些数据发送到分析系统942。
分析系统942可具有硬件平台944,数据收集器946可从各跟踪器收集跟踪数据948。分析器950可处理跟踪器用于分析、优化、总结或其它功能。
分发器902的示例和其它组件示出了可具有多个功能的设备。在不同的实施例中,各种所示组件的每一个可被部署在一分开的设备上或一组设备上。例如,工作器管理器956、工作器状态收集920、跟踪者管理器918,和其它功能可被部署在各设备上或各组设备上。
图10是示出用于配置工作器设备池并接着以负载平衡和检测平衡的方式操作工作器设备的方法的实施例1000的流程图。实施例1000可示出可在实施例800和900等等所示系统中实现的一个示例进程。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
实施例1000在框1002示出了用于建立并管理工作器资源的池操作序列,接着在框1004示出了用于解析输入流并将工作单元分发到工作器资源的操作模式。在实施例900的示例中,工作器资源可以是各个设备,但是在其它实施例中工作器资源可以是任何用于处理工作单元的资源。在某些情况下,工作器资源可以是子设备资源,诸如处理器、调度器、线程、或其它对象。在其它情况下,工作器资源可以是多个设备一起行动,诸如群集、受管理服务、或其它资源组。
在框1002的管理模式中,各种执行环境可在框1006中被标识。执行环境可指用于处理工作单元的任何资源。在许多情况中,执行环境可以是设备、处理器、或其它计算工作器。
对于框1008中的每个执行环境,在框1010中尝试可被作出以与环境通信并认证。如果在框1012中认证不成功,则在框1014中将环境标记为不可用。
在框1012中成功认证之后,环境的配置和可用性可在框1016被测试。如果在框1018中配置和可用性不行,则在框1020中将环境标记为不可用。当环境在框1012中成功认证且配置和可用性在框1018中行,则在框1022执行环境可被标记为可用。
框1006-1022的过程可表示管理功能,其可在将工作分发给各执行环境前被执行。在某些情况中,框1006-1022的过程可与框1004的操作模式并行执行。在这样的情况中,管理模式的操作可以是各种执行环境的正在进行的及重复检查。
框1004的操作模式可通过在框1024接收跟踪器配置和负载平衡器配置来开始。
在框1026输入流可被接收。在框1028输入流可被解析以标识工作项。对于给定的工作项,可在框1030作出对标识要处理工作项的设备的确定。在某些情况中、跟踪器配置可在框1030被创建,其定义任何数据收集参数。一旦在框1030中作出确定,则在框1032中工作项可被发送到所选执行环境。该过程可返回至框1026以处理下一工作项。
图11是示出跟踪即服务的实施例1100的图示。实施例1100示出了系统的一个配置,其中远程服务1104可与顾客场所1102上的系统集成,其中远程访问1104可提供仪表化执行环境以处理工作负载并生成跟踪数据。
顾客场所1102可在用户的控制下执行应用。顾客场所1102可以是物理场所,诸如用户可访问的建筑物或商店。在某些情况中,顾客场所1102可包括在第三方场所拥有并位于第三方场所的但由用户控制的一个或多个计算机。这样的系统的示例可以是主存在云上的执行系统,在那里用户可购买计算资源。资源可被第三方拥有,但是用户可控制那些资源如何部署。
远程服务1104可接收工作项并使用经检测环境1114来执行那些工作项。仪表化环境1114可具有可在工作项执行时捕捉各种跟踪数据的硬件和软件组件。在某些情况中,仪表化环境可包括工具、测量算法、探测、和安装、管理、执行、或以其他方式部署不方便或成本高的其它组件。
在顾客场所1102内,应用输入流1106可以被传递到分发器1108。分发器系统1108可解析来自输入流的工作项并将工作项传递到各种执行环境1110。执行环境1110的输出可以是应用输出1112。
分发器1108可将某些或全部工作项传送到经检测环境1114(其可为远程访问1104的部分)。在一些情况中,可以使用经检测环境1114的多个实例。
负载生成器1128可创建可被注入输入流1106的测试负载。测试负载可以是可被经检测环境1114处理以练习应用的数据。在许多情况中,测试负载可以以比典型或随机输入流复杂得多的方式联系应用。这样的测试负载可执行单元测试或可被设计来练习各种极端情况和条件的其它测试。在某些情况中,测试负载可使应用经受可压迫系统性能的大负载。这样的测试负载可帮助标识性能瓶颈并测量在峰值负载时间期间整个吞吐量或响应时间。
远程访问1104可包括认证、授权、以及记账系统1116,其可管理远程服务1104的各种管理方面。管理用户接口可允许用户创建帐户、定义支付机制、并管理仪表化环境1114。
检测市场1122可以是网站或其它界面,用户通过它可浏览预先配置的经检测系统1124和预先配置的负载生成器1126。各种预先配置的系统的每一个可针对指定类型的数据收集来被定制。某些预先配置的系统可具备附加特征、算法、或在其它预先配置的系统上不可用的能力。如此,某些预先配置的系统可具备与其它预先配置的系统不同的成本结构。
用户可能能够选择预先配置的经检测系统1124和预先配置的负载生成器 1126作为配置针对给定应用的测试制度的开始点。在某些实施例中,用户可选择预先配置的系统接着添加、移除、或编辑各种设置来获得特定目的。
在某些实施例中,用户可能能够将预先配置的仪表化系统保存在检测市场 1122中供重新使用。在某些这样的实施例中,第三方可能能够将它们自己的仪表化系统上传以供在在检测市场1122中销售。
图12是示出其中远程服务可提供检测或跟踪的网络环境的实施例1200的图。实施例1200示出可实现实施例1100以及其他实施例中描述的操作的某些的硬件和软件组件。
图12的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。
实施例1200中所示的各种设备的每一个可具有硬件平台。相应的硬件平台可类似于实施例100中的硬件平台100。设备可以是任何类型的硬件平台,诸如个人计算机、服务器计算机、游戏控制台、平板计算机、移动电话、或具有可编程处理器的任何其它设备。
实施例1200可示出环境,其中检测系统可从远程服务提供,接着添加到用户系统的计算流水线。检测系统可包括负载生成器以及数据收集器,其可根据用户的应用来操作以在执行期间收集关于应用的各种数据。
用户可通过管理用户界面与远程服务进行交互。用户可能能够执行各种管理认为,诸如建立帐户和支付方式,以及选择并配置可被集成到用户应用中去的测试组件。远程服务可包括检测市场,其中用户可浏览各种预先配置的负载生成器和预先配置的仪表化工作器。一旦选择,用户可能能够配置或定制组件,接着管理组件如何可被部署。
用户系统可包括工作负载分发器1202和在内部网络1210中连接的各种工作器1212。工作负载分发器1202可接收应用的工作单元,接着将工作单元分发到各种工作器1212。这样的系统的示例可以是群集工作环境。
在实施例1200的示例中,用户的系统被示为可对大应用的执行作出贡献的多个设备。在其它实施例中,各组件可被部署在单个设备上。
分发器1202可以在硬件平台1204上操作,硬件平台1204可包括分发器 1206。分发器1206可以是可接收输入流、将输入流解析为工作单元、接着使得工作单元在各种工作器1212上执行的软件组件。
分发器1202可包括配置1207,其可包括负载平衡和检测目的两者。配置 1207还可包括可被用来将工作单元的某些或全部分发到一个或多个经检测工作器1222的信息,工作器1222可执行工作负载并收集关于执行的数据。
认证系统1208可允许分发器1202建立与远程系统组件的受信的,且在某些情况中,安全的通信。
工作器1212可包括硬件平台1214和可执行各种工作项的执行环境1216。实施例1200中的工作器1212可通过内部网络1210连接到分发器1202。在许多系统中,内部网络1210内的连接可以被看成受信和安全的,因为防火墙1218 和其它安全措施。如此,工作器1212可被部署而无需认证系统。
防火墙1218可在直接在用户的控制下的设备和可由第三方提供的设备或服务之间定义边界。在某些实施例中,各种检测组件可跨外部网络1220(可包括互联网)可用。在许多情况下,可使得各种远程服务对许多不同用户可用。
第三方可通过建立与用户系统内的分发器1206的连接来向用户提供负载生成和检测服务。
分发器1206可在应用中的期望检测的位置操作。在某些情况下,分发器 1206可以是函数调用或可被插入应用的其它指令。这样的指令可被编程者添加到用户应用。
经检测工作器1222可执行应用的一部分,如分发器1206所定义的。仪表化工作器1222可具有执行环境1226可在其上执行来自分发器1206的工作单元的硬件平台1224。在执行工作单元时,跟踪器1228可收集数据,其可被分析器1230分析。现在在实施例1200中示出的可能是可收集并存储跟踪数据的单独的设备。
仪表化系统1222可包括可包括密钥1234的认证系统1232。密钥1234可能是任何类型的令牌、密钥、口令短语,或可被用来向分发器1202上的认证系统1208认证经检测工作器1222的其它项。在某些情况下,密钥1234可以是一组公共/私有加密密钥。
负载生成器1260可以是另一检测组件,其可被当做远程服务来配置和部署。负载生成器1260可生成可被待测试的应用执行的人为负载或其它输入。在某些情况下,负载生成器1260可创建单元测试或可练习应用的其它输入。在其它情况中,负载生成器1260可生成可练习应用的大负载,以确定性能瓶颈或其它对性能的限制。
负载生成器1260可以具有带负载生成器1264的硬件平台1262。配置1266 可定义负载生成器1264如何操作,包括要生成的数据的类型,连同定时、频率、和其它操作方面。
认证系统1268可键负载生成器1260向分发器1202认证。认证系统1268 可包括一个或多个密钥1270用于与分发器1202进行通信。
管理服务器1236可执行许多设置、配置、和管理操作来部署各种经检测工作器1222和负载生成器1260。管理服务器1236被示为操作在单个硬件平台 1238上,尽管其它实施例可在不同平台上部署各种组件。
管理用户界面1240可以是网站、应用、或其它用户界面,通过该用户界面用户可执行许多管理任务。用户可建立帐户并使用认证和授权系统1242创建各种认证组件。密钥生成器1246和密钥数据库1244可分别被创建并存储可被部署到检测组件和用户系统的各种认证密钥。
记账系统1240和支付系统1250可以是远程服务可通过它收集钱以供操作的机制。记账系统1240可标识各检测组件的每个用途,而支付系统1250可将钱从用户传送到服务提供方以交换对系统的使用。
许多不同的支付方案可被部署以向用户开具远程服务的账单。例如,按月订购可为一个或多个仪表化系统支付。在另一个示例中,仪表化系统1222和负载生成器1260可基于处理器周期、按计算小时、按消费的存储、或其它基础来开账单。
检测市场1254可以是界面,用户通过它可浏览各种预先配置的经检测系统1256和预先配置的负载生成器1258。用户可能接着那个选择并在部署预先配置的组件前进一步配置该组件。
图13是示出用于配置检测系统的实施例1300的流程图示。实施例1300 示出了用户与管理服务器交互以配置、部署、并管理检测系统的过程的一个示例。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
实施例1300示出了用户可通过建立并部署检测系统的方法。检测系统可以是仪表化工作器设备、负载生成器、或其它组件。
用户可在框1302开始会话,在框1304建立用户帐户,并在框1306建立支付方法。用户账户可允许用户在以后的时间登录并添加、移除、和编辑各种检测系统的操作。支付方法可以是通过它可对提供检测访问的第三方进行支付的机制。
用户可在框1308中浏览预先配置的检测系统。预先配置的系统可具有不同的能力。例如,一个仪表化执行环境可具备性能监视能力,而另一个仪表化执行环境可具备处理或调用跟踪的能力。在另一个示例中,一个负载生成器可被配置用于产生HTTP请求,而另一个负载生成器可被配置用于TCP/IP请求。
在框1310选择检验系统之后,要被收集的数据可在框1312被定义,且各种收集参数和逻辑在框1314被定义。在框1312和1314定义的配置变量可在框1316被存储以允许检测系统在框1318被部署。
要在框1312收集的数据可定义指定参数、参数的类型、或其它关于数据收集的信息。在负载生成器的情况中,框1312的参数可定义要被生产的负载,其可与由对应的经检测执行环境执行的数据收集协作。
在框1314中的收集参数和逻辑可定义条件,在此条件下数据可被收集。条件可以是事件、参数值、时间帧、采样率、或其它可定义数据何时可被收集的定义。在某些情况中,条件可被分发器解释以确定哪些工作单元被发送到仪表化执行环境。
在定义要被收集的数据以及数据何时及如何可被收集之后,在框1316配置可被存储。在某些情况中,经存储的配置可作为另一个预先配置的经检测系统被添加在检测市场中。这样的存储可被全体公众访问或可被限于仅可被创建配置的用户访问。
仪表化系统可在框1318被部署并与用户的系统进行接口。
如果在框1320有另一系统要被配置,该过程可以返回到框1308。一旦全部的系统被部署,用户可在框1322浏览并查看部署的系统。用户可在框1324 选择系统,并且如果用户想要在框1326作出改变,该过程可返回框1312。
图14是示出用于部署仪表化系统的方法的实施例1400的流程图示。实施例1400示出了仪表化系统的部署的一个示例,诸如可在实施例1300的框1318 中可执行的。
其他实施例可使用不同的排序、更多或更少的步骤、以及不同的命名或术语来完成相似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。
实施例1400可示出可被执行以部署仪表化系统的过程的一个示例。仪表化系统可以是负载生成器、仪表化工作器、或其它组件。
在框1402用于仪表化系统的配置文件可被创建,且在框1404仪表化系统可被实例化。在某些实施例中,每个仪表化系统可以是虚拟机或可在数据中心环境内被实例化并管理的其它组件。
在框1406可创建用于认证密钥,且密钥可在框1408被发送到系统。在框 1406和1408,任何协议或其它配置可被执行以连接到分发器或管理系统。
可在框1410作出尝试以连接到顾客的系统上的分发器。如果在框1412连接不成功,则分发器可通过在框1414标识检测点并在框1416将分发器添加到顾客系统而被安装并配置。在许多情况中,编程者可添加函数调用或对顾客的应用作出其它改变以添加分发器。分发器可在框1418被配置来与仪表化系统通信。该过程可继续至框1420。
在分发器在框1418被配置之后或在框1412存在成功连接,检测系统可作为可用系统在框1420被添加到分发器。在框1422处可建立认证机制,并且系统可在框1424处开始操作。
对本发明的上述描述是出于图示和描述的目的而呈现的。它不旨在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。
Claims (28)
1.一种由计算机处理器执行的用工作负载分发器来跟踪的方法,所述方法包括:
接收应用的输入流,所述应用在多个执行环境上执行,所述输入流包括工作元素,所述工作元素是所述应用的离散工作单元;
从所述多个执行环境的每一个接收状态,所述状态包括执行工作的可能性;接收定义在第二执行环境上执行所述离散工作单元的条件的配置定义,所述配置定义包括负载平衡目标和数据收集目标;
在所述应用执行期间解析所述输入流来标识所述离散工作单元,确定用于第一工作单元的第一数据收集目标,并使得所述第一工作单元在第一执行环境上以所述第一数据收集目标来执行;
将所述第一数据收集目标发送到所述第一执行环境;
确定用于第二工作单元的第二数据收集目标;
确定所述多个执行环境接近容量;
将所述第二数据收集目标改变为受限第二数据收集目标;以及
使得所述第二工作单元以所述受限第二数据收集目标来执行。
2.如权利要求1所述的方法,其特征在于,所述第二工作单元由所述第一执行环境执行。
3.如权利要求2所述的方法,其特征在于,所述第一数据收集目标不同于所述受限第二数据收集目标。
4.如权利要求3所述的方法,其特征在于,进一步包括:
向所述第一执行环境发送第一认证机制。
5.如权利要求4所述的方法,其特征在于,进一步包括:
从所述第一执行环境接收第二认证机制。
6.如权利要求5所述的方法,其特征在于,进一步包括:
所述第二认证机制作为所述状态的部分来被接收。
7.如权利要求1所述的方法,其特征在于,进一步包括:
确定用于第二工作单元的第二数据收集目标;
确定所述多个执行环境具有多余容量;
将所述第二数据收集目标改变为广泛的第二数据收集目标;以及
使得所述第二工作单元以所述广泛的第二数据收集目标来执行。
8.如权利要求7所述的方法,其特征在于,所述第二工作单元由所述第一执行环境执行。
9.如权利要求1所述的方法,其特征在于,进一步包括:
使得所述第一工作单元以第二数据收集目标在第二执行环境上执行。
10.如权利要求9所述的方法,其特征在于,所述第二数据收集目标不同于所述第一数据收集目标。
11.如权利要求1所述的方法,其特征在于,进一步包括:
确定所述第一执行环境具有预配置的在所述第一数据收集目标内的数据收集能力。
12.如权利要求11所述的方法,其特征在于,进一步包括:
确定第二执行环境不具有预配置的数据收集能力并确定所述第二执行环境将不执行所述第一工作项。
13.权利要求12所述的方法,其特征在于,所述第一执行的所述状态包括用于所述预配置的数据收集能力的指示符。
14.权利要求1所述的方法,其特征在于,所述配置定义包括服务的目标质量。
15.一种用工作负载分发器来跟踪的系统,包括:
处理器;
接收要执行的应用工作负载的负载接收器,所述应用工作负载包括工作单元;
从多个执行环境接收状态信息的工作器状态收集器;
在所述处理器上执行的分发器,所述分发器:
接收定义在第二执行环境上执行离散工作单元的条件的配置定义,所述配置定义包括负载平衡对象和数据收集目标;
在所述应用执行期间解析输入流来标识所述离散工作单元,确定用于第一工作单元的第一数据收集目标;
使得所述第一工作单元用第一数据收集目标在第一执行环境上执行;
将所述第一数据收集目标发送到所述第一执行环境;
确定用于第二工作单元的第二数据收集目标;
确定所述多个执行环境接近容量;
将所述第二数据收集目标改变为受限第二数据收集目标;以及
使得所述第二工作单元以所述受限第二数据收集目标来执行。
16.如权利要求15所述的系统,其特征在于,所述第二工作单元由所述第一执行环境执行。
17.如权利要求16所述的系统,其特征在于,所述第一数据收集目标不同于所述受限第二数据收集目标。
18.如权利要求17所述的系统,其特征在于,所述分发器进一步:
向所述第一执行环境发送第一认证机制。
19.如权利要求18所述的系统,其特征在于,所述分发器进一步:
从所述第一执行环境接收第二认证机制。
20.如权利要求19所述的系统,其特征在于,所述第二认证机制作为所述状态的部分来被接收。
21.如权利要求15所述的系统,其特征在于,所述分发器进一步:
确定用于第二工作单元的第二数据收集目标;
确定所述多个执行环境具有多余容量;
将所述第二数据收集目标改变为广泛的第二数据收集目标;以及
使得所述第二工作单元以所述广泛的第二数据收集目标来执行。
22.如权利要求21所述的系统,其特征在于,所述第二工作单元由所述第一执行环境执行。
23.如权利要求15所述的系统,其特征在于,所述分发器进一步:
使得所述第一工作单元用第二数据收集目标在第二执行环境上执行。
24.如权利要求23所述的系统,其特征在于,所述第二数据收集目标不同于所述第一数据收集目标。
25.如权利要求15所述的系统,其特征在于,所述分发器进一步:
确定所述第一执行环境具有预配置的在所述第一数据收集目标内的数据收集容量。
26.如权利要求25所述的系统,其特征在于,所述分发器进一步:确定第二执行环境不具有预配置的数据收集能力并确定所述第二执行环境将不执行所述第一工作项。
27.权利要求26所述的系统,其特征在于,所述第一执行的所述状态包括用于所述预配置的数据收集能力的指示符。
28.权利要求15所述的系统,其特征在于,所述配置定义包括服务的目标质量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/751,012 | 2013-01-25 | ||
US13/751,012 US8954546B2 (en) | 2013-01-25 | 2013-01-25 | Tracing with a workload distributor |
PCT/US2013/042788 WO2014116294A1 (en) | 2013-01-25 | 2013-05-27 | Tracing with a workload distributor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105103147A CN105103147A (zh) | 2015-11-25 |
CN105103147B true CN105103147B (zh) | 2018-01-26 |
Family
ID=49914966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075071.1A Active CN105103147B (zh) | 2013-01-25 | 2013-05-27 | 用工作负载分发器来跟踪的方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8954546B2 (zh) |
EP (1) | EP2948862B1 (zh) |
CN (1) | CN105103147B (zh) |
WO (1) | WO2014116294A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268673B2 (en) * | 2010-10-20 | 2016-02-23 | Sony Computer Entertainment America Inc. | Load testing online game server environment using web-based interface |
US8495598B2 (en) | 2012-05-01 | 2013-07-23 | Concurix Corporation | Control flow graph operating system configuration |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US8793669B2 (en) | 2012-07-17 | 2014-07-29 | Concurix Corporation | Pattern extraction from executable code in message passing environments |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US9207969B2 (en) | 2013-01-25 | 2015-12-08 | Microsoft Technology Licensing, Llc | Parallel tracing for performance and detail |
US9021262B2 (en) | 2013-01-25 | 2015-04-28 | Concurix Corporation | Obfuscating trace data |
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US9021447B2 (en) | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US9720716B2 (en) * | 2013-03-12 | 2017-08-01 | Intel Corporation | Layered virtual machine integrity monitoring |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
EP3069241B1 (en) | 2013-11-13 | 2018-08-15 | Microsoft Technology Licensing, LLC | Application execution path tracing with configurable origin definition |
CN105765560B (zh) | 2013-11-13 | 2019-11-05 | 微软技术许可有限责任公司 | 基于多次跟踪执行的软件组件推荐 |
US9846632B2 (en) * | 2014-10-08 | 2017-12-19 | Signalfx, Inc. | Real-time reporting based on instrumentation of software |
US9804830B2 (en) * | 2014-12-19 | 2017-10-31 | Signalfx, Inc. | Anomaly detection using a data stream processing language for analyzing instrumented software |
US10394692B2 (en) | 2015-01-29 | 2019-08-27 | Signalfx, Inc. | Real-time processing of data streams received from instrumented software |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
EP3329429A4 (en) * | 2015-07-31 | 2019-04-03 | Cisco Technology, Inc. | QUORUM-BASED DISTRIBUTED ANOMALY AND REPAIR |
US10205708B1 (en) * | 2015-08-21 | 2019-02-12 | Teletracking Technologies, Inc. | Systems and methods for digital content protection and security in multi-computer networks |
US10685306B2 (en) * | 2015-12-07 | 2020-06-16 | Sap Se | Advisor generating multi-representations of time series data |
US10095757B2 (en) | 2015-12-07 | 2018-10-09 | Sap Se | Multi-representation storage of time series data |
US10114636B2 (en) * | 2016-04-20 | 2018-10-30 | Microsoft Technology Licensing, Llc | Production telemetry insights inline to developer experience |
US10560308B2 (en) | 2017-08-11 | 2020-02-11 | Microsoft Technology Licensing, Llc | Correlation across non-logging components |
US10965517B2 (en) | 2017-08-11 | 2021-03-30 | Microsoft Technology Licensing, Llc | Correlation across non-logging components |
US10484461B2 (en) * | 2017-08-11 | 2019-11-19 | Microsoft Technology Licensing, Llc | Correlation across non-logging components |
US11237946B2 (en) * | 2018-05-03 | 2022-02-01 | Sap Se | Error finder tool |
CN109739741A (zh) * | 2018-11-26 | 2019-05-10 | 北京网众共创科技有限公司 | 系统测试方法和装置、存储介质及电子装置 |
US11113385B2 (en) | 2018-12-21 | 2021-09-07 | Paypal, Inc. | Communicating trace information between security zones |
US10922210B2 (en) * | 2019-02-25 | 2021-02-16 | Microsoft Technology Licensing, Llc | Automatic software behavior identification using execution record |
US11080114B2 (en) | 2019-11-26 | 2021-08-03 | International Business Machines Corporation | Controlling interaction with a scalable application |
US11356524B1 (en) | 2020-12-18 | 2022-06-07 | International Business Machines Corporation | Coordinating requests actioned at a scalable application |
LU500189B1 (en) * | 2021-05-21 | 2022-11-21 | Microsoft Technology Licensing Llc | Using entropy to prevent inclusion of payload data in code execution log data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595457A (zh) * | 2006-12-06 | 2009-12-02 | 艾利森电话股份有限公司 | 负载平衡剖析 |
WO2012106571A2 (en) * | 2011-02-04 | 2012-08-09 | Opnet Technologies, Inc. | Overhead management for event tracing |
Family Cites Families (516)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4907151A (en) | 1988-09-30 | 1990-03-06 | Digital Equipment Corporation | System and method for garbage collection with ambiguous roots |
JP2765969B2 (ja) | 1989-07-31 | 1998-06-18 | 株式会社日立製作所 | 図式データ駆動型プログラム開発支援装置 |
US5179702A (en) | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
CA2078315A1 (en) | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
US5369570A (en) | 1991-11-14 | 1994-11-29 | Parad; Harvey A. | Method and system for continuous integrated resource management |
DE4332993C1 (de) * | 1993-09-28 | 1994-11-24 | Siemens Ag | Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen |
US5606688A (en) | 1994-08-31 | 1997-02-25 | International Business Machines Corporation | Method and apparatus for dynamic cache memory allocation via single-reference residency times |
US5778004A (en) | 1995-06-02 | 1998-07-07 | Unisys Corporation | Vector translator |
US5689363A (en) | 1995-06-12 | 1997-11-18 | The Regents Of The University Of California | Long-pulse-width narrow-bandwidth solid state laser |
US5870606A (en) | 1996-05-01 | 1999-02-09 | International Business Machines Corp. | Data triggered trace technique for debugging software programs |
US5758183A (en) | 1996-07-17 | 1998-05-26 | Digital Equipment Corporation | Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution |
US6591414B2 (en) | 1996-10-28 | 2003-07-08 | Fujitsu Limited | Binary program conversion apparatus, binary program conversion method and program recording medium |
JP3730740B2 (ja) | 1997-02-24 | 2006-01-05 | 株式会社日立製作所 | 並列ジョブ多重スケジューリング方法 |
US6330008B1 (en) * | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
JPH10240813A (ja) | 1997-02-26 | 1998-09-11 | Honda Motor Co Ltd | 業務管理システム |
US5937194A (en) | 1997-03-12 | 1999-08-10 | International Business Machines Corporation | Method of, system for, and article of manufacture for providing a generic reduction object for data parallelism |
US6892226B1 (en) | 1997-03-27 | 2005-05-10 | Intel Corporation | System for delivery of dynamic content to a client device |
US5953736A (en) | 1997-04-23 | 1999-09-14 | Sun Microsystems, Inc. | Write barrier system and method including pointer-specific instruction variant replacement mechanism |
US7091948B2 (en) | 1997-04-25 | 2006-08-15 | Immersion Corporation | Design of force sensations for haptic feedback computer interfaces |
US6032201A (en) | 1997-06-19 | 2000-02-29 | Cirrus Logic, Inc. | Plug and play system using proxy for retrieving correct information about current device from system registry when current device is not the newly installed device |
US6658447B2 (en) | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6202199B1 (en) | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6286130B1 (en) | 1997-08-05 | 2001-09-04 | Intel Corporation | Software implemented method for automatically validating the correctness of parallel computer programs |
US6083281A (en) | 1997-11-14 | 2000-07-04 | Nortel Networks Corporation | Process and apparatus for tracing software entities in a distributed system |
GB9725742D0 (en) | 1997-12-04 | 1998-02-04 | Hewlett Packard Co | Object gateway |
US6662358B1 (en) | 1997-12-12 | 2003-12-09 | International Business Machines Corporation | Minimizing profiling-related perturbation using periodic contextual information |
US6513155B1 (en) * | 1997-12-12 | 2003-01-28 | International Business Machines Corporation | Method and system for merging event-based data and sampled data into postprocessed trace output |
US6059842A (en) | 1998-04-14 | 2000-05-09 | International Business Machines Corp. | System and method for optimizing computer software and hardware |
AU5461099A (en) | 1998-07-30 | 2000-02-21 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6158049A (en) | 1998-08-11 | 2000-12-05 | Compaq Computer Corporation | User transparent mechanism for profile feedback optimization |
US6381735B1 (en) | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US7039919B1 (en) * | 1998-10-02 | 2006-05-02 | Microsoft Corporation | Tools and techniques for instrumenting interfaces of units of a software program |
US6826752B1 (en) | 1998-12-17 | 2004-11-30 | California Institute Of Technology | Programming system and thread synchronization mechanisms for the development of selectively sequential and multithreaded computer programs |
US6230313B1 (en) | 1998-12-23 | 2001-05-08 | Cray Inc. | Parallelism performance analysis based on execution trace information |
US6378066B1 (en) | 1999-02-04 | 2002-04-23 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications |
US6321240B1 (en) | 1999-03-15 | 2001-11-20 | Trishul M. Chilimbi | Data structure partitioning with garbage collection to optimize cache utilization |
US7185367B2 (en) | 1999-05-11 | 2007-02-27 | Cylant, Inc. | Method and system for establishing normal software system behavior and departures from normal behavior |
US6397382B1 (en) | 1999-05-12 | 2002-05-28 | Wind River Systems, Inc. | Dynamic software code instrumentation with cache disabling feature |
US6636242B2 (en) | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US6856950B1 (en) | 1999-10-15 | 2005-02-15 | Silicon Graphics, Inc. | Abstract verification environment |
US6584487B1 (en) | 1999-11-16 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method, system, and apparatus for managing tasks |
US6748420B1 (en) | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
US6629128B1 (en) | 1999-11-30 | 2003-09-30 | Recursion Software, Inc. | System and method for distributed processing in a computer network |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
JP3641997B2 (ja) | 2000-03-30 | 2005-04-27 | 日本電気株式会社 | プログラム変換装置及び方法並びに記録媒体 |
US7254607B2 (en) | 2000-03-30 | 2007-08-07 | United Devices, Inc. | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US7003781B1 (en) * | 2000-05-05 | 2006-02-21 | Bristol Technology Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
GB0011020D0 (en) | 2000-05-09 | 2000-06-28 | Ibm | Intercepting system API calls |
GB2367642B (en) * | 2000-05-27 | 2004-05-05 | Ibm | Performance profiling tool |
US6735687B1 (en) | 2000-06-15 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Multithreaded microprocessor with asymmetrical central processing units |
US6704024B2 (en) | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
US20020112033A1 (en) | 2000-08-09 | 2002-08-15 | Doemling Marcus F. | Content enhancement system and method |
CA2315449A1 (en) | 2000-08-10 | 2002-02-10 | Ibm Canada Limited-Ibm Canada Limitee | Generation of runtime execution traces of applications and associated problem determination |
GB2366879B (en) | 2000-09-16 | 2005-02-16 | Ibm | Tracing the execution path of a computer program |
US7065763B1 (en) | 2000-09-29 | 2006-06-20 | Emc Corporation | Method of reducing contention of a highly contended lock protecting multiple data items |
US20040205718A1 (en) | 2000-12-11 | 2004-10-14 | Sun Microsystems, Inc. | Self-tuning object libraries |
US7058927B2 (en) | 2000-12-21 | 2006-06-06 | Veritas Operating Corporation | Computer software run-time analysis systems and methods |
US7197505B2 (en) | 2000-12-22 | 2007-03-27 | Star Bridge Systems, Inc. | Multi-dimensional recursive wavefront behavioral synthesis |
US8312435B2 (en) | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US7730001B2 (en) | 2001-02-09 | 2010-06-01 | International Business Machines Corporation | Computer system program and method to characterize each of a plurality of objects used at runtime to determine a lowest cost property among a plurality of potential alternative properties for each of said objects minimizing total cost of interaction among components during program execution |
US7249094B2 (en) | 2001-02-26 | 2007-07-24 | Paypal, Inc. | System and method for depicting on-line transactions |
US6813731B2 (en) | 2001-02-26 | 2004-11-02 | Emc Corporation | Methods and apparatus for accessing trace data |
US6598141B1 (en) | 2001-03-08 | 2003-07-22 | Microsoft Corporation | Manipulating interior pointers on a stack during garbage collection |
US20020184615A1 (en) * | 2001-04-25 | 2002-12-05 | Sumner William Earl | System and method for selectively and automatically modifying the source code of a computer program |
US7047521B2 (en) | 2001-06-07 | 2006-05-16 | Lynoxworks, Inc. | Dynamic instrumentation event trace system and methods |
WO2002103551A1 (en) | 2001-06-15 | 2002-12-27 | Cadence Design Systems, Inc. | Enhancing mergeability of datapaths and reducing datapath widths by rebalancing data flow topology |
US20020199179A1 (en) | 2001-06-21 | 2002-12-26 | Lavery Daniel M. | Method and apparatus for compiler-generated triggering of auxiliary codes |
US6593883B2 (en) | 2001-06-25 | 2003-07-15 | Motorola, Inc. | Timing estimation method and apparatus for a location system |
US20020196229A1 (en) | 2001-06-26 | 2002-12-26 | Frank Chen | Graphics-based calculator capable of directly editing data points on graph |
US6928488B1 (en) | 2001-06-27 | 2005-08-09 | Microsoft Corporation | Architecture and method for serialization and deserialization of objects |
US7117504B2 (en) | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US20040205217A1 (en) | 2001-07-13 | 2004-10-14 | Maria Gabrani | Method of running a media application and a media system with job control |
US7020659B2 (en) | 2001-08-15 | 2006-03-28 | Oic Acquistion I Corporation | System and method for managing bi-directional relationships between objects |
US7093234B2 (en) | 2001-08-24 | 2006-08-15 | International Business Machines Corporation | Dynamic CPU usage profiling and function call tracing |
US8473922B2 (en) * | 2001-09-19 | 2013-06-25 | Hewlett-Packard Development Company, L.P. | Runtime monitoring in component-based systems |
US6954924B2 (en) | 2001-09-20 | 2005-10-11 | International Business Machines Corporation | System and method for employing externalized, dynamically configurable, cacheable trigger points |
US7213240B2 (en) | 2001-10-05 | 2007-05-01 | Sun Microsystems, Inc. | Platform-independent selective ahead-of-time compilation |
US7499907B2 (en) | 2001-10-12 | 2009-03-03 | Teradata Us, Inc. | Index selection in a database system |
US7117497B2 (en) | 2001-11-08 | 2006-10-03 | Honeywell International, Inc. | Budget transfer mechanism for time-partitioned real-time operating systems |
US7984126B2 (en) * | 2002-01-22 | 2011-07-19 | Siemens Medical Solutions Usa, Inc. | Executable application network impact and load characteristic estimation system |
US20030145314A1 (en) | 2002-01-31 | 2003-07-31 | Khoa Nguyen | Method of efficient dynamic data cache prefetch insertion |
US20040015600A1 (en) | 2002-02-21 | 2004-01-22 | Ashutosh Tiwary | Workload post-processing and parameterization for a system for performance testing of N-tiered computer systems using recording and playback of workloads |
US7275243B2 (en) | 2002-03-22 | 2007-09-25 | Sun Microsystems, Inc. | Mobile download system |
US20030231207A1 (en) | 2002-03-25 | 2003-12-18 | Baohua Huang | Personal e-mail system and method |
US7890771B2 (en) | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
AU2003234144B2 (en) | 2002-04-19 | 2008-12-04 | Opentv, Inc. | Supporting common interactive television functionality through presentation engine syntax |
US7398531B2 (en) | 2002-05-07 | 2008-07-08 | Oracle International Corporation | Providing common memory management code to objects that are instances of different classes |
US7451206B2 (en) | 2002-05-20 | 2008-11-11 | Siemens Communications, Inc. | Send of software tracer messages via IP from several sources to be stored by a remote server |
CN1662901A (zh) | 2002-06-25 | 2005-08-31 | 国际商业机器公司 | 用于在分布式环境中监视应用性能的方法和系统 |
US7143412B2 (en) | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
AU2003259742B2 (en) | 2002-08-09 | 2010-07-15 | Reflexion Networks, Inc. | System and method for controlling access to an electronic message recipient |
US7146607B2 (en) | 2002-09-17 | 2006-12-05 | International Business Machines Corporation | Method and system for transparent dynamic optimization in a multiprocessing environment |
US7310777B2 (en) | 2002-10-18 | 2007-12-18 | Computer Associates Think, Inc. | User interface for viewing performance information about transactions |
US7225431B2 (en) * | 2002-10-24 | 2007-05-29 | International Business Machines Corporation | Method and apparatus for setting breakpoints when debugging integrated executables in a heterogeneous architecture |
US7143396B2 (en) | 2002-11-06 | 2006-11-28 | Sun Microsystems, Inc. | System and method for measuring code segment performance |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US7100151B2 (en) | 2002-11-22 | 2006-08-29 | Texas Instruments Incorporated | Recovery from corruption using event offset format in data trace |
JP4436036B2 (ja) | 2002-12-18 | 2010-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、トレース処理方法、プログラム及び記録媒体 |
US7305663B1 (en) * | 2002-12-18 | 2007-12-04 | Advanced Micro Devices, Inc. | System and method for state-based profiling of multiprocessor systems |
US20040154010A1 (en) | 2003-01-31 | 2004-08-05 | Pedro Marcuello | Control-quasi-independent-points guided speculative multithreading |
US7275239B2 (en) * | 2003-02-10 | 2007-09-25 | International Business Machines Corporation | Run-time wait tracing using byte code insertion |
US7587584B2 (en) | 2003-02-19 | 2009-09-08 | Intel Corporation | Mechanism to exploit synchronization overhead to improve multithreaded performance |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US7334230B2 (en) | 2003-03-31 | 2008-02-19 | International Business Machines Corporation | Resource allocation in a NUMA architecture based on separate application specified resource and strength preferences for processor and memory resources |
US6915212B2 (en) | 2003-05-08 | 2005-07-05 | Moac, Llc | Systems and methods for processing complex data sets |
US7162664B2 (en) * | 2003-06-20 | 2007-01-09 | Microsoft Corporation | Debugging breakpoints on pluggable components |
US20050015368A1 (en) | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Query modelling tool having a dynamically adaptive interface |
JP4321705B2 (ja) * | 2003-07-29 | 2009-08-26 | 株式会社日立製作所 | スナップショットの取得を制御するための装置及び記憶システム |
US7149933B2 (en) * | 2003-08-07 | 2006-12-12 | Arm Limited | Data processing system trace bus |
WO2005017735A1 (ja) | 2003-08-19 | 2005-02-24 | Fujitsu Limited | ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム |
US7415044B2 (en) | 2003-08-22 | 2008-08-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Remote synchronization in packet-switched networks |
US7194664B1 (en) | 2003-09-08 | 2007-03-20 | Poon Fung | Method for tracing application execution path in a distributed data processing system |
US20050066149A1 (en) | 2003-09-22 | 2005-03-24 | Codito Technologies Private Limited | Method and system for multithreaded processing using errands |
US7457872B2 (en) | 2003-10-15 | 2008-11-25 | Microsoft Corporation | On-line service/application monitoring and reporting system |
US7478371B1 (en) | 2003-10-20 | 2009-01-13 | Sun Microsystems, Inc. | Method for trace collection |
US7577943B2 (en) | 2003-10-24 | 2009-08-18 | Microsoft Corporation | Statistical memory leak detection |
US7587709B2 (en) | 2003-10-24 | 2009-09-08 | Microsoft Corporation | Adaptive instrumentation runtime monitoring and analysis |
JP2005149136A (ja) | 2003-11-14 | 2005-06-09 | Fujitsu Ltd | 情報収集プログラム、情報収集方法、情報収集システムおよび情報収集装置 |
US7389494B1 (en) | 2003-11-14 | 2008-06-17 | Sun Microsystems, Inc. | Mechanism for statically defined trace points with minimal disabled probe effect |
WO2005050404A2 (en) | 2003-11-17 | 2005-06-02 | Virginia Tech Intellectual Properties, Inc. | Transparent checkpointing and process migration in a distributed system |
US7584500B2 (en) | 2003-11-19 | 2009-09-01 | Hughes Network Systems, Llc | Pre-fetching secure content using proxy architecture |
US20050131995A1 (en) | 2003-12-11 | 2005-06-16 | International Business Machines Corporation | Autonomic evaluation of web workload characteristics for self-configuration memory allocation |
US7580905B2 (en) | 2003-12-15 | 2009-08-25 | Intel Corporation | Adaptive configuration of platform |
US6970805B1 (en) | 2003-12-23 | 2005-11-29 | Unisys Corporatiion | Analysis of data processing system performance |
US20050149912A1 (en) | 2003-12-29 | 2005-07-07 | Intel Corporation | Dynamic online optimizer |
US7526757B2 (en) | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
US7490218B2 (en) | 2004-01-22 | 2009-02-10 | University Of Washington | Building a wavecache |
US7913305B2 (en) | 2004-01-30 | 2011-03-22 | Microsoft Corporation | System and method for detecting malware in an executable code module according to the code module's exhibited behavior |
US20050180330A1 (en) | 2004-02-17 | 2005-08-18 | Touchgraph Llc | Method of animating transitions and stabilizing node motion during dynamic graph navigation |
US7882546B2 (en) | 2004-03-04 | 2011-02-01 | International Business Machines Corporation | Controlling access of a client system to an access protected remote resource |
DE602004010881D1 (de) | 2004-03-25 | 2008-02-07 | Software Engineering Gmbh | Bereitstellung eines Pfadzugriffs auf Dateien in einer Datenbank |
US7631010B2 (en) | 2004-04-16 | 2009-12-08 | Microsoft Corporation | Systems and methods in support of data base page synchronization |
US7587721B2 (en) | 2004-05-20 | 2009-09-08 | Sap Ag | Sharing objects in runtime systems |
US7707583B2 (en) | 2004-05-20 | 2010-04-27 | Sap Ag | Robust sharing of runtime systems |
US7415704B2 (en) | 2004-05-20 | 2008-08-19 | Sap Ag | Sharing objects in runtime systems |
US7343521B2 (en) | 2004-05-28 | 2008-03-11 | International Business Machines Corporation | Method and apparatus to preserve trace data |
JP2005346414A (ja) | 2004-06-03 | 2005-12-15 | Fujitsu Ltd | トレース処理プログラム、方法及び装置 |
US7954050B2 (en) | 2004-06-25 | 2011-05-31 | Icesoft Technologies Canada Corp. | Systems and methods for rendering and increasing portability of document-based user interface software objects |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US8200805B2 (en) | 2004-06-28 | 2012-06-12 | Neuse Douglas M | System and method for performing capacity planning for enterprise applications |
JP3901180B2 (ja) | 2004-06-30 | 2007-04-04 | 日本電気株式会社 | プログラム並列化装置及びその方法並びにプログラム |
JP3901182B2 (ja) | 2004-06-30 | 2007-04-04 | 日本電気株式会社 | プログラム並列化装置及びその方法並びにプログラム |
US8166462B2 (en) | 2006-09-07 | 2012-04-24 | Oracle America, Inc. | Method and apparatus for sorting and displaying costs in a data space profiler |
US7346809B2 (en) | 2004-08-05 | 2008-03-18 | International Business Machines Corporation | Bootable post crash analysis environment |
US7546601B2 (en) | 2004-08-10 | 2009-06-09 | International Business Machines Corporation | Apparatus, system, and method for automatically discovering and grouping resources used by a business process |
US20060047752A1 (en) | 2004-08-27 | 2006-03-02 | Reconda International Corp. | A System and Method to Capture, Filter, and Statistically Analyze Electronic Messages |
US8010337B2 (en) | 2004-09-22 | 2011-08-30 | Microsoft Corporation | Predicting database system performance |
US20060101467A1 (en) | 2004-10-18 | 2006-05-11 | International Business Machines Corporation | Process execution management based on resource requirements and business impacts |
US8566326B2 (en) | 2004-11-05 | 2013-10-22 | Oracle International Corporation | High-performance log-based processing |
US7774295B2 (en) | 2004-11-17 | 2010-08-10 | Targit A/S | Database track history |
US7743380B2 (en) | 2005-01-21 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Monitoring clustered software applications |
US7409520B2 (en) | 2005-01-25 | 2008-08-05 | International Business Machines Corporation | Systems and methods for time division multiplex multithreading |
US7606168B2 (en) | 2005-01-28 | 2009-10-20 | Attenex Corporation | Apparatus and method for message-centric analysis and multi-aspect viewing using social networks |
US7398429B2 (en) | 2005-02-03 | 2008-07-08 | Cisco Technology, Inc. | System and method for tracing and logging for software module |
US7543200B2 (en) | 2005-02-17 | 2009-06-02 | Advantest Corporation | Method and system for scheduling tests in a parallel test system |
JP4654707B2 (ja) | 2005-02-18 | 2011-03-23 | 日本電気株式会社 | ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム |
US8266608B2 (en) | 2005-02-18 | 2012-09-11 | Green Hills Software, Inc. | Post-compile instrumentation of object code for generating execution trace data |
US20060190218A1 (en) * | 2005-02-22 | 2006-08-24 | Agrawal Subhash C | Generative instrumentation framework |
US7685561B2 (en) | 2005-02-28 | 2010-03-23 | Microsoft Corporation | Storage API for a common data platform |
WO2006092047A1 (en) | 2005-03-02 | 2006-09-08 | Tira Wireless Inc. | System and method for porting a mobile device application |
US7818150B2 (en) | 2005-03-11 | 2010-10-19 | Hyperformix, Inc. | Method for building enterprise scalability models from load test and trace test data |
US20060230319A1 (en) * | 2005-04-12 | 2006-10-12 | Ryali Jogarao M | Automated migration of software instructions |
KR101023274B1 (ko) | 2005-04-20 | 2011-03-18 | 더 보드 오브 리전츠 오브 더 유니버시티 오브 텍사스 시스템 | 셀룰러 통신을 위한 채널 정보 피드백 시스템 및 방법 |
US7681188B1 (en) | 2005-04-29 | 2010-03-16 | Sun Microsystems, Inc. | Locked prefetch scheduling in general cyclic regions |
US7810075B2 (en) | 2005-04-29 | 2010-10-05 | Sap Ag | Common trace files |
US7797585B1 (en) | 2005-05-09 | 2010-09-14 | Emc Corporation | System and method for handling trace data for analysis |
US8527958B2 (en) | 2005-05-16 | 2013-09-03 | Texas Instruments Incorporated | Profiling operating context and tracing program on a target processor |
US7493400B2 (en) | 2005-05-18 | 2009-02-17 | Oracle International Corporation | Creating and dissolving affinity relationships in a cluster |
US8112756B2 (en) | 2006-07-20 | 2012-02-07 | Hewlett-Packard Development Company, L.P. | System and method for evaluating a workload and its impact on performance of a workload manager |
US20060277477A1 (en) | 2005-06-02 | 2006-12-07 | Christenson Mark G K | System and method for generating enhanced depiction of electronic files such as web files |
US9418040B2 (en) * | 2005-07-07 | 2016-08-16 | Sciencelogic, Inc. | Dynamically deployable self configuring distributed network management system |
US8239939B2 (en) | 2005-07-15 | 2012-08-07 | Microsoft Corporation | Browser protection module |
US7239980B2 (en) | 2005-08-30 | 2007-07-03 | International Business Machines Corporation | Method and apparatus for adaptive tracing with different processor frequencies |
US20070061241A1 (en) | 2005-09-15 | 2007-03-15 | Jovanovic Vladan D | Method for trading securities |
US8037465B2 (en) | 2005-09-30 | 2011-10-11 | Intel Corporation | Thread-data affinity optimization using compiler |
US20070089094A1 (en) | 2005-10-13 | 2007-04-19 | Levine Frank E | Temporal sample-based profiling |
US8108689B2 (en) | 2005-10-28 | 2012-01-31 | Panasonic Corporation | Obfuscation evaluation method and obfuscation method |
EP1783604A3 (en) | 2005-11-07 | 2007-10-03 | Slawomir Adam Janczewski | Object-oriented, parallel language, method of programming and multi-processor computer |
US20120151553A1 (en) * | 2005-11-16 | 2012-06-14 | Azos Ai, Llc | System, method, and apparatus for data cognition incorporating autonomous security protection |
US20070168992A1 (en) | 2005-11-17 | 2007-07-19 | International Business Machines Corporation | Method of tracing back the execution path in a debugger |
US8176081B2 (en) | 2005-11-18 | 2012-05-08 | International Business Machines Corporation | Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API) |
US20070150895A1 (en) | 2005-12-06 | 2007-06-28 | Kurland Aaron S | Methods and apparatus for multi-core processing with dedicated thread management |
US8185819B2 (en) | 2005-12-12 | 2012-05-22 | Google Inc. | Module specification for a module to be incorporated into a container document |
US9294334B2 (en) | 2005-12-12 | 2016-03-22 | Google Inc. | Controlling communication within a container document |
US20070136201A1 (en) | 2005-12-12 | 2007-06-14 | Google Inc. | Customized container document modules using preferences |
US7725530B2 (en) | 2005-12-12 | 2010-05-25 | Google Inc. | Proxy server collection of data for module incorporation into a container document |
US20070204010A1 (en) | 2005-12-12 | 2007-08-30 | Steven Goldberg | Remote Module Syndication System and Method |
US7730082B2 (en) | 2005-12-12 | 2010-06-01 | Google Inc. | Remote module incorporation into a container document |
WO2007070711A2 (en) | 2005-12-15 | 2007-06-21 | Malloy Patrick J | Interactive network monitoring and analysis |
US7987452B2 (en) | 2005-12-15 | 2011-07-26 | International Business Machines Corporation | Profile-driven lock handling |
US20070143795A1 (en) | 2005-12-20 | 2007-06-21 | Duong-Han Tran | Application trace for distributed systems environment |
US7739662B2 (en) | 2005-12-30 | 2010-06-15 | Intel Corporation | Methods and apparatus to analyze processor systems |
US20070180147A1 (en) | 2006-02-01 | 2007-08-02 | Connect It, Llc | System for insertion of advertising content in user-requested internet web pages |
US7818721B2 (en) * | 2006-02-01 | 2010-10-19 | Oracle America, Inc. | Dynamic application tracing in virtual machine environments |
US20070226696A1 (en) | 2006-02-03 | 2007-09-27 | Dell Products L.P. | System and method for the execution of multithreaded software applications |
EP1999610A4 (en) | 2006-02-04 | 2011-05-25 | Wayport Inc | SYSTEM AND METHOD FOR BROADCASTING ADVERTISEMENTS AND CONTENT IN AN INTERNET DISTRIBUTED ACCESS ENVIRONMENT |
US20070198524A1 (en) | 2006-02-09 | 2007-08-23 | International Business Machines Corporation | Maintaining connections between application servers and databases in a multitier computer architecture |
WO2007095642A2 (en) | 2006-02-16 | 2007-08-23 | The Regents Of The University Of California | Dynamic incremental compiler and method |
US20070204223A1 (en) | 2006-02-27 | 2007-08-30 | Jay Bartels | Methods of and systems for personalizing and publishing online content |
US20070214333A1 (en) | 2006-03-10 | 2007-09-13 | Dell Products L.P. | Modifying node descriptors to reflect memory migration in an information handling system with non-uniform memory access |
GB0604991D0 (en) | 2006-03-11 | 2006-04-19 | Slam Games Ltd | Instrumentation for real-time performance profiling |
US20070220513A1 (en) | 2006-03-15 | 2007-09-20 | International Business Machines Corporation | Automatic detection of hang, bottleneck and deadlock |
US9146789B2 (en) | 2006-03-21 | 2015-09-29 | Oracle America, Inc. | Method and apparatus for generating and using location-independent distributed object references |
US7954094B2 (en) | 2006-03-27 | 2011-05-31 | International Business Machines Corporation | Method for improving performance of executable code |
US20070239528A1 (en) | 2006-03-29 | 2007-10-11 | Reachlocal, Inc. | Dynamic proxy method and apparatus for an online marketing campaign |
US7552308B2 (en) | 2006-04-04 | 2009-06-23 | International Business Machines Corporation | Method and apparatus for temporary mapping of executable program segments |
US20070260849A1 (en) | 2006-05-05 | 2007-11-08 | Chen Wen-Tzer T | Method and apparatus for executing instrumentation code using a target processor |
US7979245B1 (en) | 2006-05-17 | 2011-07-12 | Quest Software, Inc. | Model-based systems and methods for monitoring computing resource performance |
US7543184B2 (en) | 2006-05-23 | 2009-06-02 | The Mathworks, Inc. | System and method for distributing system tests in parallel computing environments |
US20080126828A1 (en) * | 2006-06-07 | 2008-05-29 | Janice Marie Girouard | Dynamic enablement and customization of tracing information in a data processing system |
US8136104B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
US8024708B2 (en) * | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
US8375368B2 (en) * | 2006-06-20 | 2013-02-12 | Google Inc. | Systems and methods for profiling an application running on a parallel-processing computer system |
US20080005281A1 (en) | 2006-06-29 | 2008-01-03 | Microsoft Corporation | Error capture and reporting in a distributed computing environment |
US8132169B2 (en) * | 2006-07-21 | 2012-03-06 | International Business Machines Corporation | System and method for dynamically partitioning an application across multiple processing elements in a heterogeneous processing environment |
FR2904499B1 (fr) | 2006-07-27 | 2009-01-09 | Commissariat Energie Atomique | Procede de decodage a passage de messages avec ordonnancement selon une fiabilite de voisinage. |
CA2657233C (en) | 2006-08-10 | 2016-06-21 | Ab Initio Software Llc | Distributing services in graph-based computations |
US7957934B2 (en) * | 2007-05-15 | 2011-06-07 | Dynatrace Software Gmbh | Method and system for processing application performance data ouside of monitored applications to limit overhead caused by monitoring |
US8037457B2 (en) | 2006-09-29 | 2011-10-11 | Sap Ag | Method and system for generating and displaying function call tracker charts |
US8028200B2 (en) | 2006-09-29 | 2011-09-27 | Sap Ag | Tracing operations in multiple computer systems |
US7941789B2 (en) | 2006-09-29 | 2011-05-10 | Sap Ag | Common performance trace mechanism |
US7640459B2 (en) | 2006-09-30 | 2009-12-29 | Sap Ag | Performing computer application trace with other operations |
US7934208B2 (en) | 2006-10-13 | 2011-04-26 | International Business Machines Corporation | Method for transparent on-line dynamic binary optimization |
US7861042B2 (en) | 2006-10-23 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Processor acquisition of ownership of access coordinator for shared resource |
US20080104362A1 (en) | 2006-10-25 | 2008-05-01 | Buros William M | Method and System for Performance-Driven Memory Page Size Promotion |
US7954095B2 (en) | 2006-11-01 | 2011-05-31 | International Business Machines Corporation | Analysis and selection of optimal function implementations in massively parallel computer |
US8627335B2 (en) * | 2006-11-13 | 2014-01-07 | Oracle America, Inc. | Method and apparatus for data space profiling of applications across a network |
US8037471B2 (en) | 2006-11-16 | 2011-10-11 | International Business Machines Corporation | Systems and methods for constructing relationship specifications from component interactions |
US8941664B2 (en) | 2006-11-22 | 2015-01-27 | Take Two Interactive Software, Inc. | System and method for real-time pose-based deformation of character models |
GB0623355D0 (en) | 2006-11-23 | 2007-01-03 | Ibm | Software tracing |
US8032875B2 (en) | 2006-11-28 | 2011-10-04 | Oracle America, Inc. | Method and apparatus for computing user-specified cost metrics in a data space profiler |
US20080163183A1 (en) | 2006-12-29 | 2008-07-03 | Zhiyuan Li | Methods and apparatus to provide parameterized offloading on multiprocessor architectures |
WO2008080780A1 (en) | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Recording execution information for a software application |
US8214807B2 (en) | 2007-01-10 | 2012-07-03 | International Business Machines Corporation | Code path tracking |
WO2008088073A1 (en) | 2007-01-18 | 2008-07-24 | Panasonic Corporation | Obfuscation assisting apparatus |
US7500216B1 (en) | 2007-02-07 | 2009-03-03 | Altera Corporation | Method and apparatus for performing physical synthesis hill-climbing on multi-processor machines |
GB2447683B (en) * | 2007-03-21 | 2011-05-04 | Advanced Risc Mach Ltd | Techniques for generating a trace stream for a data processing apparatus |
US8762951B1 (en) * | 2007-03-21 | 2014-06-24 | Oracle America, Inc. | Apparatus and method for profiling system events in a fine grain multi-threaded multi-core processor |
US20080243970A1 (en) | 2007-03-30 | 2008-10-02 | Sap Ag | Method and system for providing loitering trace in virtual machines |
US8522209B2 (en) * | 2007-03-30 | 2013-08-27 | Sap Ag | Method and system for integrating profiling and debugging |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US8316214B2 (en) | 2007-04-18 | 2012-11-20 | Mediatek Inc. | Data access tracing with compressed address output |
US8543711B2 (en) | 2007-04-30 | 2013-09-24 | Hewlett-Packard Development Company, L.P. | System and method for evaluating a pattern of resource demands of a workload |
US20080276129A1 (en) | 2007-05-02 | 2008-11-06 | International Business Machines Corporation | Software tracing |
US20080295114A1 (en) * | 2007-05-07 | 2008-11-27 | Pramod Vasant Argade | Method and apparatus for execution control of computer programs |
US8214806B2 (en) | 2007-05-09 | 2012-07-03 | International Business Machines Corporation | Iterative, non-uniform profiling method for automatically refining performance bottleneck regions in scientific code |
US7698602B2 (en) * | 2007-06-13 | 2010-04-13 | International Business Machines Corporation | Systems, methods and computer products for trace capability per work unit |
US20080312980A1 (en) | 2007-06-13 | 2008-12-18 | International Business Machines Corporation | Method and system for staffing and cost estimation models aligned with multi-dimensional project plans for packaged software applications |
US8806461B2 (en) * | 2007-06-21 | 2014-08-12 | Microsoft Corporation | Using memory usage to pinpoint sub-optimal code for gaming systems |
US8429619B2 (en) * | 2007-07-03 | 2013-04-23 | International Business Machines Corporation | Executable high-level trace file generation system |
US8132162B2 (en) | 2007-07-05 | 2012-03-06 | International Business Machines Corporation | Runtime machine analysis of applications to select methods suitable for method level caching |
KR20090005921A (ko) | 2007-07-10 | 2009-01-14 | 삼성전자주식회사 | 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치 |
US8276117B2 (en) | 2007-08-03 | 2012-09-25 | International Business Machines Corporation | Displaying and refactoring programs that include database statements |
US7975262B2 (en) | 2007-08-16 | 2011-07-05 | Microsoft Corporation | Error tracing with context history |
WO2009029357A2 (en) | 2007-08-24 | 2009-03-05 | Peter Anthony Crosby | Selective monitoring of software applications |
US8745606B2 (en) | 2007-09-28 | 2014-06-03 | Intel Corporation | Critical section ordering for multiple trace applications |
US8863091B2 (en) * | 2007-10-19 | 2014-10-14 | Oracle International Corporation | Unified tracing service |
US8307343B2 (en) | 2007-10-19 | 2012-11-06 | Microsoft Corporation | Application and database context correlation for database application developers |
US8001428B2 (en) * | 2007-10-29 | 2011-08-16 | Arm Limited | Packing trace protocols within trace streams |
US20090125519A1 (en) | 2007-11-13 | 2009-05-14 | Intel Corporation | Device, system, and method for regulating software lock elision mechanisms |
US7870437B2 (en) * | 2007-11-14 | 2011-01-11 | Arm Limited | Trace data timestamping |
US20090132666A1 (en) * | 2007-11-15 | 2009-05-21 | Shahriar Rahman | Method and apparatus for implementing a network based debugging protocol |
US7430733B1 (en) | 2007-11-15 | 2008-09-30 | International Business Machines Corporation | Method for validation of binary code transformations |
US8826242B2 (en) | 2007-11-27 | 2014-09-02 | Microsoft Corporation | Data driven profiling for distributed applications |
US8527959B2 (en) | 2007-12-07 | 2013-09-03 | International Business Machines Corporation | Binary programmable method for application performance data collection |
CN101222328B (zh) | 2007-12-14 | 2010-11-03 | 西安西电捷通无线网络通信股份有限公司 | 一种实体双向鉴别方法 |
US8301755B2 (en) | 2007-12-14 | 2012-10-30 | Bmc Software, Inc. | Impact propagation in a directed acyclic graph |
US8495636B2 (en) | 2007-12-19 | 2013-07-23 | International Business Machines Corporation | Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution |
US8225291B2 (en) | 2008-01-04 | 2012-07-17 | International Business Machines Corporation | Automated detection of application performance bottlenecks |
US8234105B1 (en) | 2008-01-08 | 2012-07-31 | The Mathworks, Inc. | Mapping between code coverage and model coverage for a design |
US20090193402A1 (en) | 2008-01-28 | 2009-07-30 | Guy Bashkansky | Iterative Compilation Supporting Entity Instance-Specific Compiler Option Variations |
US20090199047A1 (en) | 2008-01-31 | 2009-08-06 | Yahoo! Inc. | Executing software performance test jobs in a clustered system |
WO2009104344A1 (ja) | 2008-02-22 | 2009-08-27 | 日本電気株式会社 | Itシステムの挙動測定・解析システム、およびその方法 |
WO2009119642A1 (ja) | 2008-03-26 | 2009-10-01 | 日本電気株式会社 | サービス応答性能分析装置、方法、及びプログラム並びにそれを記録した記録媒体 |
US8117602B2 (en) | 2008-04-01 | 2012-02-14 | Kaspersky Lab, Zao | Method and system for monitoring execution performance of software program product |
US8156476B2 (en) * | 2008-06-10 | 2012-04-10 | Microsoft Corporation | Debugging support for tasks in multithreaded environments |
US20090313600A1 (en) | 2008-06-13 | 2009-12-17 | Microsoft Corporation | Concurrent code generation |
US8245200B2 (en) | 2008-07-11 | 2012-08-14 | International Business Machines Corporation | Method, system, and apparatus for dynamically injecting logging statements into web 2.0 javascript applications |
US7958194B2 (en) | 2008-08-25 | 2011-06-07 | Massively Parallel Technologies, Inc. | System and method for parallel processing using a Type I Howard Cascade |
JP5386905B2 (ja) * | 2008-09-25 | 2014-01-15 | 富士通セミコンダクター株式会社 | プロファイリング方法およびプロファイリングプログラム |
US9117094B2 (en) | 2008-10-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Data location obfuscation |
US8621184B1 (en) | 2008-10-31 | 2013-12-31 | Netapp, Inc. | Effective scheduling of producer-consumer processes in a multi-processor system |
US20100115172A1 (en) | 2008-11-04 | 2010-05-06 | Mosaid Technologies Incorporated | Bridge device having a virtual page buffer |
US7681182B1 (en) | 2008-11-06 | 2010-03-16 | International Business Machines Corporation | Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base |
US8423534B2 (en) | 2008-11-18 | 2013-04-16 | Teradata Us, Inc. | Actively managing resource bottlenecks in a database system |
US20100125838A1 (en) | 2008-11-19 | 2010-05-20 | Nokia Corporation | Method and Apparatus for Optimizing a Program |
US20100123717A1 (en) | 2008-11-20 | 2010-05-20 | Via Technologies, Inc. | Dynamic Scheduling in a Graphics Processor |
US9189233B2 (en) | 2008-11-24 | 2015-11-17 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US8645922B2 (en) | 2008-11-25 | 2014-02-04 | Sap Ag | System and method of implementing a concurrency profiler |
AU2009322441B2 (en) | 2008-12-02 | 2016-07-28 | Ab Initio Technology Llc | Visualizing relationships between data elements |
US8359581B2 (en) | 2008-12-10 | 2013-01-22 | International Business Machines Corporation | Automatic collection of diagnostic traces in an automation framework |
US20130167123A1 (en) * | 2008-12-18 | 2013-06-27 | Adobe Systems Incorporated | Application debugging |
US8327321B2 (en) | 2009-01-31 | 2012-12-04 | Ted J. Biggerstaff | Synthetic partitioning for imposing implementation design patterns onto logical architectures of computations |
US9323647B2 (en) | 2009-02-10 | 2016-04-26 | Sap Se | Request-based activation of debugging and tracing |
US9076125B2 (en) | 2009-02-27 | 2015-07-07 | Microsoft Technology Licensing, Llc | Visualization of participant relationships and sentiment for electronic messaging |
US8789032B1 (en) | 2009-02-27 | 2014-07-22 | Google Inc. | Feedback-directed inter-procedural optimization |
US8893156B2 (en) * | 2009-03-24 | 2014-11-18 | Microsoft Corporation | Monitoring of distributed applications |
KR101581001B1 (ko) | 2009-03-30 | 2015-12-30 | 삼성전자주식회사 | 프로그램의 동적 분석 방법 및 그 장치 |
US20100257019A1 (en) | 2009-04-02 | 2010-10-07 | Microsoft Corporation | Associating user-defined descriptions with objects |
US8595327B2 (en) * | 2009-04-10 | 2013-11-26 | Microsoft Corporation | Obtaining instrumentation data |
JP5428075B2 (ja) | 2009-04-17 | 2014-02-26 | 株式会社日立製作所 | 性能モニタリングシステム、ボトルネック判定方法及び管理計算機 |
US8327351B2 (en) | 2009-04-30 | 2012-12-04 | Sap Ag | Application modification framework |
US8327377B2 (en) | 2009-04-30 | 2012-12-04 | Ca, Inc. | Detecting, logging and tracking component dependencies in web service transactions |
US8423973B2 (en) | 2009-05-08 | 2013-04-16 | Ca, Inc. | Instrumenting an application with flexible tracers to provide correlation data and metrics |
US8332854B2 (en) | 2009-05-19 | 2012-12-11 | Microsoft Corporation | Virtualized thread scheduling for hardware thread optimization based on hardware resource parameter summaries of instruction blocks in execution groups |
US10102398B2 (en) | 2009-06-01 | 2018-10-16 | Ab Initio Technology Llc | Generating obfuscated data |
EP2438523B1 (en) | 2009-06-01 | 2018-08-01 | EntIT Software LLC | System and method for collecting application performance data |
US8289960B2 (en) * | 2009-06-22 | 2012-10-16 | Citrix Systems, Inc. | Systems and methods for N-core tracing |
US8219676B2 (en) * | 2009-06-22 | 2012-07-10 | Citrix Systems, Inc. | Systems and methods for web logging of trace data in a multi-core system |
US8352907B2 (en) | 2009-08-10 | 2013-01-08 | International Business Machines Corporation | Software application recreation |
US8566804B1 (en) | 2009-08-13 | 2013-10-22 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8122292B2 (en) * | 2009-08-19 | 2012-02-21 | Oracle International Corporation | Debugging of business flows deployed in production servers |
EP2290562A1 (en) | 2009-08-24 | 2011-03-02 | Amadeus S.A.S. | Segmented main-memory stored relational database table system with improved collaborative scan algorithm |
US8448142B2 (en) | 2009-08-25 | 2013-05-21 | International Business Machines Corporation | Incremental runtime compliance validation of renderable objects |
US9529694B2 (en) | 2009-09-14 | 2016-12-27 | Oracle International Corporation | Techniques for adaptive trace logging |
KR101645035B1 (ko) | 2009-09-22 | 2016-08-16 | 삼성전자주식회사 | 병렬 프로그래밍 조절 장치 및 방법 |
US9082126B2 (en) | 2009-09-25 | 2015-07-14 | National Electronics Warranty, Llc | Service plan web crawler |
US8856794B2 (en) | 2009-10-13 | 2014-10-07 | Empire Technology Development Llc | Multicore runtime management using process affinity graphs |
US8627300B2 (en) | 2009-10-13 | 2014-01-07 | Empire Technology Development Llc | Parallel dynamic optimization |
US8543907B1 (en) | 2009-10-16 | 2013-09-24 | Google Inc. | Context-sensitive optimization level selection |
US20110098973A1 (en) | 2009-10-23 | 2011-04-28 | Computer Associates Think, Inc. | Automatic Baselining Of Metrics For Application Performance Management |
CN102053906A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于收集程序运行时信息的系统和方法 |
US8275816B1 (en) | 2009-11-06 | 2012-09-25 | Adobe Systems Incorporated | Indexing messaging events for seeking through data streams |
JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
US8356354B2 (en) | 2009-11-23 | 2013-01-15 | Kaspersky Lab, Zao | Silent-mode signature testing in anti-malware processing |
US8392497B2 (en) * | 2009-11-25 | 2013-03-05 | Framehawk, LLC | Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client |
US8490087B2 (en) * | 2009-12-02 | 2013-07-16 | International Business Machines Corporation | System and method for transforming legacy desktop environments to a virtualized desktop model |
US9129056B2 (en) * | 2009-12-04 | 2015-09-08 | Sap Se | Tracing values of method parameters |
US8850403B2 (en) * | 2009-12-04 | 2014-09-30 | Sap Ag | Profiling data snapshots for software profilers |
US8584098B2 (en) * | 2009-12-04 | 2013-11-12 | Sap Ag | Component statistics for application profiling |
US8527960B2 (en) * | 2009-12-04 | 2013-09-03 | Sap Ag | Combining method parameter traces with other traces |
US9537650B2 (en) * | 2009-12-15 | 2017-01-03 | Microsoft Technology Licensing, Llc | Verifiable trust for data through wrapper composition |
US20110153603A1 (en) | 2009-12-17 | 2011-06-23 | Yahoo! Inc. | Time series storage for large-scale monitoring system |
EP2348418A1 (en) | 2009-12-18 | 2011-07-27 | Siemens Aktiengesellschaft | Multi trace parser |
US8359584B2 (en) | 2009-12-18 | 2013-01-22 | Microsoft Corporation | Debugging from a call graph |
US20110154289A1 (en) | 2009-12-18 | 2011-06-23 | Sandya Srivilliputtur Mannarswamy | Optimization of an application program |
US9639446B2 (en) | 2009-12-21 | 2017-05-02 | International Business Machines Corporation | Trace monitoring |
US8336056B1 (en) | 2009-12-22 | 2012-12-18 | Gadir Omar M A | Multi-threaded system for data management |
US8645930B2 (en) | 2010-01-04 | 2014-02-04 | Apple Inc. | System and method for obfuscation by common function and common function prototype |
US8826249B2 (en) | 2010-02-18 | 2014-09-02 | Oracle International Corporation | Method and system for optimizing code for a multi-threaded application |
US20110225458A1 (en) * | 2010-03-09 | 2011-09-15 | Microsoft Corporation | Generating a debuggable dump file for an operating system kernel and hypervisor |
WO2011116987A1 (en) | 2010-03-26 | 2011-09-29 | Software Diagnostics Technology Gmbh | A method for automatically generating a trace data set for a software system, a computer system, and a computer program product |
CN102222037B (zh) | 2010-04-15 | 2014-04-02 | 国际商业机器公司 | 用于定位java程序的瓶颈的方法和设备 |
US8522217B2 (en) | 2010-04-20 | 2013-08-27 | Microsoft Corporation | Visualization of runtime analysis across dynamic boundaries |
US9189367B2 (en) | 2010-04-20 | 2015-11-17 | Salesforce.Com, Inc. | Methods and systems for debugging bytecode in an on-demand service environment |
US8719804B2 (en) * | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
US8566800B2 (en) * | 2010-05-11 | 2013-10-22 | Ca, Inc. | Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation |
US8473925B2 (en) * | 2010-05-11 | 2013-06-25 | Ca, Inc. | Conditional dynamic instrumentation of software in a specified transaction context |
US8726240B2 (en) * | 2010-05-12 | 2014-05-13 | Salesforce.Com, Inc. | Capturing replayable information at software defect locations in a multi-tenant environment |
WO2011142720A1 (en) | 2010-05-14 | 2011-11-17 | Gabriyel Wong Chee Kien | A self-organizing and contextual graphical user interface |
JP5937577B2 (ja) | 2010-05-19 | 2016-06-22 | グーグル インコーポレイテッド | バグクリアリングハウス |
US20110289485A1 (en) | 2010-05-21 | 2011-11-24 | International Business Machines Corporation | Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip |
EP2390790A1 (en) | 2010-05-27 | 2011-11-30 | Fujitsu Limited | Profiling of software applications |
US8856742B2 (en) * | 2010-06-11 | 2014-10-07 | International Business Machines Corporation | Distributed debugging |
US8844042B2 (en) | 2010-06-16 | 2014-09-23 | Microsoft Corporation | System state based diagnostic scan |
US8966447B2 (en) | 2010-06-21 | 2015-02-24 | Apple Inc. | Capturing and displaying state of automated user-level testing of a graphical user interface application |
US8549532B2 (en) | 2010-07-12 | 2013-10-01 | International Business Machines Corporation | Parallel checkpointing for migration of workload partitions |
US8453123B2 (en) | 2010-07-16 | 2013-05-28 | International Business Machines Corporation | Time-based trace facility |
US8601324B2 (en) * | 2010-08-02 | 2013-12-03 | Arm Limited | Storage and output of trace data |
US20120042212A1 (en) | 2010-08-10 | 2012-02-16 | Gilbert Laurenti | Mixed Mode Processor Tracing |
US8380812B2 (en) * | 2010-08-12 | 2013-02-19 | International Business Machines Corporation | Source identification for multipart content validation |
US8327373B2 (en) * | 2010-08-24 | 2012-12-04 | Novell, Inc. | System and method for structuring self-provisioning workloads deployed in virtualized data centers |
JP5139486B2 (ja) * | 2010-08-30 | 2013-02-06 | 株式会社東芝 | トレース生成装置、システム、およびそのプログラム |
WO2012031165A2 (en) * | 2010-09-02 | 2012-03-08 | Zaretsky, Howard | System and method of cost oriented software profiling |
US9177041B2 (en) | 2010-09-03 | 2015-11-03 | Robert Lewis Jackson, JR. | Automated stratification of graph display |
US8713163B2 (en) * | 2010-09-17 | 2014-04-29 | Microsoft Corporation | Monitoring cloud-runtime operations |
US8972940B2 (en) | 2010-09-23 | 2015-03-03 | International Business Machines Corporation | Systems and methods for identifying software performance influencers |
KR20120031834A (ko) | 2010-09-27 | 2012-04-04 | 삼성전자주식회사 | 인스트루먼테이션 장치 및 방법 |
US8656407B2 (en) * | 2010-10-22 | 2014-02-18 | Sap Ag | Profiling input / output operations |
AU2011323773B2 (en) | 2010-10-25 | 2015-07-23 | Ab Initio Technology Llc | Managing data set objects in a dataflow graph that represents a computer program |
US9015676B2 (en) * | 2010-10-29 | 2015-04-21 | International Business Machines Corporation | Varying removal of internal breakpoints during debugging of code |
US8583978B2 (en) | 2010-11-09 | 2013-11-12 | Cisco Technology, Inc. | Multicast message retransmission |
US8938720B2 (en) | 2010-11-30 | 2015-01-20 | Sap Se | Trace visualization for object oriented programs |
US20120151396A1 (en) | 2010-12-09 | 2012-06-14 | S Ramprasad | Rendering an optimized metrics topology on a monitoring tool |
US8997056B2 (en) | 2010-12-15 | 2015-03-31 | Hewlett-Packard Development Company, L. P. | Directed graphs pertaining to read/write operations |
US8843852B2 (en) | 2010-12-17 | 2014-09-23 | Orca Health, Inc. | Medical interface, annotation and communication systems |
KR101786871B1 (ko) | 2010-12-17 | 2017-11-15 | 한국전자통신연구원 | 원격 페이지 폴트 처리 장치 및 그 방법 |
US10203974B2 (en) | 2010-12-20 | 2019-02-12 | Microsoft Technology Licensing, Llc | Probe insertion via background virtual machine |
US8863138B2 (en) * | 2010-12-22 | 2014-10-14 | Intel Corporation | Application service performance in cloud computing |
CN102567115B (zh) | 2010-12-23 | 2016-04-06 | 伊姆西公司 | 云系统中用于信息技术资源分配和利用跟踪的装置和方法 |
US9459983B2 (en) | 2010-12-31 | 2016-10-04 | Open Invention Network, Llc | Method and apparatus of establishing customized network monitoring criteria |
US8943475B2 (en) * | 2011-01-17 | 2015-01-27 | International Business Machines Corporation | Methods and systems for interactive debugging in a mixed computer environment |
US8756581B2 (en) | 2011-02-03 | 2014-06-17 | International Business Machines Corporation | Adaptive next-executing-cycle trace selection for trace-driven code optimizers |
US8943369B2 (en) * | 2011-02-21 | 2015-01-27 | Texas Instruments Incorporated | Prioritizing stall/reason data into priority information stream over PC/data trace |
EP2678822A4 (en) | 2011-02-23 | 2014-09-10 | Bottlenose Inc | System and method for message analysis in a network or between networks |
US8988998B2 (en) * | 2011-02-25 | 2015-03-24 | International Business Machines Corporation | Data processing environment integration control |
US8756310B2 (en) | 2011-03-09 | 2014-06-17 | International Business Machines Corporation | Comprehensive bottleneck detection in a multi-tier enterprise storage system |
JP2012190219A (ja) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | 情報処理装置、およびトレースログ取得方法 |
US20120246303A1 (en) * | 2011-03-23 | 2012-09-27 | LogRhythm Inc. | Log collection, structuring and processing |
JP5874891B2 (ja) | 2011-03-30 | 2016-03-02 | 日本電気株式会社 | プログラムテスト装置、プログラムテスト方法、およびプログラム |
US11099982B2 (en) | 2011-03-31 | 2021-08-24 | Oracle International Corporation | NUMA-aware garbage collection |
US9170917B2 (en) * | 2011-04-01 | 2015-10-27 | Paypal, Inc. | Flow tracing though diverse logical and physical application and infrastructure layers/dependencies |
US8438427B2 (en) | 2011-04-08 | 2013-05-07 | Ca, Inc. | Visualizing relationships between a transaction trace graph and a map of logical subsystems |
US8380838B2 (en) | 2011-04-08 | 2013-02-19 | International Business Machines Corporation | Reduction of alerts in information technology systems |
US20120266143A1 (en) | 2011-04-12 | 2012-10-18 | Microsoft Corporation | Resource cost correlation across different subsystems |
US9092786B2 (en) | 2011-04-13 | 2015-07-28 | Digital River, Inc. | E-commerce failover system and method |
US9032375B2 (en) | 2011-04-27 | 2015-05-12 | International Business Machines Corporation | Performance bottleneck identification tool |
US20120278872A1 (en) | 2011-04-27 | 2012-11-01 | Woelfel John Harold | System and method of federated authentication with reverse proxy |
US8856767B2 (en) * | 2011-04-29 | 2014-10-07 | Yahoo! Inc. | System and method for analyzing dynamic performance of complex applications |
US9274919B2 (en) * | 2011-04-29 | 2016-03-01 | Dynatrace Software Gmbh | Transaction tracing mechanism of distributed heterogenous transactions having instrumented byte code with constant memory consumption and independent of instrumented method call depth |
CN104012041B (zh) * | 2011-05-24 | 2018-02-09 | 思杰系统有限公司 | 用于分析网络指标的系统和方法 |
US8533698B2 (en) | 2011-06-13 | 2013-09-10 | Microsoft Corporation | Optimizing execution of kernels |
US8756171B2 (en) | 2011-06-15 | 2014-06-17 | International Business Machines Corporation | Generating predictions from a probabilistic process model |
KR101265099B1 (ko) | 2011-06-15 | 2013-05-20 | 주식회사 터보테크 | 소프트웨어 보안 처리방법 및 기록매체 |
US8832775B2 (en) | 2011-06-17 | 2014-09-09 | Novell, Inc. | Techniques for workload spawning |
US10592825B2 (en) | 2011-06-22 | 2020-03-17 | International Business Machines Corporation | Application placement among a set of consolidation servers utilizing license cost and application workload profiles as factors |
US9170798B2 (en) * | 2012-03-02 | 2015-10-27 | Vmware, Inc. | System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure |
US9015668B1 (en) * | 2011-08-10 | 2015-04-21 | Interactive TKO, Inc. | Instrumentation agent for manipulating component responses in a test |
US8909996B2 (en) | 2011-08-12 | 2014-12-09 | Oracle International Corporation | Utilizing multiple storage devices to reduce write latency for database logging |
US20130086564A1 (en) | 2011-08-26 | 2013-04-04 | Cognitive Electronics, Inc. | Methods and systems for optimizing execution of a program in an environment having simultaneously parallel and serial processing capability |
US8621439B2 (en) | 2011-09-06 | 2013-12-31 | Microsoft Corporation | Modern application tracing |
US8312056B1 (en) | 2011-09-13 | 2012-11-13 | Xerox Corporation | Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis |
US8918764B2 (en) | 2011-09-21 | 2014-12-23 | International Business Machines Corporation | Selective trace facility |
US9203894B1 (en) * | 2011-09-26 | 2015-12-01 | Emc Corporation | Methods and systems for building an application execution map |
US9497136B1 (en) * | 2011-09-28 | 2016-11-15 | Emc Corporation | Method and system for providing usage metrics to manage utilzation of cloud computing resources |
US8677331B2 (en) | 2011-09-30 | 2014-03-18 | Oracle International Corporation | Lock-clustering compilation for software transactional memory |
US8745591B2 (en) | 2011-10-19 | 2014-06-03 | Microsoft Corporation | Data flow visualization and debugging |
US9229994B2 (en) * | 2011-10-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Server-side tracing of requests |
US20130145350A1 (en) | 2011-12-05 | 2013-06-06 | Microsoft Corporation | Efficient, large scale trace storage system |
US10013326B2 (en) * | 2011-12-29 | 2018-07-03 | Intel Corporation | Propagating a prefetching profile bit from a prefetch queue to a data cache to indicate that a line was prefetched in response to an instruction within a code region |
US20130185729A1 (en) * | 2012-01-13 | 2013-07-18 | Rutgers, The State University Of New Jersey | Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures |
US8732291B2 (en) * | 2012-01-13 | 2014-05-20 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in QOS-aware clouds |
US8819653B2 (en) | 2012-01-30 | 2014-08-26 | Cisco Technology, Inc. | Automated improvement of executable applications based on evaluating independent execution heuristics |
KR20130093995A (ko) | 2012-02-15 | 2013-08-23 | 한국전자통신연구원 | 계층적 멀티코어 프로세서의 성능 최적화 방법 및 이를 수행하는 멀티코어 프로세서 시스템 |
US9720809B2 (en) * | 2012-02-17 | 2017-08-01 | Microsoft Technology Licensing, Llc | Dynamically enabling debugging over the internet |
US9251039B2 (en) * | 2012-02-17 | 2016-02-02 | Microsoft Technology Licensing, Llc | Remote debugging as a service |
US9608893B2 (en) * | 2012-02-27 | 2017-03-28 | The Boeing Company | Methods and systems for parsing data objects |
US9396037B2 (en) * | 2012-02-27 | 2016-07-19 | Microsoft Technology Licensing, Llc | Model-based data pipeline system optimization |
US9058198B2 (en) * | 2012-02-29 | 2015-06-16 | Red Hat Inc. | System resource sharing in a multi-tenant platform-as-a-service environment in a cloud computing system |
US9032369B2 (en) * | 2012-03-26 | 2015-05-12 | Software Ag | Systems and/or methods for executing appropriate tests based on code modifications using live, distributed, real-time cache and feedback loop |
US20120222043A1 (en) | 2012-05-01 | 2012-08-30 | Concurix Corporation | Process Scheduling Using Scheduling Graph to Minimize Managed Elements |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
US8650538B2 (en) | 2012-05-01 | 2014-02-11 | Concurix Corporation | Meta garbage collection for functional code |
US8615766B2 (en) | 2012-05-01 | 2013-12-24 | Concurix Corporation | Hybrid operating system |
US8595743B2 (en) | 2012-05-01 | 2013-11-26 | Concurix Corporation | Network aware process scheduling |
US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
US8495598B2 (en) | 2012-05-01 | 2013-07-23 | Concurix Corporation | Control flow graph operating system configuration |
US20120324454A1 (en) | 2012-05-04 | 2012-12-20 | Concurix Corporation | Control Flow Graph Driven Operating System |
US9081894B2 (en) * | 2012-05-30 | 2015-07-14 | Telefonaktiebolaget L M Ericsson (Publ) | Non-instrusive network surveillance and characterization |
WO2013184133A1 (en) * | 2012-06-08 | 2013-12-12 | Hewlett-Packard Development Company, L.P. | Cloud application deployment portability |
CN104335170A (zh) * | 2012-06-08 | 2015-02-04 | 惠普发展公司,有限责任合伙企业 | 云应用部署 |
US8881125B2 (en) * | 2012-06-11 | 2014-11-04 | International Business Machines Corporation | Indirect software performance analysis |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US20120317421A1 (en) | 2012-06-19 | 2012-12-13 | Concurix Corporation | Fingerprinting Executable Code |
US9146767B2 (en) * | 2012-06-19 | 2015-09-29 | Raytheon Company | Secure cloud hypervisor monitor |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
CN102789409A (zh) | 2012-06-29 | 2012-11-21 | 惠州市德赛西威汽车电子有限公司 | 一种基于数据通讯监测的嵌入式系统自动化模块测试方法 |
US8793669B2 (en) | 2012-07-17 | 2014-07-29 | Concurix Corporation | Pattern extraction from executable code in message passing environments |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
EP2878139B1 (en) * | 2012-07-27 | 2017-04-19 | Nokia Technologies Oy | Methods and apparatuses for facilitating utilization of cloud services |
US9152532B2 (en) * | 2012-08-07 | 2015-10-06 | Advanced Micro Devices, Inc. | System and method for configuring a cloud computing system with a synthetic test workload |
US9262231B2 (en) * | 2012-08-07 | 2016-02-16 | Advanced Micro Devices, Inc. | System and method for modifying a hardware configuration of a cloud computing system |
US20130080760A1 (en) | 2012-08-10 | 2013-03-28 | Concurix Corporation | Execution Environment with Feedback Loop |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US8966462B2 (en) | 2012-08-10 | 2015-02-24 | Concurix Corporation | Memory management parameters derived from system modeling |
US9003381B2 (en) | 2012-08-14 | 2015-04-07 | Derek J. Conrod | Context-specific optimized code |
US8661264B1 (en) * | 2012-08-17 | 2014-02-25 | International Business Machines Corporation | Security model for actor-based languages and apparatus, methods, and computer programming products using same |
US9135093B2 (en) * | 2012-08-31 | 2015-09-15 | Sap Se | Event-driven approach for collecting monitoring data of messaging systems |
US20130085882A1 (en) | 2012-09-18 | 2013-04-04 | Concurix Corporation | Offline Optimization of Computer Software |
US8789030B2 (en) | 2012-09-18 | 2014-07-22 | Concurix Corporation | Memoization from offline analysis |
US9026861B2 (en) * | 2012-10-02 | 2015-05-05 | Texas Instruments Incorporated | Debug trace stream timestamping using downstream correlation |
US9122841B2 (en) * | 2012-10-16 | 2015-09-01 | Sap Se | Providing remote application logs for cloud applications |
EP2909722A1 (en) | 2012-10-19 | 2015-08-26 | Argyle Data, Inc. | Multi-threaded, lockless data parallelization |
US20130074057A1 (en) | 2012-11-08 | 2013-03-21 | Concurix Corporation | Selecting Functions for Memoization Analysis |
US8656378B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Memoization configuration file consumed at compile time |
US8752021B2 (en) | 2012-11-08 | 2014-06-10 | Concurix Corporation | Input vector analysis for memoization estimation |
US8826254B2 (en) | 2012-11-08 | 2014-09-02 | Concurix Corporation | Memoizing with read only side effects |
US8694574B2 (en) | 2012-11-08 | 2014-04-08 | Concurix Corporation | Optimized settings in a configuration database with boundaries |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US8752034B2 (en) | 2012-11-08 | 2014-06-10 | Concurix Corporation | Memoization configuration file consumed at runtime |
US9262416B2 (en) | 2012-11-08 | 2016-02-16 | Microsoft Technology Licensing, Llc | Purity analysis using white list/black list analysis |
US8839204B2 (en) | 2012-11-08 | 2014-09-16 | Concurix Corporation | Determination of function purity for memoization |
US8656135B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US20150304409A1 (en) * | 2012-11-28 | 2015-10-22 | Hewelett-Packard Development Company, L.P. | Determining at least one cost factor associated with using the cloud to provide an application component |
US20140025572A1 (en) | 2013-01-25 | 2014-01-23 | Concurix Corporation | Tracing as a Service |
US9207969B2 (en) | 2013-01-25 | 2015-12-08 | Microsoft Technology Licensing, Llc | Parallel tracing for performance and detail |
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9021262B2 (en) | 2013-01-25 | 2015-04-28 | Concurix Corporation | Obfuscating trace data |
US9135145B2 (en) | 2013-01-28 | 2015-09-15 | Rackspace Us, Inc. | Methods and systems of distributed tracing |
US9658941B2 (en) | 2013-01-28 | 2017-05-23 | Rackspace Us, Inc. | Methods and systems of function-specific tracing |
US20130232433A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Controlling Application Tracing using Dynamic Visualization |
US20130232452A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Force Directed Graph with Time Series Data |
US20140019879A1 (en) | 2013-02-01 | 2014-01-16 | Concurix Corporation | Dynamic Visualization of Message Passing Computation |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US9021447B2 (en) | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
US20130283102A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deployment of Profile Models with a Monitoring Agent |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US8966452B2 (en) | 2013-04-20 | 2015-02-24 | Concurix Corporation | User interaction analysis of tracer data for configuring an application tracer |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US20140317603A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Multiple Tracer Configurations Applied on a Function-by-Function Level |
US20140317604A1 (en) | 2013-04-20 | 2014-10-23 | Concurix Corporation | Real Time Analysis of Tracer Summaries to Change Tracer Behavior |
US20140013308A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Application Development Environment with Services Marketplace |
US20140013306A1 (en) | 2013-04-20 | 2014-01-09 | Concurix Corporation | Computer Load Generator Marketplace |
US20130283242A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Tracing Closures in a Callback Environment |
US8978016B2 (en) | 2013-04-20 | 2015-03-10 | Concurix Corporation | Error list and bug report analysis for configuring an application tracer |
US20130282545A1 (en) | 2013-04-20 | 2013-10-24 | Concurix Corporation | Marketplace for Monitoring Services |
US9021445B2 (en) | 2013-04-20 | 2015-04-28 | Concurix Corporation | Tracer list for automatically controlling tracer behavior |
US20140189652A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Filtering and Transforming a Graph Representing an Application |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US20140189650A1 (en) | 2013-05-21 | 2014-07-03 | Concurix Corporation | Setting Breakpoints Using an Interactive Graph Representing an Application |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US9547599B2 (en) | 2013-07-26 | 2017-01-17 | Futurewei Technologies, Inc. | System and method for predicting false sharing |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
US9311213B2 (en) | 2013-09-04 | 2016-04-12 | Microsoft Technology Licensing, Llc | Module database with tracing options |
US9298588B2 (en) | 2013-09-04 | 2016-03-29 | Microsoft Technology Licensing, Llc | Tracing system for application and module tracing |
EP3069241B1 (en) | 2013-11-13 | 2018-08-15 | Microsoft Technology Licensing, LLC | Application execution path tracing with configurable origin definition |
US9459849B2 (en) | 2014-01-17 | 2016-10-04 | International Business Machines Corporation | Adaptive cloud aware just-in-time (JIT) compilation |
-
2013
- 2013-01-25 US US13/751,012 patent/US8954546B2/en active Active
- 2013-05-27 WO PCT/US2013/042788 patent/WO2014116294A1/en active Application Filing
- 2013-05-27 EP EP13872860.5A patent/EP2948862B1/en active Active
- 2013-05-27 CN CN201380075071.1A patent/CN105103147B/zh active Active
-
2015
- 2015-02-09 US US14/617,509 patent/US10178031B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595457A (zh) * | 2006-12-06 | 2009-12-02 | 艾利森电话股份有限公司 | 负载平衡剖析 |
WO2012106571A2 (en) * | 2011-02-04 | 2012-08-09 | Opnet Technologies, Inc. | Overhead management for event tracing |
Also Published As
Publication number | Publication date |
---|---|
WO2014116294A1 (en) | 2014-07-31 |
EP2948862B1 (en) | 2019-10-30 |
CN105103147A (zh) | 2015-11-25 |
US10178031B2 (en) | 2019-01-08 |
US8954546B2 (en) | 2015-02-10 |
EP2948862A1 (en) | 2015-12-02 |
BR112015017728A2 (pt) | 2017-07-11 |
US20140019598A1 (en) | 2014-01-16 |
EP2948862A4 (en) | 2016-09-21 |
US20150222548A1 (en) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103147B (zh) | 用工作负载分发器来跟踪的方法及系统 | |
CN105283849B (zh) | 针对性能和细节的并行跟踪 | |
CN105283852B (zh) | 一种模糊跟踪数据的方法及系统 | |
CN105122230A (zh) | 跟踪作为服务 | |
Zheng et al. | Xblock-eth: Extracting and exploring blockchain data from ethereum | |
US10681060B2 (en) | Computer-implemented method for determining computer system security threats, security operations center system and computer program product | |
Noor et al. | Trust management of services in cloud environments: Obstacles and solutions | |
US9015668B1 (en) | Instrumentation agent for manipulating component responses in a test | |
US8976955B2 (en) | System and method for tracking web interactions with real time analytics | |
US10452523B1 (en) | System and method for state based intelligent test generation | |
WO2020123644A1 (en) | Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain | |
Preuveneers et al. | Systematic scalability assessment for feature oriented multi-tenant services | |
Kaviani et al. | Partitioning of web applications for hybrid cloud deployment | |
Saingre et al. | Measuring performances and footprint of blockchains with BCTMark: a case study on Ethereum smart contracts energy consumption | |
Khan et al. | Towards enhancing the capability of IoT applications by utilizing cloud computing concept | |
Kesavulu et al. | A usage-based data extraction framework for cloud-based application-an human-computer interaction approach | |
CN105723357B (zh) | 共享模块环境中的因模块而异的跟踪 | |
Tavonatti et al. | An experimental evaluation of the scalability of permissioned blockchains | |
Pinno et al. | Decreasing the management burden in multi-tier systems through partial correlation-based monitoring | |
Sahoo | Open-source ETL Framework using Big Data tools Orchestration on AWS Cloud Platform | |
Awan et al. | 32nd UK Performance Engineering Workshop & Cyber Security Workshop 2016 8th & 9th of September 2016 | |
BR112015017728B1 (pt) | Método e sistema rastreio com um distribuidor de carga de trabalho. | |
Prejbeanu et al. | Crowdsourcing solution for mobile resource consumption analysis | |
Zou | CSER 2011 Spring Meeting-June 21, 2011 Dunning Hall, Room 14, Queen's University Agenda and Registration Form | |
Yang et al. | Fast Modeling of Analytics Workloads for Big Data Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170516 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: CONCURIX CORP. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |