Patents Examined by Wei Y. Zhen
  • Patent number: 10936291
    Abstract: A system recommends the refactoring of microservices. The system determines a segments similarity score based on comparing first code segments, associated with a first microservice in an application, against second code segments, associated with a second microservice in the application. The system determines whether the segments similarity score satisfies a segments similarity threshold. The system determines microservices similarity scores based on comparing a size of similar code segments in the first code segments and the second code segments against sizes of the first microservice and the second microservice, if the segments similarity score satisfies the segments similarity threshold. The system determines whether any microservices similarity score satisfies a microservices similarity threshold. The system outputs a recommendation to merge the first microservice with the second microservice, if any microservices similarity score satisfies the microservices similarity threshold.
    Type: Grant
    Filed: April 17, 2019
    Date of Patent: March 2, 2021
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Roi Gamliel, Amihai Savir, Avitan Gefen
  • Patent number: 10936290
    Abstract: A computer-implemented method includes: selecting, by a computer device, a set of fields in a program which are marked as final fields to be treated as constants; adding, by the computer device, detection logic to the program, the detection logic including a process that detects writes to the final fields to be treated as constants; compiling, by the computer device, the program into compiled code; executing, by the computer device, the compiled code; detecting, by the computer device, a write to a first one of the final fields to be treated as constants; and transitioning, by the computer device, execution of the compiled code from the compiled code to an interpreter for processing by compensation code that operates on the first one of the final fields to be treated as constants.
    Type: Grant
    Filed: November 29, 2018
    Date of Patent: March 2, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew James Craik, Nicholas James Coughlin, Graham Alan Chapman, Daniel Heidinga
  • Patent number: 10936308
    Abstract: Systems, methods, and computer-readable media are provided for a multi-tenant collaborative learning environment, where information from all tenants in a multi-tenant system is collected and used to provide individual tenants with code fixes and/or optimization recommendations based on the collected information. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: March 2, 2021
    Assignee: SALESFORCE.COM, INC.
    Inventors: Ajay Krishna Borra, Manpreet Singh, Himanshu Mittal, Edet Nkposong
  • Patent number: 10929122
    Abstract: A technique is described herein for updating a running application that includes a plurality of program modules (e.g., services). The technique performs its updating operation without having to suspend the execution of the running application, and without reloading all of the program modules in the running application. The technique leverages a mapping component to map a calling program module's call to a function to a called program module that implements the function. A current application manifest provides mapping logic for use by the mapping component. In some examples, the technique also transforms data passed by the calling program module to conform to a data format expected by the called program module. This is appropriate when the calling program module and the called program module use different schemas to define the data.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: February 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Lovejoy Goodwin, Dragos Barac, Abhinav Jain, Krystian Krzysztof Walec, Pedram Faghihi Rezaei
  • Patent number: 10922073
    Abstract: A source control system is used for the distributed incremental updating of trays that include all of the dependencies needed for an application to execute within a computing environment. An application of a first version of a tray is executed on a server responsive to the first version of the tray being retrieved from a source control system. Tray management software of the first version of the tray receives a request to update the tray to a second version. The tray management software requests a changeset including file differences between the first and second versions of the tray from the source control system. Responsive to a determination by the tray management software that there are no pending requests preventing an update, the tray is updated from the first version to the second version by updating files in the tray according to the changeset.
    Type: Grant
    Filed: January 17, 2019
    Date of Patent: February 16, 2021
    Assignee: ServiceNow, Inc.
    Inventor: Jeremy Norris
  • Patent number: 10922069
    Abstract: Flexible, multidimensional infrastructure scaling for cloud-based over-the-air (OTA) systems is disclosed.
    Type: Grant
    Filed: September 14, 2019
    Date of Patent: February 16, 2021
    Assignee: Aptiv Technologies Limited
    Inventors: Daniel Grill, Tao Lin, Mahbubul Alam
  • Patent number: 10915312
    Abstract: A method of updating templates includes maintaining libraries of the templates at a lifecycle management server to track versions and locations of the templates respectively stored in source, development, testing, and production data centers, copying a first template from the source data center to the development data center, storing the first template that has been updated at the development data center in the testing data center and performing unit testing on the updated first template at the testing data center, and upon successful unit testing, copying the updated first template from the development data center to the source data center and releasing the updated first template into production by storing the updated first template in the production data center. The library of the templates indicates the first template, prior to the update, as a first version, and after the update, as a later, second version.
    Type: Grant
    Filed: July 2, 2019
    Date of Patent: February 9, 2021
    Assignee: VMWARE, INC.
    Inventors: Bryan P. Halter, Thomas J. O'Rourke, Syed I. Ahmed, Bhavin D. Sopariwala
  • Patent number: 10915438
    Abstract: A software-testing device includes a conversion unit configured to convert a PLC program for operating a programmable logic controller into a general-purpose language program described in a general-purpose programming language, and a test execution unit configured to perform a test on the general-purpose language program.
    Type: Grant
    Filed: February 16, 2018
    Date of Patent: February 9, 2021
    Assignee: MITSUBISHI HEAVY INDUSTRIES ENGINEERING, LTD.
    Inventors: Hirotaka Okazaki, Noritaka Yanai, Masahiro Yamada, Yutaka Miyajima
  • Patent number: 10915301
    Abstract: According to one embodiment, there is provided a programming support device. The programming support device includes a display that displays a script input according to an operation and a processor that performs a process according to the script. When a line in which a first control script is displayed as the script is inserted in a screen displayed on the display, the processor performs a fetch process for at least one script, without a user's operation, between a line into which the first control script is inserted and a nearest blank line that is positioned on a line below the line into which the first control script is inserted, is a blank line in the same layer as the first control script, and is nearest to the line into which the first control script is inserted.
    Type: Grant
    Filed: January 9, 2019
    Date of Patent: February 9, 2021
    Assignee: CASIO COMPUTER CO., LTD.
    Inventors: Shoichi Iwasaki, Akiko Muraki, Toshiaki Tanaka, Saki Tashiro
  • Patent number: 10909023
    Abstract: One or more embodiments are described for function-message identifier oriented test case generation for seamlessly supporting continuous globalization verification testing in agile computer program product development. An example computer-implemented method includes identifying a newly added globalization function in a modified source code, the globalization function including a message to be output via a user-interface, the message being in a first language. The method also includes generating function-message data that associates a function identifier of the globalization function with a message identifier of the message. The method also includes generating, automatically, a test case for verifying the globalization function outputs the message via the user-interface in a second language using the function-message data. The method also includes creating and broadcasting a test report to a development team, the test report indicating a result of executing the test case.
    Type: Grant
    Filed: April 13, 2020
    Date of Patent: February 2, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Su Liu, Debbie Anglin, Fan Yang, Boyi Tzen
  • Patent number: 10908912
    Abstract: A method for redirecting an indirect call in an operating system kernel to a direct call is disclosed. The direct calls are contained in trampoline code called an inline jump switch (IJS) or an outline jump switch (OJS). The IJS and OJS can operate in either a use mode, redirecting an indirect call to a direct call, a learning and update mode or fallback mode. In the learning and update mode, target addresses in a trampoline code template are learned and updated by a jump switch worker thread that periodically runs as a kernel process. When building the kernel binary, a plug-in is integrated into the kernel. The plug-in replaces call sites with a trampoline code template containing a direct call so that the template can be later updated by the jump switch worker thread.
    Type: Grant
    Filed: July 24, 2019
    Date of Patent: February 2, 2021
    Assignee: VMWARE, INC.
    Inventors: Nadav Amit, Frederick Joseph Jacobs, Michael Wei
  • Patent number: 10908895
    Abstract: Methods and systems for upgrading an intelligent server adapter (ISA) with reduced downtime that affects performance are provided. The method includes, from a main agent, initiating a backup agent that includes critical functions of the ISA and runs in a tight loop, isolated from other components. The main agent transfers critical duties to the backup agent and shuts down before performing the upgrade. After upgrading itself and other system components, the main agent retrieves the duties from the backup agent, and may terminate the backup agent.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: February 2, 2021
    Assignee: PENSANDO SYSTEMS INC.
    Inventors: Barun Amalkumar Halder, Alok Rathore, Neel Patel, James Bradley Smith, David Antony Clear
  • Patent number: 10901966
    Abstract: An application executing in a containerized environment may be configured at started up by deploying a configuration agent to execute in a container engine. For each container deployed, instantiating a user configuration plugin and one or more applications to execute in the container. The user configuration plugin may send a request to the configuration agent to request for configuration information relating to the application. The configuration plugin may receive configuration information from the configuration agent and used the received configuration information to configure the application.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: January 26, 2021
    Assignee: VMWARE, INC.
    Inventors: Dong Wang, Yunfei San, Peng Guo, Felix Yan
  • Patent number: 10901761
    Abstract: Embodiments described herein provide for a multi-process model to support compiling applications for multiple platforms. In one embodiment, applications designed for execution on a mobile platform can be ported to and/or compiled for execution on a desktop/laptop platform without requiring modification of the core program code of the mobile application. The mobile application is executed using a multi-process (e.g., two or more process) model in which the core mobile application program generates content that is displayed by a host process. The host process enables automatic translation of program calls to generate mobile user interface elements into program calls that generate user interface elements of the host platform. The translation can be performed using a multi-process (e.g., two or more process) model in which the core application program generates content that is displayed by a host process.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: January 26, 2021
    Assignee: Apple Inc.
    Inventors: Aaditya Chandrasekhar, Russell A. Bishop, Christopher A. Dreessen, Kristin M. Forster, Ali T. Ozer, Jeremiah R. Sequoia
  • Patent number: 10901808
    Abstract: Fine-grained parallelism within isolated object graphs is used to provide safe concurrent operations within the isolated object graphs. One example provides an abstraction labeled IsolatedObjectGraph that encapsulates at least one object graph, but often two or more object graphs, rooted by an instance of a type member. By encapsulating the object graph, no references from outside of the object graph are allowed to objects inside of the object graph. Also, the encapsulated object graph does not contain references to objects outside of the graphs. The isolated object graphs provide for safe data parallel operations, including safe data parallel mutations such as foreach loops. In an example, the ability to isolate the object graph is provided through type permissions.
    Type: Grant
    Filed: February 2, 2017
    Date of Patent: January 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John J. Duffy, Niklas Gustafsson, Vance Morrison
  • Patent number: 10901711
    Abstract: Methods, systems, and computer readable media for compiling concise expressive design patterns within computer software source code are described. Some implementations can include methods and systems that resolve some problems of implementing design patterns in an OO and/or AO program. The disclosed technique facilitates writing programs that apply design patterns to its structure and behavior, in an easy manner. Some programming language constructs (associated with new keywords, syntax, and semantics) are disclosed that convey the goal of some design patterns in order to allow programmers to implement design patterns simply and concisely. These constructs are added as extensions to a compiler and a compiler-based approach to concise expressive design pattern source code is described.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: January 26, 2021
    Assignee: KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS
    Inventors: Taher Ahmed Ghaleb, Khalid Abdullah Aljasser, Musab A. Alturki
  • Patent number: 10901712
    Abstract: Methods, systems, and computer readable media for compiling concise expressive design patterns within computer software source code are described. Some implementations can include methods and systems that resolve some problems of implementing design patterns in an OO and/or AO program. The disclosed technique facilitates writing programs that apply design patterns to its structure and behavior, in an easy manner. Some programming language constructs (associated with new keywords, syntax, and semantics) are disclosed that convey the goal of some design patterns in order to allow programmers to implement design patterns simply and concisely. These constructs are added as extensions to a compiler and a compiler-based approach to concise expressive design pattern source code is described.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: January 26, 2021
    Assignee: KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS
    Inventors: Taher Ahmed Ghaleb, Khalid Abdullah Aljasser, Musab A. Alturki
  • Patent number: 10901725
    Abstract: Processing of frames from a receive queue maintained by a port firmware of an embedded port of a host bus adapter is suspended via a request from a driver of the host bus adapter. New driver software is loaded for the host bus adapter and new port firmware is loaded in the embedded port, in response to the suspending of the processing of frames from the receive queue. The processing of frames from the receive queue is resumed via another request from the driver of the host bus adapter, in response to the loading of the new driver software and the new port firmware.
    Type: Grant
    Filed: June 12, 2018
    Date of Patent: January 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roger G. Hathorn, Steven E. Klein, Mikel W. Welsh
  • Patent number: 10901717
    Abstract: A request to install an application on a device may be received, and data associated with the device and a set of users associated with the device may be received. Acceptance factors specified in a terms and conditions document associated with the application to be installed on the device may be identified. A terms and conditions implication of installing the application on the device may be determined based on the acceptance factors. Based on the terms and conditions implication, a rule may be dynamically generated to control at least a running of the application on the device. The rule may be activated or caused to be activated on the device. The activation of the rule may control the running of the application on the device.
    Type: Grant
    Filed: July 16, 2018
    Date of Patent: January 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: Skyler Speakman, Komminist Weldemariam
  • Patent number: 10896055
    Abstract: An access data collector collects access assignment data characterizing active access assignment operations of a hypervisor in assigning host computing resources among virtual machines for use in execution of the virtual machines. Then, a capacity risk indicator calculator calculates a capacity risk indicator characterizing a capacity risk of the host computing resources with respect to meeting a prospective capacity demand of the virtual machines, based on the access assignment data.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: January 19, 2021
    Assignee: BMC Software, Inc.
    Inventors: Jeyashree Sivasubramanian, Sudheer Apte