Patents Examined by Philip Wang
  • Patent number: 10872026
    Abstract: Embodiments are directed to performing risk-based software validation and to applying change control when upgrading a software application. In one scenario, a computer system calculates a risk score for features in a software application. This risk score indicates a relative level of risk for installing and using the software application. The computer system performs internal usage testing to determine how the software application is recommended for use, and conducts use tests to determine how a specified client uses the features of the software application as compared to the determined recommended use. Then, based on the calculated risk and the determined use of the features, the computer system provides a recommendation for the specified client indicating which portions of the software application are to undergo client-specific validation. In another scenario, a computer system applies change control when upgrading a software application from a first version to a second version.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: December 22, 2020
    Assignee: MasterControl, Inc.
    Inventors: Erin Marie Wright, Derek Edward Cramer, Robert Edward Thomas, Chad Milito, Terrance Holbrook, Alexander James Butler
  • Patent number: 10871949
    Abstract: The subject technology transforms a machine learning model into a transformed machine learning model in accordance with a particular model specification when the machine learning model does not conform to the particular model specification, the particular model specification being compatible with an integrated development environment (IDE). The subject technology generates a code interface and code for the transformed machine learning model, the code interface including code statements in the object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model. Further, the subject technology provides the generated code interface and the code for display in the IDE, the IDE enabling modifying of the generated code interface and the code.
    Type: Grant
    Filed: June 3, 2019
    Date of Patent: December 22, 2020
    Assignee: Apple Inc.
    Inventors: Alexander B. Brown, Michael R. Siracusa, Gaurav Kapoor, Elizabeth Ottens, Christopher M. Hanson, Zachary A. Nation, Vrushali Mundhe, Srikrishna Sridhar
  • Patent number: 10871950
    Abstract: Optimization opportunities are located and documented to enhance code translation by compilers or interpreters. An enhanced translator scans a program syntax graph, recognizes subgraph structures, and annotates nodes of the graph to document optimization characteristics of program code entities associated with the nodes. Subgraph structures and corresponding annotations may be maintained in an optimization catalog, distinct from any particular optimizable program. Optimizers improve program code translation based on the annotated syntax graph. Optimization characteristics may specify code purity in terms of execution value ranges and execution behaviors, e.g., side-effects, local or global variable usage, I/O, by-reference parameters, and which exceptions are possible. Subgraph structures may be identified using routine names, hash values, and templates with holes any constant will fill. Parent node characteristics may be inferred from characteristics of child nodes.
    Type: Grant
    Filed: May 16, 2019
    Date of Patent: December 22, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Bart J. F. De Smet
  • Patent number: 10868866
    Abstract: One or more processors receive programmer input in a programming language. The programmer input is for adding data to an electronic storage object that is accessible via a network, and includes i) a built-in function corresponding to adding data to electronic storage objects, ii) a first parameter specifying the electronic storage object to which data is to be stored, and iii) one or more second parameters indicating the data that is to be stored. One or more processors evaluate the programmer input with a computational application to generate one or more messages to a server for the server to add the data to the electronic storage object. One or more processors send the one or more messages to cause the data indicated by the second parameter to be added to the electronic storage object.
    Type: Grant
    Filed: October 28, 2019
    Date of Patent: December 15, 2020
    Assignee: Wolfram Research, Inc.
    Inventors: Stephen Wolfram, Bradley Ashby
  • Patent number: 10860294
    Abstract: A requirements tracing validation tool analyzes an input corresponding to a requirements tracing set to identify high-level requirements and artifacts, subsystem-level requirements and artifacts, current links tracing between the requirements and the artifacts, and linguistic and logical elements of each identified artifact or link. The tool evaluates each link and provides a confidence level as to the correctness of the link. The tool may recommend additional links not already within the set and evaluate the recommended links for correctness. Further, the tool may evaluate the correctness of a given requirement over time as the requirements tracing set and its environment develops, and offer suggestions for amending the wording of artifacts and links to enhance uniformity and clarity throughout the requirements tracing set and increase the likely correctness of all traces and links within the environment.
    Type: Grant
    Filed: January 25, 2019
    Date of Patent: December 8, 2020
    Assignee: Rockwell Collins, Inc.
    Inventors: Jason L. Wong, May C. Chan, Ronald E. Klose
  • Patent number: 10845787
    Abstract: An industrial controller within an industrial automation environment is provided. The industrial controller includes a plurality of control devices, and an update controller which is configured to identify control devices that are on a linear topology, identify control devices on the linear topology that require a reset after updating, and identify a hierarchy of the control devices. The update controller is also configured to update control devices within a first level of the hierarchy, and reset the control devices within the first level of the hierarchy after all of the control devices within the first level of the hierarchy have completed updating. The update controller is further configured to concurrently update control devices within a second level of the hierarchy, and concurrently reset the control devices within the second level of the hierarchy after all of the control devices within the second level of the hierarchy have completed updating.
    Type: Grant
    Filed: July 17, 2019
    Date of Patent: November 24, 2020
    Assignee: Rockwell Automation Technologies, Inc.
    Inventors: Fabio Malaspina, James A. Bizily, Elvis Chunhui Zhu, Fiona Yuan Wei, Jeff Jingfeng Chen
  • Patent number: 10846222
    Abstract: An example method of configuring an application to manage persistent memory (PM) in a computer system includes: modifying, by a compiler during compilation of the application, source code of the application to add instructions to update tracking metadata for store instructions in the source code that target memory blocks mapped to the PM; compiling, by the compiler, the source code to generate an executable process; and issuing, by a synchronization routine executing on the computer, write-back instructions during execution of the executable process based on the tracking metadata.
    Type: Grant
    Filed: July 1, 2019
    Date of Patent: November 24, 2020
    Assignee: VMware, Inc.
    Inventors: Aasheesh Kolli, Vijaychidambaram Velayudhan Pillai
  • Patent number: 10831473
    Abstract: A method, system and computer program product for locating business rules in application source code. Static code analysis is performed on the application source code to collect variable usage and statement information, which is stored in a repository. Variables that are used in conditions and computational statements are identified using the stored information, including determining the usage distribution of these variables in such conditions and computational statements and whether such conditions and computational statements are within copybooks. A score is assigned to these identified variables based on usage and if their usage is shared in copybooks. Those variables with a score exceeding a threshold value are selected to be inserted in a list of business terms. Usage locations of the variables in the list are extracted. The business rules in the application source code containing the logic using these variables are then identified based on the extracted usage locations.
    Type: Grant
    Filed: October 3, 2019
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Rami Katan, Michael J. A. Johnson, William Alexander
  • Patent number: 10830817
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a touchless testing platform employed to, for example, create automated testing scripts, sequence test cases, and implement determine defect solutions. In one aspect, a method includes the actions of receiving a log file that includes log records generated from a code base; processing the log file through a pattern mining algorithm to determine a usage pattern; generating a graphical representation based on an analysis of the usage pattern; processing the graphical representation through a machine learning algorithm to select a set of test cases from a plurality of test cases for the code base and to assign a priority value to each of the selected test cases; sequencing the set of test cases based on the priority values; and transmitting the sequenced set of test cases to a test execution engine.
    Type: Grant
    Filed: August 15, 2019
    Date of Patent: November 10, 2020
    Assignee: Accenture Global Solutions Limited
    Inventors: Mahesh Venkataraman, Sunder Ranganathan Nochilur, Mallika Fernandes, Kulkarni Girish, Chinmaya Ranjan Jena, Jothi Gouthaman, Venugopal S. Shenoy, Srinatha Sreedhara Mulugund, Sivasankar Ramalingam, Kishore P. Durg, Matthias Rasking
  • Patent number: 10824549
    Abstract: A system for testing of an application programming interface (API) is disclosed. The system includes a usage data collection source to track a trace identity associated with at least one message exchange pattern of the API using an end to end tracing (E2E) technique, captures usage data of an application in one or more modes, wherein the usage data corresponds to the trace identity. A usage data selection subsystem selects a predefined strata of usage data. A test case generation learning subsystem generates multiple test cases. A mocking subsystem use the trace identity to simulate the at least one message pattern associated with the usage data from a current version of the application against an updated version of the application. A comparison subsystem records an actual result, compares the actual result with an expected result and generates a test result upon comparison of the actual result with the expected result.
    Type: Grant
    Filed: May 26, 2020
    Date of Patent: November 3, 2020
    Assignee: Mesh Dynamics, Inc
    Inventors: Prasad Desphande, Venkatesh Ganti, Rahul Lahiri, Ashoke Sudhakar, Ravi Vijay
  • Patent number: 10817285
    Abstract: Disclosed herein are system, method, and various embodiments for migrating a program from a first device to a second device. An embodiment operates by receiving a playbook comprising a source location of source code on the first device and a target location for the source code on the second device. An execution function for transferring the source code from the first device to the second device is determined. A set of classes on the first device to which to apply the playbook are identified. At least one internal reference and at least one external reference in the set of classes are updated. The set of classes are migrated from the source location on the first device to the target location on the second device based on the playbook. The at least one internal reference is updated after the migration, wherein the program is executable using the migrated classes after the updating.
    Type: Grant
    Filed: August 12, 2019
    Date of Patent: October 27, 2020
    Assignee: SAP SE
    Inventor: Dongqing Hu
  • Patent number: 10802778
    Abstract: Provided is an information processing apparatus that efficiently executes a series of tasks related to reading a document. An information processing system includes an upstream server, image forming apparatuses and a regional server. An apparatus-information-acquiring unit of the upstream server acquires apparatus information from plural image forming apparatuses. A task-sharing unit shares the respective tasks of a series of tasks for document data that is read by a specified image forming apparatus, based on a storage unit that is an apparatus-information-storage unit that stores an ID, position information that indicates a position in a network, and performance information for that image forming apparatuses that is included in the apparatus information. The task-sharing unit, in accordance with the ID and performance information of plural image forming apparatuses, determines and shares tasks so as to be executed by image forming apparatuses that are at nearby positions in the network.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: October 13, 2020
    Assignee: KYOCERA Document Solutions Inc.
    Inventors: Takashi Oguma, Toru Yasui, Manuel Manalo, Chikara Yuki
  • Patent number: 10796031
    Abstract: An industrial plant module-based engineering method includes the following processes. The process is for duplicating a source engineering template having one or more source child templates to create a duplicated engineering template having one or more duplicated child templates, without duplicating any instances. The process is for selecting at least one child instance instantiated from the source engineering template and having an original link to the source engineering template. The process is for changing the original link into a new link between the selected at least one child instance and the duplicated engineering template. The selected at least one child instance has the new link to the duplicated engineering template and is free of the original link to the source engineering template, and wherein unselected one or more child instances remain to have the original link to the source engineering template.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: October 6, 2020
    Assignee: Yokogawa Electric Corporation
    Inventors: Hideki Murata, Mark Anthony De Castro Cu-Unjieng, Naing Oo Lin, Archie Sambitan Orido, Efendi Supiman, Thin Sapal Yu, Janet Tria
  • Patent number: 10783004
    Abstract: Implementations of the present specification provide a method, an apparatus, and an electronic device for improving parallel performance of a CPU. The method includes: attempting to acquire data requests that are of a same type and that are allocated to the CPU core; determining a number of requests that are specified by the acquired one or more data requests; and in response to determining that the number of requests is greater than or equal to a maximum degree of parallelism: executing executable codes corresponding to the maximum degree of parallelism, wherein the maximum degree of parallelism is a maximum number of parallel threads executable by the CPU, and wherein the executable codes comprise code programs that are compiled and linked based on the maximum degree of parallelism at a time that is prior to a time of the executing.
    Type: Grant
    Filed: February 19, 2020
    Date of Patent: September 22, 2020
    Assignee: Alibaba Group Holding Limited
    Inventors: Ling Ma, Wei Zhou, Changhua He
  • Patent number: 10775815
    Abstract: A method, apparatus, system and computer program is provided for controlling an electric power system, including implementation of an energy planning process (EPP) system which can be used to plan a voltage control and conservation (VCC) system applied to an electrical distribution connection system (EEDCS). The EPP system plans modifications to the EEDCS as a result of operating the VCC system in the “ON” state, in order to maximize the level of energy conservation achieved by the VCC system control of the EEDCS. The EPP system may also identify potential problems in the EEDCS for correction.
    Type: Grant
    Filed: July 3, 2019
    Date of Patent: September 15, 2020
    Assignee: Dominion Energy, Inc.
    Inventors: Melissa A. Peskin, Phillip W. Powell
  • Patent number: 10768655
    Abstract: A method, apparatus, system and computer program is provided for controlling an electric power system, including implementation of a voltage control and conservation (VCC) system used to optimally control the independent voltage and capacitor banks using a linear optimization methodology to minimize the losses in the EEDCS and the EUS. An energy validation process system (EVP) is provided which is used to document the savings of the VCC and an EPP is used to optimize improvements to the EEDCS for continuously improving the energy losses in the EEDS. The EVP system measures the improvement in the EEDS a result of operating the VCC system in the “ON” state determining the level of energy conservation achieved by the VCC system. In addition the VCC system monitors pattern recognition events and compares them to the report-by-exception data to detect HVL events.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: September 8, 2020
    Assignee: Dominion Energy, Inc.
    Inventors: Phillip W. Powell, Stephen J. Tyler, Melissa A. Peskin
  • Patent number: 10761830
    Abstract: Web portal software presents a GUI for installing and updating software applications on a computer. A method of using the GUI includes steps of: (a) specifying the configuration of an end user computer, (b) selecting on the GUI a software application program, (c) downloading a software package containing said selected software application program and arranged for the specified configuration, and (d) installing the software program by executing the software package. If the selected software package is not available for the specified configuration, step (c) is preceded by (e) the supplier creating a software package arranged for installing the software program on a computer having the specified configuration. The specified configuration may comprise an operating system type, a processor type, software application programs already installed on the end user computer, and/or a required dynamic link library, a registry entry, and a required parameter name in computer files.
    Type: Grant
    Filed: April 21, 2017
    Date of Patent: September 1, 2020
    Assignee: Winc Solutions B.V.
    Inventor: Mitchell Danesh Koemar Lachman
  • Patent number: 10761887
    Abstract: Method of allocating tasks in a computing environment including: receiving a software application having tasks for processing; splitting the software application into the tasks; selecting a task for processing in a first computing environment without encryption, a second computing environment with homomorphic encryption or a third computing environment without encryption based on the following algorithm: analyzing the tasks for the presence of a security marker indicating a security level of the tasks; when there is no security marker, selecting the task for processing in the least costly of first computing environment without encryption or the third computing environment without encryption; and when the security marker is present and the processing of the task involves any computation, selecting the task for processing in the least costly of the second computing environment with homomorphic encryption or the third computing environment.
    Type: Grant
    Filed: July 12, 2019
    Date of Patent: September 1, 2020
    Assignee: International Business Machines Corporation
    Inventors: Gopal K. Bhageria, Pooja Malik, Sathya Santhar, Vikram Yadav
  • Patent number: 10761961
    Abstract: A method may include obtaining multiple lines of programming code of a program, and obtaining multiple test cases for testing the program, where each of the test cases includes an assertion upon which a result of a respective test case is based. The method may also include executing the program for each of the test cases, and identifying affected lines of programming code that influence the assertions. The method may additionally include calculating a risk score for at least one of the lines of programming code based on the affected lines of programming code and the assertion, the risk score indicative of a likelihood that the at least one of the lines of programming code includes a fault.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: September 1, 2020
    Assignee: FUJITSU LIMITED
    Inventors: Ripon K. Saha, Mukul R. Prasad, Indradeep Ghosh
  • Patent number: 10754645
    Abstract: Improved techniques for asynchronously displaying the results of a codebase analysis service are provided herein. Initially, machine learning is applied to a corpus of model code. In doing so, a machine learning model is generated, where the model identifies coding practices that are included in the corpus of model code. After this model is generated, then the model is applied to a current codebase by comparing coding practices of the current codebase to the identified coding practices that were extracted, or rather identified, from the corpus of model code. Then, in response to detecting one or more differences between the current codebase's coding practices and the identified coding practices, where the differences satisfy a pre-determined difference threshold, a user interface is caused to display one or more insights. These insights beneficially provide additional detailed information describing the differences.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: August 25, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Deborah Chen, Mark Wilson-Thomas, John S. Tilford, Simon Calvert, Kesavan Shanmugam