Patents Examined by Hanh Thi-Minh Bui
  • Patent number: 10706016
    Abstract: A method for monitoring software usage for an application installed in a computer system. The computer system determines whether a change has occurred in a set of files stored in a set of directories for the application in a file system between inventory scans of the file system. The set of the files is associated with the application and the set of the files changes when the application is used. A usage metric for the application is adjusted by the computer system to indicate a use of the application when the change has occurred in the set of the files, increasing accuracy, by the computer system, in identifying application usage.
    Type: Grant
    Filed: May 22, 2018
    Date of Patent: July 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Grzegorz Sawina, Marcin Labenski, Joanna Barbara Koza, Tomasz A. Stopa
  • Patent number: 10698703
    Abstract: Starting execution of a mobile application on a mobile device causes the mobile application to invoke an initialization method that i) creates a substitute application class loader, and ii) replaces a default application class loader for the mobile application with the substitute application class loader. The substitute application class loader processes a request for a requested object class defined by the mobile application by returning, instead of the requested object class, an alternate object class that is different from the requested object class and that is defined by mobile application management logic also executing on the mobile device. Continued execution of the mobile application on the mobile device includes performing at least one mobile application management action using the alternate object class returned by the substitute application class loader.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: June 30, 2020
    Assignee: Citrix Systems, Inc.
    Inventor: James Robert Walker
  • Patent number: 10698683
    Abstract: Software configuration management for a software system under development includes receiving a change to the software system under development from a first user, determining a merit score for the first user, wherein the merit score is calculated according to success of prior changes received from the first user, and comparing, using a processor, the merit score for the first user with a merit threshold for the software system under development. The change is accepted for inclusion in a build of the software system under development responsive to determining that the merit score for the first user complies with the merit threshold.
    Type: Grant
    Filed: February 21, 2019
    Date of Patent: June 30, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Erik B. Craig, Paul F. McMahan, Spenser E. Shumaker, Daniel B. Varga
  • Patent number: 10691586
    Abstract: A computing apparatus configured to perform software verification and validation is provided. The computing apparatus includes a processor coupled to a main memory, and a write only memory module, wherein the processor is configured to execute an application under test. The application under test is configured to write output data to the main memory. The processor directs the output data to the write only memory module and transfers the output data to the main memory when the execution of the application under test is successful, or erases the output data from the write only memory module when the execution of the application under test is unsuccessful.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: June 23, 2020
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Pekka Nuotio, Panu Johansson
  • Patent number: 10691575
    Abstract: A system and method for the efficient monitoring of memory allocations performed during the executing code is presented. The proposed approach analyzes the code to build a control flow graph that describes all possible execution sequences of the code. Individual execution paths are identified by an analysis of the control path and memory allocation counters representing the memory allocations of each execution path are placed in the code. The memory allocation counters provide next to data describing memory allocations also execution frequency data of execution paths. The execution frequency data is used to identify the path with the highest execution frequency. The position of the memory allocation counters is further adapted with the optimization goal that the path with the highest execution frequency triggers the least number of memory allocation counter increments.
    Type: Grant
    Filed: October 2, 2018
    Date of Patent: June 23, 2020
    Assignee: Dynatrace LLC
    Inventors: Philipp Lengauer, Stefan Fitzek
  • Patent number: 10681176
    Abstract: A method of generating a deployment template based on a deployment pipeline that includes a plurality of pipeline stages to deploy a service in a plurality of deployment locations. The method may include identifying, based on the deployment pipeline, a plurality of groups of sequential pipeline stages, each group of sequential pipeline stages to be performed within a subset of the plurality of deployment locations. The method may further include identifying, based on the deployment pipeline, a plurality of stage groups, wherein each stage group references a plurality of deployment stages pertaining to a single group of sequential pipeline stages. The method may further include referencing, within the template, the plurality of stage groups.
    Type: Grant
    Filed: February 22, 2017
    Date of Patent: June 9, 2020
    Assignee: Amazon Technologies, Inc.
    Inventor: James William Lewis
  • Patent number: 10678627
    Abstract: Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
    Type: Grant
    Filed: January 24, 2020
    Date of Patent: June 9, 2020
    Assignee: Aurora Labs Ltd.
    Inventor: Zohar Fox
  • Patent number: 10671355
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of a method invocation completing a code fragment that follows one or more method invocations of a same class in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent characteristics of the context of method invocations of a class in commonly-used programs from a sampled population.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: June 2, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Jorge Banuelos, Shengyu Fu, Roshanak Zilouchian Moghaddam, Neelakantan Sundaresan, Siyu Yang, Ying Zhao
  • Patent number: 10664262
    Abstract: A remote security system may generate multiple different binary programs for corresponding operating system (OS) kernel versions that are to receive a software upgrade. A suppression process may then compare code in the code sections between pairs of binary programs, and may also compare the data in the data sections between the pairs of binary programs to identify subsets of “identical” binaries. The remote security system may send a representative binary (while suppressing the remaining binaries in a subset of identical binaries) to host computing devices that run different OS kernel versions. On the receiving end, a host computing device that runs a particular OS kernel version may receive a binary program, and prior to loading the binary program, modify the binary program to render the binary loadable by (or compatible with) the particular OS kernel version running on the host computing device.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: May 26, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Cat S. Zimmermann, Steven King
  • Patent number: 10642723
    Abstract: Embodiments of the invention are directed to metamorphic relationship based code testing using mutant generators. The system is configured for identifying and remediating defects in an original program based on constructing at least one mutated program by distorting the original program, and analyzing expression of mutants in test results. In particular, the system receives a request to perform defect analysis of an original program. In response, the system constructs a first mutated program by embedding one or more mutants in the original program code. Moreover, the system typically maps the one or more mutants to one or more metamorphic relationships of process functions of the original program. The system may then implement tests of the original program and the first mutated program by providing one or more predetermined test cases as input to both, to determine whether the original program comprises at least one defect.
    Type: Grant
    Filed: February 5, 2019
    Date of Patent: May 5, 2020
    Assignee: BANK OF AMERICA CORPORATION
    Inventor: Madhusudhanan Krishnamoorthy
  • Patent number: 10628130
    Abstract: A code completion tool uses machine learning models generated for custom or proprietary classes associated with a custom library of classes of a programming language and for overlapping classes associated with a standard library of classes for the programming language. The machine learning models are trained with features from usage patterns of the custom classes and overlapping classes found in two different sources of training data. An n-order Markov chain model is trained for each custom class and each overlapping class from the usage patterns to generate probabilities to predict a method invocation more likely to follow a sequence of method invocations for a custom class and for an overlapping class.
    Type: Grant
    Filed: December 3, 2018
    Date of Patent: April 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shengyu Fu, Neelakantan Sundaresan, Ying Zhao
  • Patent number: 10628584
    Abstract: A code scanning system has a syntax generation component that receives source code and generates an abstract syntax tree file. The system includes a white list of permitted pure functions, and a black list of prohibited impure functions. In addition, the system includes a static code analyzer for performing static analysis of the source code. The static code analyzer includes a function analyzer that receives the AST file and identifies the functions. Each function is compared to the white list, and if it is present, marked as permitted in a static analysis file. If the function is not on the white list, it is compared to the black list. If it is present on the black list, it is marked as prohibited in the static analysis file. If the function is not on the white or black list, it is marked as “unknown” and subjected to manual analysis.
    Type: Grant
    Filed: October 4, 2017
    Date of Patent: April 21, 2020
    Assignee: State Farm Mutual Automobile Insurance Company
    Inventors: Joseph W. Norton, Michael Gregory Schwarz, Paul David Kimbrel, William Knight Harrod, Matthew Joshua Tijerina, Kevin Knipmeyer
  • Patent number: 10621077
    Abstract: An example system includes (i) a software product having a plurality of code units that accesses a database, (ii) a processor, and (iii) a non-transitory computer readable storage medium having stored thereon software tests and instructions that cause the processor to: execute the software tests on a first version of the software product; determine a first mapping between each respective software test and one or more of the code units; determine a second mapping between each respective software test and one or more data units in the database; determine that, between a second version and the first version of the software product, a particular code and data unit have changed; select, from the first and the second mappings, a set of software tests with mappings to the particular code unit or data unit; and execute the set of software tests on the second version of the software product.
    Type: Grant
    Filed: May 16, 2018
    Date of Patent: April 14, 2020
    Assignee: ServiceNow, Inc.
    Inventors: David Joshua Wiener, Adar Margalit, Yaron Hecker, Haviv Rosh, Nir Yariv
  • Patent number: 10620921
    Abstract: An application system for the creation, deployment, and management of digital content assets is provided. In embodiments, a system for creating, sharing and managing digital content may include a visual editing environment that enables a developer to create and edit code controlling a digital content asset in a declarative language, wherein the developer specifies in a 2D editing environment at least one of a color and a texture for each layer of a plurality of layers for an object of digital content asset, a texture map processing engine for processing and compressing the color or texture information for the plurality of layers into a texture map data structure and a 2D-to-3D code generator that applies at least one of a vertex operation and a pixel shading operation to the texture map data structure at runtime to project the object in 3D at runtime for the digital content asset.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: April 14, 2020
    Assignee: Umajin Inc.
    Inventor: David Brebner
  • Patent number: 10607028
    Abstract: In particular embodiments, a Personal Data Deletion System is configured to: (1) at least partially automatically identify and delete personal data that an entity is required to erase under one or more of the conditions discussed above; and (2) perform one or more data tests after the deletion to confirm that the system has, in fact, deleted any personal data associated with the data subject. The system may, for example, be configured to test to ensure the data has been deleted by: (1) submitting a unique token of data through a form to a system; (2) in response to passage of an expected data retention time, test the system by calling into the system after the passage of the data retention time to search for the unique token.
    Type: Grant
    Filed: September 6, 2019
    Date of Patent: March 31, 2020
    Assignee: OneTrust, LLC
    Inventors: Jonathan Blake Brannon, Kevin Jones, Dylan D. Patton-Kuhl, Bryan Patrick Kveen, Nicholas Ian Pavlichek, Eliza Rose Crawford
  • Patent number: 10599405
    Abstract: An application system for the creation, deployment, and management of digital content assets is provided, for developing media-rich content and applications that have a simple architecture that is also comprehensive and extensible. In embodiments, a system for creating, sharing and managing digital content may include a visual editing environment that enables a developer to create and edit code controlling a digital content asset in a declarative language and a code execution engine that operates on the code created in the visual editing environment to control execution of at least one hardware infrastructure element that enables the utilization of the digital content asset, wherein the same declarative language and code execution engine are used during editing of the digital content asset and at runtime and wherein the visual editor and runtime code are compiled for distribution using LLVM.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: March 24, 2020
    Assignee: Umajin Inc.
    Inventor: David Brebner
  • Patent number: 10592235
    Abstract: Various methods and systems for generating an idempotent workflow are described herein. In one example, a method includes detecting distributed code and identifying a boundary function in the distributed code. The method can also include separating the boundary function into a transition function, a non-idempotent function, and a reversion function. Additionally, the method can include transforming the non-idempotent function into an idempotent function by generating a flag corresponding to the non-idempotent function, wherein the flag indicates if the non-idempotent function has been executed. Furthermore, the method can include combining the transition function, the idempotent function, and the reversion function to form the idempotent workflow.
    Type: Grant
    Filed: October 24, 2016
    Date of Patent: March 17, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Burra Gopal, Yuriy Labunets, Amy R. Simpson, James Rupke, Kai Zhu, Roberto Taboada, Shayan Kayhanian
  • Patent number: 10592238
    Abstract: In embodiments, a system for creating, sharing and managing digital content is presented. The system includes a visual editing environment that enables a developer to create and edit code controlling a digital content asset using a domain-specific declarative language. A script for the digital content asset is specified according to which the digital content asset is at least one of serialized and de-serialized in a host computing environment. The system includes a code execution engine that operates on code created in the visual editing environment to control execution of the code to enable utilization of the digital content asset. The visual editing environment and the code execution engine enable creation, delivery and editing of the digital content asset. The visual editing environment and the code execution engine enable multiple runtime versions, wherein the visual editing environment and the multiple runtime versions are written using the same declarative language.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: March 17, 2020
    Assignee: Umajin Inc.
    Inventor: David Brebner
  • Patent number: 10585661
    Abstract: Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
    Type: Grant
    Filed: October 7, 2019
    Date of Patent: March 10, 2020
    Assignee: Aurora Labs Ltd.
    Inventor: Zohar Fox
  • Patent number: 10579351
    Abstract: A method of increasing a speed of operation of a computer via a metadata-based business rule interpreter. The method includes receiving, at a processor, user input defining a business rule. The method also includes translating, by the processor, the user input into a domain-specific language entirely consisting of metadata objects, wherein a translated syntax is formed, the translated syntax being an abstract syntax tree structure consisting of only the metadata objects. The method also includes executing, by the processor, an abstract syntax tree interpreter and taking as input into the abstract syntax tree interpreter the translated syntax. A compiler operation to generate computer code for implementing the business rule is avoided. Executing the abstract syntax tree interpreter produces a result in a browser without using executable code to achieve the result.
    Type: Grant
    Filed: August 25, 2017
    Date of Patent: March 3, 2020
    Assignee: ADP, LLC
    Inventors: Joseph C. Groseclose, Robert Tucker, Zachary Brandt, Aakash Kharche, Satheesh Nagarajan, Darshan Kapadia