Patents Issued in March 31, 2015
  • Patent number: 8997055
    Abstract: Embodiments provided a formalized set of intermediate analysis contexts that are relevant for analysis checks of target code. Such intermediate analysis context may include, but are not limited to, the development phase of targeted code, the type or state of the targeted code, a source manipulating the targeted code, a purpose for the targeted code, or other development or runtime requirements. Accordingly, embodiments dynamically identify a current analysis context under which targeted code is being developed and can then execute rules based on knowledge of what contexts the rule(s) may apply. More specifically, analysis rules can describe (e.g., via metadata) those context conditions under which a rule can run. Based on such description and the current context, those rules that have been configured to apply to such context conditions can be executed.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: March 31, 2015
    Assignee: Microsoft Corporation
    Inventors: Jeffrey van Gogh, Michael C. Fanning, Sean D. Sandys
  • Patent number: 8997056
    Abstract: A system comprises a processor and storage containing software executable by the processor. The storage also contains a trace log that contains information pertaining to read and write operations and, for each read and write operation, the information is indicative of a start time, a completion time, and a value targeted by the read or write operation, Based on the trace log, the software causes the processor to construct a directed graph comprising nodes as well as edges interconnecting at least some of the nodes, each node representing a read or write operation and determine whether the constructed directed graph has a cycle. At least one edge is at least one of a data edge representing a data precedence between operations and a time edge representing a time precedence between operations, and at least one edge is a hybrid edge representing both time and data precedence between operations.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: March 31, 2015
    Assignee: Hewlett-Packard Development Company, L. P.
    Inventors: Xiaozhou Li, Mehul A. Shah
  • Patent number: 8997057
    Abstract: Methods for identifying and analyzing performance traces are provided. Temporal logic formulas are patterns that can be compared with traces and individual events to identify the existence of certain behavior. Traces, sequences of time-stamped events in time order, are compared with one or more temporal logic formulas to identify the event sequences that match the formulas. The temporal logic formulas can be written in the simple temporal logic language that is presented. When a formula matches an event sequence, attributes from the event sequence are extracted and metric expressions are evaluated based on these attributes. The extracted attributes and the results of the metric expression are returned. This temporal logic pattern matching process can efficiently identify and analyze performance traces and significantly reduce manual effort for identifying performance problems.
    Type: Grant
    Filed: May 3, 2012
    Date of Patent: March 31, 2015
    Assignee: Google Inc.
    Inventors: Amer Diwan, Frederick Ryckbosch, Richard Lee Sites
  • Patent number: 8997058
    Abstract: The invention relates to a method, a computer system, and a computer program product for automatically generating a trace data set for a software system on a computer system. The method includes the step of providing a software system comprising a source code. Binary code is provided by compiling the source code by inserting a plurality of tracing instructions into the binary code. The tracing instructions initiate trace data generation during runtime of the software system. The method also includes modifying the binary code by replacing at least one tracing instruction of the plurality of tracing instructions with a neutral instruction. The modified binary code is run by activating trace data generation by re-replacing the neutral instruction with the at least one tracing instruction. The method further includes recording the trace data set. The recording step is initiated by the at least one tracing instruction.
    Type: Grant
    Filed: March 24, 2011
    Date of Patent: March 31, 2015
    Assignee: Software Diagnostics Technology GmbH
    Inventors: Johannes Bohnet, Juergen Doellner
  • Patent number: 8997059
    Abstract: A method and reverse debugger are provided for reversely debugging a program. The method includes: obtaining debugging information of the program as outputted by a compiler, the debugging information including information related to extended basic blocks of the program; in response to the program entering into reverse debugging, setting a reverse debugging checkpoint at an entry address of at least one extended basic block; in response to the program reaching a set reverse debugging checkpoint, storing information required by debugging that corresponds to the reverse debugging checkpoint; in response to receiving a set reverse debugging target breakpoint, making the program return to a reverse debugging checkpoint located before the reverse debugging target breakpoint and nearest to the reverse debugging target breakpoint, obtaining information required to be stored by the debugging stored at the reverse debugging checkpoint, and continuing to execute the program till the reverse debugging target breakpoint.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Fan Wang, Qi Li, Jiu Chang Du, Xiao Ling Chen, Li Gang Mei
  • Patent number: 8997060
    Abstract: Systems and methods for predicting execution paths of at least one target program of a plurality of programs that are run in parallel are described. In one method, execution flows of programs are generated by conducting a static analysis. In addition, the programs are executed to obtain debug logs from the programs. Further, communication messages transmitted between the execution flows are identified from the debug logs. A deduction that at least one conditional branch was taken in at least one given execution flow of the first execution flows by the target program is made based on the communication messages that are identified in the debug logs. Based on the deduction, at least one conditional branch that was not taken is removed from the given execution flow. In addition, modified execution flows that were modified in accordance with the removal are output to indicate predicted execution paths of the target program.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Takayuki Kushida, Takuya Mishina, Hitomi Takahashi, Takaaki Tateishi
  • Patent number: 8997061
    Abstract: Systems and methods are described that schedule tests based on historical test information, such as tests that validate developed or changed code. For example, the system may review the results of previously used tests, order the tests based on the results, such as based on the performance of the code during the test, and apply the tests during a testing cycle based on the order.
    Type: Grant
    Filed: May 2, 2008
    Date of Patent: March 31, 2015
    Assignee: Teradata US, Inc.
    Inventor: Steven John Davison
  • Patent number: 8997062
    Abstract: Provided are techniques for receiving an error inject script that describes one or more error inject scenarios that define under which conditions at least one error inject is to be executed and compiling the error inject script to output an error inject data structure. While executing code that includes the error inject, an indication that an event has been triggered is received, conditions defined in the one or more error inject scenarios are evaluated using the error inject data structure, and, for each of the conditions that evaluates to true, one or more actions defined in the error inject script for the condition are performed.
    Type: Grant
    Filed: May 7, 2012
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cheng-Chung Song
  • Patent number: 8997063
    Abstract: Periodicity similarity between two different tracer objectives may be used to identify additional input parameters to sample. The tracer objectives may be individual portions of a large tracer operation, and each of the tracer objectives may have separate set of input objects for which data may be collected. After collecting data for a tracer objective, other tracer objectives with similar periodicities may be identified. The input objects from the other tracer objectives may be added to a tracer objective and the tracer objective may be executed to determine a statistical significance of the newly added objective. An iterative process may traverse multiple input objects until exhausting possible input objects and a statistically significant set of input objects are identified.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: March 31, 2015
    Assignee: Concurix Corporation
    Inventors: Russell S. Krajec, Ying Li
  • Patent number: 8997064
    Abstract: A method of testing software may include accessing software that includes multiple execution paths that each include one or more branching points. The method may also include concretely executing the software using multiple concrete inputs to traverse at least two of the execution paths of the software. The method may also include capturing concrete execution results produced from executing the software using the concrete inputs. The method may also include symbolically executing the software using one or more symbolic inputs based on the concrete execution results.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: March 31, 2015
    Assignee: Fujitsu Limited
    Inventors: Mukul R. Prasad, Maarten H. Wiggers
  • Patent number: 8997065
    Abstract: A device creates a graph based on source code, and analyzes the source code to identify private variables and functions of the source code and public variables and functions of the source code. The device determines, based on the graph, a size threshold and semantics-related characteristics of functions and variables for each module, of multiple modules, and assigns, based on the graph, the private variables and functions to a corresponding module of the multiple modules. The device reduces, based on the graph, a number of the public variables and functions assigned to each module, and generates the multiple modules based on one or more of the graph, the size threshold, the assigned private variables and functions, and the number of the public variables and functions assigned to each module.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: March 31, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Michael E. Karr, Gael Mulat
  • Patent number: 8997066
    Abstract: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a <variable#, offset> pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.
    Type: Grant
    Filed: December 27, 2010
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yosseff Levanoni, Weirong Zhu, Lingli Zhang, John Lee Rapp, Andrew L. Bliss
  • Patent number: 8997067
    Abstract: A computer-implemented method for generating one or more build system build files using a unified build system configuration file includes: receiving the unified build system configuration file in a computer system, the unified build system configuration file comprising at least one platform-independent build system configuration; generating, using the computer system, at least one platform-specific build system configuration from the at least one platform-independent build system configuration; selecting at least one template for the unified build system configuration file, the template selected from among templates corresponding to each of multiple platforms; generating the one or more build system build files for at least one of the multiple platforms using the platform-specific build system configuration and the selected template; and providing the generated one or more build system build files in response to the unified build system configuration file.
    Type: Grant
    Filed: January 31, 2012
    Date of Patent: March 31, 2015
    Assignee: SAP SE
    Inventor: Or Igelka
  • Patent number: 8997068
    Abstract: A method and system are provided for automatically creating an implicit literal value in a user defined enumerated data type by inserting an additional literal value, scanning the HDL design files for broken interdependencies or potential incompatibilities with the implicitly defined literal value, and modifying the HDL design files to be in accordance with the implicitly defined literal value while maintaining the semantics of the VHDL language reference model.
    Type: Grant
    Filed: July 26, 2013
    Date of Patent: March 31, 2015
    Assignee: Cadence Design Systems, Inc.
    Inventors: Abhishek Kanungo, Phil Giangarra, Yonghao Chen, Franz Erich Marschner
  • Patent number: 8997069
    Abstract: API description techniques are described for consumption by dynamically-typed languages. In one or more implementations, machine-readable data is parsed to locate descriptions of one or more application programming interfaces (APIs). The descriptions of the one or more application programming interfaces are projected into an alternate form that is different than a form of the machine-readable data.
    Type: Grant
    Filed: April 13, 2011
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Ani Babaian, Jomo A. Fisher, Anson M. Horton, Lucas J. Hoban
  • Patent number: 8997070
    Abstract: A method for forming an extension to a scripting language compiler is disclosed. A compiler of a machine receives a source code that has a new keyword to a scripting language of the compiler. An extension compiler module processes the source code to support the new keyword. The compiler and the extension compiler module generate an executable machine code based on a process of the extension compiler module and the compiler.
    Type: Grant
    Filed: December 15, 2011
    Date of Patent: March 31, 2015
    Assignee: SAP SE
    Inventors: Oliver Klemenz, Andreas Mueller, Anna Kabala, Lu Zhao
  • Patent number: 8997071
    Abstract: A compiler implemented by a computer performs optimized division of work across heterogeneous processors. The compiler divides source code into code sections and characterizes each of the code sections based on pre-defined criteria. Each of the code sections is characterized as at least one of: allocate to a main processor, allocate to a processing element, allocate to one of a parameterized main processor and a parameterized processing element, and indeterminate. The compiler analyzes side-effects and costs of executing the code sections on allocated processors, and transforms the code sections based on results of the analyzing. The transforming includes re-characterizing the code sections for alternate execution in a runtime environment.
    Type: Grant
    Filed: September 10, 2012
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, John K. P. O'Brien, Zehra N. Sura
  • Patent number: 8997072
    Abstract: This technology is directed to compressing dependency graphs in online communities, e.g., social networks, by determining a dependency graph and by performing a transitive reduction on the dependency graph. The transitive reduction may be used in various applications, e.g., for loading software modules in social networks, without causing inefficiencies by loading the same modules multiple times. In some instances, the systems and methods include 1) sorting nodes (e.g., modules) in the dependency graph into a list in a valid dependency order (a node depends only on nodes earlier in the list), 2) iterating over the list while building a map from any node to all of its dependencies, 3) iterating through the dependency graph in reverse order, and for each node, iterating through its dependencies (also in reverse order) and removing each dependency if it is a transitive dependency of any of the previous dependencies of that node.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: March 31, 2015
    Assignee: Google Inc.
    Inventor: Henry Wong
  • Patent number: 8997073
    Abstract: A computer implemented method entails identifying code regions in an application from which offloadable tasks can be generated by a compiler for heterogenous computing system with processor and accelerator memory, including adding relaxed semantics to a directive based language in the heterogenous computing for allowing a suggesting rather than specifying a parallel code region as an offloadable candidate, and identifying one or more offloadable tasks in a neighborhood of code region marked by the directive.
    Type: Grant
    Filed: April 25, 2014
    Date of Patent: March 31, 2015
    Assignee: NEC Laboratories America, Inc.
    Inventors: Nishkam Ravi, Yi Yang, Srimat Chakradhar
  • Patent number: 8997074
    Abstract: Techniques for replacing ROM-based (Read-Only Memory) DLLs (Dynamic Link Libraries) in a Windows CE type embedded operating system such that the target DLL is replaceable by the hook DLL, and the target DLL is callable by the hook DLL but not callable directly by any other applications after loading of the hook DLL. The techniques enable replacement irrespective whether the hook DLL and the target DLL have the same name and irrespective of which DLL is loaded first. The techniques change the file name of the target DLL in a list of loaded DLL modules by a trusted program that executes in the full kernel mode.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: March 31, 2015
    Assignee: Trend Micro Incorporated
    Inventors: Gen Chen, Zhentao Huang
  • Patent number: 8997075
    Abstract: A system and method of dynamic class management includes starting a skeleton application by loading a main class of the skeleton application and executing the main class, detecting a request for a requested class made by a referencing class, loading a class file associated with the requested class from a local storage device when the class file is stored on the local storage device and the requested class is not loaded in memory of the virtual machine, loading the class file from a class storage unit when the class file is not stored on the local storage device and the requested class is not loaded in the memory of the virtual machine, updating an application class graph (ACG) to record a dependency of the referencing class on the requested class, and updating an object table when the request is associated with creation of an object of the requested class.
    Type: Grant
    Filed: July 23, 2013
    Date of Patent: March 31, 2015
    Inventors: Filip Eliá{hacek over (s)}, Filip Nguyen
  • Patent number: 8997076
    Abstract: A loader application and an associated dynamic link library are installed on a client system. Upon a first execution of the loader application, a user authorization to communicate with locations external to the client via a communications network is received. The dynamic link library and not the loader application is auto-updated without requiring additional user authorization. The auto-updating is repeated during one or more executions of the loader application subsequent to the first execution.
    Type: Grant
    Filed: November 26, 2008
    Date of Patent: March 31, 2015
    Assignee: Google Inc.
    Inventors: Gueorgui N. Djabarov, Yevgeniy Gutnik, Omer Shakil
  • Patent number: 8997077
    Abstract: A computer-implemented method for remediating a defective uninstaller during an upgrade of a product is described. A system is queried to identify the defective uninstaller. An executable application is streamed to a file in a temporary folder. The executable application is separate from the defective uninstaller. An internal database table is queried to generate a script file containing commands used to modify the defective uninstaller. The script file is executed with the executable application to modify the defective uninstaller.
    Type: Grant
    Filed: September 11, 2009
    Date of Patent: March 31, 2015
    Assignee: Symantec Corporation
    Inventor: Stephen Connolly
  • Patent number: 8997078
    Abstract: A deployment system provides the ability to deploy a multi-node distributed application, such as a cloud computing platform application that has a plurality of interconnected nodes performing specialized jobs. The deployment system may update a currently running cloud computing platform application according to a deployment manifest and a versioned release bundle that includes jobs and application packages. The deployment system determines changes to the currently running cloud computing platform application and distributes changes to each job to deployment agents executing on VMs. The deployment agents apply the updated jobs to their respective VMs (e.g., launching applications), thereby deploying an updated version of cloud computing platform application.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: March 31, 2015
    Assignee: Pivotal Software, Inc.
    Inventors: Vadim Spivak, Kent Skaar, Oleg Shaldibin
  • Patent number: 8997079
    Abstract: An image forming apparatus which makes it possible to perform an image forming operation even during update of a control program. The image forming apparatus is provided with distributed module controllers each including a sub CPU and a flash ROM storing a control program for controlling the sub CPU. The main CPU of the image forming apparatus updates the control programs stored in the respective flash ROMs. The main CPU displays a screen that enables selection of functions to be used in an image forming job executed by the image forming apparatus. During execution of update of a control program targeted for update, out of the selectable functions, the main CPU disables a function which uses a sub CPU associated with the control program.
    Type: Grant
    Filed: November 14, 2012
    Date of Patent: March 31, 2015
    Assignee: Canon Kabushiki Kaisha
    Inventors: Kenji Kuroki, Hiroto Nishihara, Hiroyuki Eda, Tsuyoshi Shiga, Tadaaki Saida, Ryou Sakaguchi, Atsushi Chaki
  • Patent number: 8997080
    Abstract: A method and system for updating a collection of software resources in a virtual desktop infrastructure system. Virtual machines associated with sets of virtual disk elements in a hierarchy of disk layers, such as basic, department, or user virtual disks are offered updates for one or more available software resources. Updates available for deployment in the virtual desktop infrastructure system are recorded in a database by a controller server. The controller server takes an inventory of all the virtual machines associated with each disk layer in the hierarchy of disk layers on which to apply the available updates. The controller server applies the one or more updates to the identified virtual machines, and stores the update application results in a database. The controller server may apply the one or more updates to virtual machines associated with descendant disk layers in the hierarchy of disk layers in view of previous applications of the updates.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: March 31, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Michael Larkin, Shashikiran Uli, William DeForeest
  • Patent number: 8997081
    Abstract: A tag delivery network is disclosed for delivering tags to collect analytics related to use of mobile applications. The tag delivery network may include multiple servers for communicating with mobile devices executing mobile applications. The mobile applications may be any mobile application that has been recompiled with, for example, a particular line of code and a static library. A recompiled mobile application may initiate a browser when executed by a mobile device. The tag delivery network may deliver a tag container to the browser. The tag container may load a bootstrap file which in turn may load one or more rule files and code files. These files may cause the mobile device to modify an appearance of the mobile application. The modification may be performed to carry out multivariate testing (e.g., A/B testing), content swapping, optimization of the mobile application, or personalization of the mobile application.
    Type: Grant
    Filed: September 18, 2014
    Date of Patent: March 31, 2015
    Assignee: Ensighten, Inc.
    Inventors: Joshua Ryan Manion, Joshua C. Goodwin, Scott David Price, Miles A. Alden, Zackary Dean Ulrich, Arthur C. Yin, Jeremy P. Woska, Gautam B. Amin, Manudath Gurudatha, Jonathan David Chicquette
  • Patent number: 8997082
    Abstract: Devices and techniques to incrementally update content associated with an electronic publication are described. A patch generation module may be configured to generate patch data files comprising incremental changes associated with the electronic publication. A differential patch module located on a client device may be configured to obtain the patch data files. The differential patch module may also be configured to compare the patch data files and the electronic publication and identify the differences between the files. Additionally, the differential patch module may be configured to update the changes in the patch data files with the content of the electronic publication. Accordingly, the electronic publication may be updated to include the changes in the patch data files.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: March 31, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Michael Patrick Bacus, Garett Nell, Manoj Suresh Harpalani, Lokesh Joshi
  • Patent number: 8997083
    Abstract: An administrator system can generate a version identifier for a computing system based on the software packages installed on a computing system. The version identifier can represent the software packages installed on the computing system. The administrator system can utilize the version identifier to manage a network of computing systems. The administrator system can compare the version identifiers of the computing system to verify that the computing system have the same software packages installed. Likewise, the administrator system can compare the version identifiers of the computing system to a test version identifier.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: March 31, 2015
    Assignee: Red Hat, Inc.
    Inventors: Seth Kelby Vidal, James Antill
  • Patent number: 8997084
    Abstract: A computer executed method of determining compatible versions of dependent entities of a root entity having a specified version in a computer system. The method comprises building a directed graph containing dependent entities and dividing the directed graph into multiple levels. Compatible versions are determined for entities in upper levels of the directed graph before determining compatible versions for entities in lower levels of the directed graph.
    Type: Grant
    Filed: April 20, 2011
    Date of Patent: March 31, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Raj Narayan Marndi, Ravi Kumar Gullapalli, Sathyamurthy Dattahreya Hassan, Joby Chacko Poriyath
  • Patent number: 8997085
    Abstract: An approach is provided in which a host system identifies a set of differences between a first version of a software product and a second version of the software product. The set of differences include different file system files, database differences, and configuration differences. The host system creates database utilities and configuration utilities that correspond to the database differences and configuration differences, respectively. In turn, the host system creates an executable upgrade image that includes the different file system files, the database utilities, and the configuration utilities.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Micah Morton Cross, Eugene M. Stuart
  • Patent number: 8997086
    Abstract: A fix delivery system receives situation data representative of a problem, analyzes the received situation data to determine whether the problem associated with the situation data matches a known problem, and responsive to a determination that the problem associated with the situation data does not match a known problem, conducts problem determination to identify the problem. The fix delivery system further receives a developed cumulative fix for the identified problem, builds an installable cumulative fix for the identified problem using the situation data, and responsive to a determination that the installable cumulative fix meets predetermined requirements and the installable cumulative fix is a new installable cumulative fix, saves the new installable cumulative fix in a storage system and sends the new installable cumulative fix to a requester.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Marlin R. Deckert, King Shing K. Lui, Leho Nigul
  • Patent number: 8997087
    Abstract: A method and a system for customizing a handheld device being produced in manufacturing assembly. The method provides customization via configuration of the device by a server in a communication network. In response to a configuration predefined such via a customer purchase order, assigning, at the server, a group to the at least one handheld device, identifying, at the server, a configuration of components for download to the at least one handheld device, the configuration of components associated with the assigned group, and downloading, for installation at the handheld device, the configuration of components to the at least one handheld device of the assigned group.
    Type: Grant
    Filed: April 23, 2010
    Date of Patent: March 31, 2015
    Assignee: Psion Inc.
    Inventors: Kevin Beatty, Harold Hsu, Miguel Watler, Nader Newman, Rastislav Hodul
  • Patent number: 8997088
    Abstract: A method and system of deploying at least one software application from at least one source platform to at least one target platform is provided. The method may include obtaining configuration data on interdependency between the at least one target platform and the at least one software application. The method may further include checking a readiness of the at least one source platform for initiating deployment of the at least one software application. The method may further include checking a readiness of the at least one target platform for initiating deployment of the at least one software application and performing a selective deployment of the at least one software application after the readiness check. The method may further include performing a post-deployment assessment of the selectively deployed at least one software application after the selective deployment, wherein the post-deployment assessment includes checking a status parameter of the selectively deployed at least one software application.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: March 31, 2015
    Assignee: Wipro Limited
    Inventors: Nagesh Nagaraj Gurikar, John Jesudason Doss, Sudipta Ghosh, Magesh Kasthuri
  • Patent number: 8997089
    Abstract: A computer system has a runtime environment (e.g. Java) and a deployment system (e.g. a Spring framework layer) arranged to deploy an application into the runtime environment. The application comprises bundles (e.g. OSGi bundles or JSR modules) each with manifest metadata defining dependencies for the respective bundle. A deployment management unit refers to one or more personality specific deployers to determine which of the bundles have a specific personality from a predetermined set of personality types. The personality specific deployers transform the respective personality-specific bundles by inserting one or more additional dependencies into the metadata of the bundle according to their personality type. The deployment management unit applies one or more operations to all of the plurality of bundles, including installing each of the bundles ready for deployment and deploys those bundles not having a specific personality type.
    Type: Grant
    Filed: March 10, 2009
    Date of Patent: March 31, 2015
    Assignee: Pivotal Software, Inc.
    Inventors: Samuel Hugh Brannen, Jr., Adrian Mark Colyer, Rob Harrop, Glyn Normington, Andy Wilkinson
  • Patent number: 8997090
    Abstract: Method and system for installing an operating system (OS) in a host computer system. The method comprises: receiving user parameters required during OS installation in a pre-boot execution environment and generating an unattended installation pack; transferring the unattended installation pack to a baseboard management controller (BMC); sending a control command to the BMC to instruct the BMC to mount the installation pack as a universal serial bus (USB) key; and installing the OS in the host in response to receiving a reply from the BMC, wherein during the OS installation process, the unattended pack is obtained from the USB key so as to acquire the user parameters in the installation process. The method and system make it possible for the OS installation to use no external storage or network apparatus and thus the required resources are reduced in the OS installation for a host.
    Type: Grant
    Filed: March 4, 2013
    Date of Patent: March 31, 2015
    Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
    Inventors: Ye Xu, Bin Yan, Wen Jie Yu, Binqi Zhang
  • Patent number: 8997091
    Abstract: Described are techniques for performing compliance testing. Configuration state information is received for one or more devices managed using a configuration management system. The configuration state information is stored in a data container. One or more compliance tests are executed using the configuration state information to determine if the one or more devices are compliant. The one or more compliance tests are defined using one or more queries and one or more compliance rules. The one or more queries are used for retrieving a portion of said configuration state information from said data container and generating one or more result sets. The one or more compliance rules specifying compliance criteria are used for determining whether the one or more result sets include configuration state information which is compliant.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: March 31, 2015
    Assignee: EMC Corporation
    Inventors: Thomas L. Watson, Fredrick A. Crable
  • Patent number: 8997092
    Abstract: The present disclosure enables remote device management. A programmatic interface is associated with each application plug-in. A web server included with the on-device agent provides access to the programmatic interfaces according to open standards such as HTML or XML. The present disclosure enables access to remote devices through existing infrastructure without the need for proprietary systems. An IT administrator or other administrator may remotely access and update software and hardware, track device data plan usage statistics, provide live support, and track current and historical device locations. An IT administrator or other user may update device settings, detect corrupt software, provide unattended installation of software, update applications while in use, and update applications sharing common files. IT administrators may employ the teachings of the present disclosure to provide customizable solutions for their own organization with features disclosed herein.
    Type: Grant
    Filed: February 3, 2011
    Date of Patent: March 31, 2015
    Assignee: Symantec Corporation
    Inventors: Mark Gentile, Jim Sullivan, Mark Hanson, Mark Wade
  • Patent number: 8997093
    Abstract: Example systems and methods of managing installation of applications are described. In one implementation, a repository stores data associated with multiple application instances. An orchestrator analyzes application instances running on multiple provisioned virtual machines and identifies at least one unused virtual machine among the multiple provisioned virtual machines. The orchestrator terminates processes running on the unused virtual machine and clears data associated with the unused virtual machine. The cleared virtual machine is added to a virtual machine pool for use by another application instance.
    Type: Grant
    Filed: April 17, 2012
    Date of Patent: March 31, 2015
    Assignee: SAP SE
    Inventor: Vencislav Dimitrov
  • Patent number: 8997094
    Abstract: In one example, a system includes a first computing device configured to execute a virtual machine, wherein the virtual machine is communicatively coupled to a virtual private network (VPN) via a first attachment circuit using a first set of network parameters, stop execution of the virtual machine, and create checkpoint data for the virtual machine, and a second computing device configured to execute the virtual machine, using at least some of the checkpoint data, and to cause the virtual machine to become communicatively coupled to the VPN via a second attachment circuit using a second set of network parameters different from the first set of network parameters. The system may further include a first provider edge (PE) routing device communicatively coupled to the first computing device via the first attachment circuit, and a second PE routing device communicatively coupled to the second computing device via the second attachment circuit.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: March 31, 2015
    Assignee: Pulse Secure, LLC
    Inventors: Hendrikus G. P. Bosch, Jan Medved
  • Patent number: 8997095
    Abstract: A system, and computer program product for preprovisioning using a mutated template. A subset of templates is selected from a set of templates that can be provisioned to a data processing system, a template in the set of templates including data to create a virtual machine on the data processing system. The mutated template is constructed using the subset of templates. A manifest is constructed such that a template in the subset of templates can be reconstructed from the mutated template using the manifest. Instead of the subset of templates, the mutated template is preprovisioned to the data processing system.
    Type: Grant
    Filed: July 16, 2012
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventor: Manish Gupta
  • Patent number: 8997096
    Abstract: An untrusted component exposing a high level storage object interface within an untrusted client virtual machine accepts application level storage object operations. Responsive to a storage object operation, the untrusted component passes a message through the underlying hypervisor to an associated trusted component. The trusted component processes the message by authenticating the client virtual machine and locating an internal mapping between the client virtual machine and an associated customer-specific set of backend storage resources to which the requested storage object operation is to be applied. The trusted component uses a trust relationship with the backend storage system to securely communicate the storage object operation to the backend storage system, and passes the operation results through the hypervisor back to the untrusted component in the source client virtual machine from which the storage object request originated.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: March 31, 2015
    Assignee: EMC Corporation
    Inventors: Boris Protopopov, Jurgen Leschner
  • Patent number: 8997097
    Abstract: A system for implementing a virtual disk in a virtualization environment, including a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, and a node comprises a hypervisor, user virtual machines, and a storage controller implemented as a service virtual machine; a plurality of storage devices that are accessed by user virtual machines and are managed by storage controllers, in which a first and a second virtual disk (vDisk) are formed from the plurality of storage devices and the first virtual disk is accessible by just a first user virtual machine and the second virtual disk is accessible by just a second user virtual machine.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: March 31, 2015
    Assignee: Nutanix, Inc.
    Inventors: Mohit Aron, Dheeraj Pandey, Ajeet Singh
  • Patent number: 8997098
    Abstract: Disclosed herein are a server duplication system and method and a storage medium storing a server duplication computer program. The server duplication system includes a primary server including a hypervisor including a hypervisor-based fault tolerance module and a first file system virtual machine (FS VM), and a first standby server including a hypervisor including a hypervisor-based fault tolerance module that exchanges data with a fault tolerance module provided on the hypervisor of the primary server and duplicates the primary server. The first FS VM provides a first file system that is shared by a user virtual machine (USER VM), and a buffer cache that is used in conjunction with the first file system is provided on virtual memory. The first FS VM is duplicated into the standby server using the hypervisor-based fault tolerance module of the primary server and the hypervisor-based fault tolerance module of the standby server.
    Type: Grant
    Filed: February 5, 2013
    Date of Patent: March 31, 2015
    Assignee: Samsung SDS Co., Ltd.
    Inventors: Kwang-Hyun Lee, Jong-Sung Kim
  • Patent number: 8997099
    Abstract: Embodiments of apparatuses and methods for processing virtualization events in a layered virtualization architecture are disclosed. In one embodiment, an apparatus includes a event logic and evaluation logic. The event logic is to recognize a virtualization event. The evaluation logic is to determine whether to transfer control from a child guest to a parent guest in response to the virtualization event.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 31, 2015
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Dion Rodgers, Richard A. Uhlig, Lawrence O. Smith, Barry E. Huntley
  • Patent number: 8997100
    Abstract: A task management system may be configured to select and/or perform one or more tasks. The task management system may be configured to create weighted groups of tasks to be performed in response to various triggering conditions. The task management system may include a value generation module, which may be configured to generate values used to select tasks from two or more of the weighted groups of tasks.
    Type: Grant
    Filed: December 9, 2011
    Date of Patent: March 31, 2015
    Assignee: Mercury Kingdom Assets Limited
    Inventors: David C. Sobotka, Sudhir Tonse, Aftab Zia
  • Patent number: 8997101
    Abstract: Embodiments described herein are directed to dynamically controlling the number of spins for a selected processing thread among a plurality of processing threads. A computer system tracks both the number of waiting processing threads and each thread's turn, wherein a selected thread's turn comprises the total number of waiting processing threads after the selected thread's arrival at the processor. Next, the computer system determines, based on the selected thread's turn, the number of spins that are to occur before the selected thread checks for an available thread lock. The computer system also, based on the selected thread's turn, changes the number of spins, such that the number of spins for the selected thread is a function of the number of waiting processing threads and processors in the computer system.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: March 31, 2015
    Assignee: Microsoft Corporation
    Inventors: Emad A. Omara, John J. Duffy
  • Patent number: 8997102
    Abstract: It is determined that a memory pressure condition exists which limits how many active processes are allowed. There is generated and stored of a set of values corresponding to parameters for each process where the parameters are related to priority factors assigned to the associated process. There is calculated a prioritization score for each process based on the corresponding set of values. There is determined a first active process with the lowest priority based on the prioritization scores. The first active process is deactivated to reduce the memory pressure condition.
    Type: Grant
    Filed: June 3, 2005
    Date of Patent: March 31, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: William Pohl, Walter J. Searle, Chukwuma Valentine Akpuokwe, Bradd William Szonye
  • Patent number: 8997103
    Abstract: One embodiment sets forth a technique for N-way memory barrier operation coalescing. When a first memory barrier is received for a first thread group execution of subsequent memory operations for the first thread group are suspended until the first memory barrier is executed. Subsequent memory barriers for different thread groups may be coalesced with the first memory barrier to produce a coalesced memory barrier that represents memory barrier operations for multiple thread groups. When the coalesced memory barrier is being processed, execution of subsequent memory operations for the different thread groups is also suspended. However, memory operations for other thread groups that are not affected by the coalesced memory barrier may be executed.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: March 31, 2015
    Assignee: NVIDIA Corporation
    Inventors: Shirish Gadre, Charles McCarver, Anjana Rajendran, Omkar Paranjape, Steven James Heinrich
  • Patent number: 8997104
    Abstract: A system and method for managing performance of a mobile device. A current runtime list and a measure of performance are determined. A request to execute a new application not on the current runtime list is received. A determination is made whether executing the new application will cause the performance measure to be equal to or less than a threshold level. When executing the new application will not cause the performance measure to be equal to or less than a threshold level, the request to execute the new application is granted. When executing the new application will cause the performance measure to be equal to or less than a threshold level, the request to execute the new application is declined.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: March 31, 2015
    Assignee: Time Warner Cable Enterprises LLC
    Inventors: Dharmen Udeshi, Vijay Venkateswaran, Michael Charles Roudi