-
公开(公告)号:US20080244332A1
公开(公告)日:2008-10-02
申请号:US11694864
申请日:2007-03-30
申请人: Andrew James Edwards , James Jordan Tigani , Zhenghao Wang , Bradley Calder , Satish Naravanasamy
发明人: Andrew James Edwards , James Jordan Tigani , Zhenghao Wang , Bradley Calder , Satish Naravanasamy
IPC分类号: G06F11/00
CPC分类号: G06F11/3612
摘要: An apparatus, method and computer-readable medium provide for detecting and filtering potential race conditions. In one example, potential race conditions may be detected by determining overlap of memory accesses (e.g., read, write). Potential race conditions may be filtered as potentially benign or harmful race conditions using, for example, heuristics, comparison of output states from execution of instructions or operations in differing sequences or identifying of associated output bugs corresponding to the execution of operations in different sequences.
摘要翻译: 设备,方法和计算机可读介质提供用于检测和过滤潜在的竞争条件。 在一个示例中,可以通过确定存储器访问(例如,读取,写入)的重叠来检测潜在的竞争条件。 可能的竞争条件可能被过滤为潜在的良性或有害的竞争条件,例如使用启发式,输出状态与执行指令或不同序列中的操作进行比较,或识别与不同序列中的操作执行相对应的相关输出错误。
-
公开(公告)号:US07861118B2
公开(公告)日:2010-12-28
申请号:US11694864
申请日:2007-03-30
申请人: Andrew James Edwards , James Jordan Tigani , Zhenghao Wang , Bradley Calder , Satish Narayanasamy
发明人: Andrew James Edwards , James Jordan Tigani , Zhenghao Wang , Bradley Calder , Satish Narayanasamy
CPC分类号: G06F11/3612
摘要: An apparatus, method and computer-readable medium provide for detecting and filtering potential race conditions. In one example, potential race conditions may be detected by determining overlap of memory accesses (e.g., read, write). Potential race conditions may be filtered as potentially benign or harmful race conditions using, for example, heuristics, comparison of output states from execution of instructions or operations in differing sequences or identifying of associated output bugs corresponding to the execution of operations in different sequences.
摘要翻译: 设备,方法和计算机可读介质提供用于检测和过滤潜在的竞争条件。 在一个示例中,可以通过确定存储器访问(例如,读取,写入)的重叠来检测潜在的竞争条件。 可能的竞争条件可能被过滤为潜在的良性或有害的竞争条件,例如使用启发式,输出状态与执行指令或不同序列中的操作进行比较,或识别与不同序列中的操作执行相对应的相关输出错误。
-
公开(公告)号:US07392514B2
公开(公告)日:2008-06-24
申请号:US10609188
申请日:2003-06-26
申请人: Andrew James Edwards
发明人: Andrew James Edwards
IPC分类号: G06F9/45
CPC分类号: G06F8/433
摘要: Existing systems use interprocedural data flow to analyze the source code of an entire program thereby requiring significant resources. Instead forward and backward chase components reference data structures (e.g., state machines) that identify instructions within a intraprocedural data flow graph. Based on how states of the state machine correspond to instructions in the data flow, the state machines direct the data flow chase to other procedures in a call graph, to instructions indicated in a global reference list, to instructions indicated in a field reference list, to instructions indicated by a pointer dereference, or to another instruction in the present procedure. Then, the chase continues in the data flow graph of the procedure containing the instruction.
摘要翻译: 现有系统使用过程间数据流来分析整个程序的源代码,从而需要大量资源。 相反,前向和后向追逐组件参考数据结构(例如,状态机),其识别在内部过程数据流图中的指令。 基于状态机的状态如何对应于数据流中的指令,状态机将数据流追逐引导到呼叫图中的其他过程,到全局参考列表中指示的指令,指向字段参考列表中指示的指令, 指针指针指示符指示,或本程序中的另一条指令。 然后,在包含该指令的过程的数据流图中继续追踪。
-
公开(公告)号:US08924969B2
公开(公告)日:2014-12-30
申请号:US13491423
申请日:2012-06-07
申请人: Maxim Khutornenko , Corey M. Sanders , Karthik Raman , Pavel A. Dournov , Saad Syed , Andrew James Edwards
发明人: Maxim Khutornenko , Corey M. Sanders , Karthik Raman , Pavel A. Dournov , Saad Syed , Andrew James Edwards
IPC分类号: G06F9/455
CPC分类号: G06F8/63 , G06F9/45533
摘要: A system that includes multiple hosts, each having physical resources, a hypervisor, and a host agent that causes the virtual machines to operate above the hypervisor so as to be abstracted from the physical resources. A host fabric reviews requests to instantiate or upgrade a virtual machine, identifies a corresponding virtual machine image to instantiate the virtual machine from in order to honor the request, and determines whether the virtual machine to be instantiated has a valid lease on the virtual machine image. If the requestor does not have a valid lease, the request is blocked. If the requestor does have a valid lease, the host fabric facilitates the instantiation of the virtual machine from the virtual machine image. This prevents or eliminates the chances of multiple instances of the same virtual machine image writing to the virtual machine image at the same time.
摘要翻译: 一种系统,其包括多个主机,每个主机具有物理资源,虚拟机管理程序和主机代理,使虚拟机在虚拟机管理程序之上运行,从物理资源抽象出来。 主机结构审查请求实例化或升级虚拟机,识别相应的虚拟机映像以实例化虚拟机以便遵守该请求,并确定要实例化的虚拟机是否具有虚拟机映像上的有效租约 。 如果请求者没有有效的租约,则该请求被阻止。 如果请求者确实具有有效的租约,则主机架构便于虚拟机映像实例化虚拟机。 这可以防止或消除同一虚拟机映像同时写入虚拟机映像的多个实例的机会。
-
公开(公告)号:US20130332921A1
公开(公告)日:2013-12-12
申请号:US13491423
申请日:2012-06-07
申请人: Maxim Khutornenko , Corey M. Sanders , Karthik Raman , Pavel A. Dournov , Saad Syed , Andrew James Edwards
发明人: Maxim Khutornenko , Corey M. Sanders , Karthik Raman , Pavel A. Dournov , Saad Syed , Andrew James Edwards
IPC分类号: G06F9/455
CPC分类号: G06F8/63 , G06F9/45533
摘要: A system that includes multiple hosts, each having physical resources, a hypervisor, and a host agent that causes the virtual machines to operate above the hypervisor so as to be abstracted from the physical resources. A host fabric reviews requests to instantiate or upgrade a virtual machine, identifies a corresponding virtual machine image to instantiate the virtual machine from in order to honor the request, and determines whether the virtual machine to be instantiated has a valid lease on the virtual machine image. If the requestor does not have a valid lease, the request is blocked. If the requestor does have a valid lease, the host fabric facilitates the instantiation of the virtual machine from the virtual machine image. This prevents or eliminates the chances of multiple instances of the same virtual machine image writing to the virtual machine image at the same time.
摘要翻译: 一种系统,其包括多个主机,每个主机具有物理资源,虚拟机管理程序和主机代理,使虚拟机在虚拟机管理程序之上运行,从物理资源抽象出来。 主机结构审查请求实例化或升级虚拟机,识别相应的虚拟机映像以实例化虚拟机以便遵守该请求,并确定要实例化的虚拟机是否具有虚拟机映像上的有效租约 。 如果请求者没有有效的租约,则该请求被阻止。 如果请求者确实具有有效的租约,则主机架构便于虚拟机映像实例化虚拟机。 这可以防止或消除同一虚拟机映像同时写入虚拟机映像的多个实例的机会。
-
公开(公告)号:US08516137B2
公开(公告)日:2013-08-20
申请号:US12619307
申请日:2009-11-16
申请人: Bradley Gene Calder , Andrew James Edwards , Ju Wang , Samer Arafeh , Anu Engineer , Yue Zuo
发明人: Bradley Gene Calder , Andrew James Edwards , Ju Wang , Samer Arafeh , Anu Engineer , Yue Zuo
IPC分类号: G06F15/16
CPC分类号: G06F3/0661 , G06F3/06 , G06F3/0604 , G06F3/0626 , G06F3/0644 , G06F3/0664 , G06F3/067 , G06F3/0686 , G06F15/161
摘要: Cloud computing platforms having computer-readable media that perform methods to manage virtual hard drives as blobs are provided. The cloud computing platform includes fabric computers and blob stores. The fabric computers execute virtual machines that implement one or more applications that access virtual hard drives. The data in the virtual hard drives is accessed, via a blob interface, from blobs in the blob stores. The blob stores interface with a driver that translates some application input/output (I/O) requests destined to the virtual hard drives to blob commands when accessing data in the virtual hard drives.
摘要翻译: 提供了具有计算机可读介质的云计算平台,其执行将虚拟硬盘驱动器管理为斑点的方法。 云计算平台包括平面电脑和Blob存储。 架构计算机执行实现一个或多个访问虚拟硬盘驱动器的应用程序的虚拟机。 虚拟硬盘驱动器中的数据通过blob接口从blob存储中的blob进行访问。 blob存储与驱动程序的接口,该驱动程序在访问虚拟硬盘驱动器中的数据时将转发到虚拟硬盘驱动器的某些应用程序输入/输出(I / O)请求转换为blob命令。
-
公开(公告)号:US07707566B2
公开(公告)日:2010-04-27
申请号:US10628054
申请日:2003-07-25
申请人: Vinod K. Grover , Charles L. Mitchell , David Mitford Gillies , Mark Leslie Roberts , Mark Ronald Plesko , David Read Tarditi, Jr. , Andrew James Edwards , Julian Burger , Andrew Edward Ayers , Akella V. S. Sastry
发明人: Vinod K. Grover , Charles L. Mitchell , David Mitford Gillies , Mark Leslie Roberts , Mark Ronald Plesko , David Read Tarditi, Jr. , Andrew James Edwards , Julian Burger , Andrew Edward Ayers , Akella V. S. Sastry
摘要: A software development architecture is provided for constructing a wide range of software development tools. A software development tool can be created by integrating a specification specifying functionality specific to a set of software development scenarios into a software development scenario-independent framework. The integrated specification can then be compiled to create the software development tool. Alternatively, integration can be achieved at runtime without access to source code. The architecture can use any combination of the following: a software scenario independent intermediate representation format, one or more exception handling models capable of supporting a plurality of programming language specific exception handling models, a type system capable of representing the type representations of a plurality of source languages, and a code generator capable of generating code targeted for a plurality of execution architectures.
摘要翻译: 提供了一个软件开发架构,用于构建广泛的软件开发工具。 可以通过将指定一组软件开发场景的功能的规范集成到与软件开发场景无关的框架中来创建软件开发工具。 然后可以编译集成规范来创建软件开发工具。 或者,可以在运行时实现集成,而无需访问源代码。 该架构可以使用以下的任何组合:独立于软件场景的中间表示格式,能够支持多种编程语言特定的异常处理模型的一个或多个异常处理模型,能够表示多个 源语言和能够生成针对多个执行架构的代码的代码生成器。
-
公开(公告)号:US07620938B2
公开(公告)日:2009-11-17
申请号:US11264487
申请日:2005-10-31
申请人: Andrew James Edwards , Darek Mihocka , Ho-Yuen Chau , Ronald C. Murray , Sanjay Bhansali , Stuart D. de Jong , Wen-Ke Chen , Kenneth Bryant Pierce
发明人: Andrew James Edwards , Darek Mihocka , Ho-Yuen Chau , Ronald C. Murray , Sanjay Bhansali , Stuart D. de Jong , Wen-Ke Chen , Kenneth Bryant Pierce
IPC分类号: G06F9/45
CPC分类号: G06F11/3636
摘要: Program execution can be monitored and recorded for later playback. Certain state changes that can be predicted via a virtual processor during playback need not be recorded, so a compressed recording can be stored. To facilitate random access with respect to time during playback, key frames can be stored within the compressed recording. An index mechanism can associate key frames with particular memory addresses. Additionally, a snapshot of values for memory addresses can be used to further facilitate determining the value of a memory address without having to simulate execution. Multiprocessor executions can be supported, and playback can be done on a machine type different from that on which recording took place.
摘要翻译: 程序执行可以被监视和记录以备以后播放。 在播放期间可以通过虚拟处理器预测的某些状态变化不需要被记录,因此可以存储压缩记录。 为了便于在回放期间相对于时间的随机访问,关键帧可以存储在压缩记录中。 索引机制可以将关键帧与特定的存储器地址相关联。 此外,可以使用存储器地址的值的快照来进一步便于确定存储器地址的值而不必模拟执行。 可以支持多处理器执行,并且可以在不同于录音发生的机器类型上进行播放。
-
公开(公告)号:US07500230B2
公开(公告)日:2009-03-03
申请号:US11090678
申请日:2005-03-25
IPC分类号: G06F9/45
CPC分类号: G06F9/4484
摘要: Ambiguous stack references in low level software instructions can be resolved when raising a representation of low level software instructions, such as native code. The number of parameters passed to a function can be determined by heuristics, including direct call and indirect call heuristics. Indirect call heuristics can include dataflow-to-target-function, dataflow-to-target-type, import name, and cleanup instructions heuristics. A control flow heuristic can use an alternating direction propagation of seed points to determine the stack height at basic block boundaries. Interpolation can be used within the basic blocks as needed. The raised representation can be used for static analysis of the low level software instructions.
摘要翻译: 在提出低级软件指令(如本地代码)的表示时,可以解决低级软件指令中的模糊堆栈引用。 传递给函数的参数数量可以通过启发式来确定,包括直接调用和间接呼叫启发式。 间接呼叫启发式可以包括数据流到目标功能,数据流到目标类型,导入名称和清理指令启发式。 控制流启发式可以使用种子点的交替方向传播来确定基本块边界处的堆叠高度。 可根据需要在基本块内使用插值。 提升的表示可用于低级软件指令的静态分析。
-
-
-
-
-
-
-
-