Patents Examined by Philip Wang
  • Patent number: 10929279
    Abstract: Techniques for designing tests of a service catalog without having to write and/or edit the underlying scripts are disclosed. A library of tests step templates is populated and provided to a user. The tests step templates in the library may be selected by the user and edited to fill in specific parameters that specify the actions to be taken during execution of the test step. The test step may then be combined with other test steps to form a test. In some embodiments, the library may include test templates made up of frequently used sequences of individual test steps. Once a test has been designed, the test may be run, either manually triggered by a user or according to a schedule. The system may then run through the steps of the test, as specified by the user, by running the underlying scripts. As the test is run, results are generated.
    Type: Grant
    Filed: February 13, 2020
    Date of Patent: February 23, 2021
    Assignee: ServiceNow, Inc.
    Inventors: Bharath Padaki, Shouvik Goswami
  • Patent number: 10929119
    Abstract: A method for amending or adding functionality to an automation device in an automation systems domain is provided. A semantic representation is provided as a basis for representing the functionality to be amended or added. The semantic model for semantically representing the functionality is not only interpretable but also executable. A machine interpretation and execution is carried out by a semantic reasoner and an event processing engine, respectively, which are both part of a runtime environment implemented on the automation device. The need of implementing a code skeleton is eliminated by an engineer. Instead, the semantic model may be directly executed in a device that has an embedded runtime with reasoning capabilities.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: February 23, 2021
    Assignee: Siemens Aktiengesellschaft
    Inventors: Darko Anicic, Aparna Saisree Thuluva
  • Patent number: 10915425
    Abstract: Performance anomalies in production applications can be analyzed to determine the dynamic behavior over time of hosting processes on the same or different computers. Problematic call sites (call sites that are performance bottlenecks or that are causing hangs) can be identified. Instead of relying on static code analysis and development phase load testing to identify a performance bottleneck or application hang, a lightweight sampling strategy collects predicates representing key performance data in production scenarios. Performance predicates provide information about the subject (e.g., what the performance issue is, what caused the performance issue, etc.). The data can be fed into a model based on a decision tree to identify critical threads running the problematic call sites. The results along with the key performance data can be used to build a call graph prefix binary tree for analyzing call stack patterns. Data collection, analysis and visualizations of result can be performed.
    Type: Grant
    Filed: September 9, 2016
    Date of Patent: February 9, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Yawei Wang
  • Patent number: 10915333
    Abstract: Performance of a legacy application may be characterized for subsequent adjustment of operating parameters when running the legacy application on a new system. The legacy application is run on the legacy system and one or more key performance metrics that must be met when the legacy application is run on the new system are determined along with other performance information useful for later adjustment of operating parameters of the new system when running the legacy application on the new system.
    Type: Grant
    Filed: May 9, 2019
    Date of Patent: February 9, 2021
    Inventors: David Simpson, Mark Evan Cerny
  • Patent number: 10915427
    Abstract: An equivalence verification unit (130) judges through equivalence verification, for each of corresponding combinations which are each a combination of a function included in pre-change source code and a function included in post-change source code, whether the functions included in the corresponding combination are equivalent to each other. A partial verification judgment unit (150) judges, for each of inequivalent ones of the corresponding combinations, whether the corresponding combination is a partial verification combination including a function where an inequivalent path, in which an inequivalent function is called, and a non-inequivalent path, in which a non-inequivalent function is called, are both included. A partial verification unit (160) judges, for each of the partial verification combinations, whether the functions included in the partial verification combination are partially equivalent to each other by excluding the inequivalent path and performing the equivalence verification.
    Type: Grant
    Filed: February 22, 2017
    Date of Patent: February 9, 2021
    Inventors: Mikiya Yoshida, Makoto Isoda, Kazuki Yonemochi, Masuo Ito, Madoka Baba, Reiya Noguchi
  • Patent number: 10901387
    Abstract: A control system for an industrial automation facility and a method for programming and operating the control system use a program for the control system which is developed with a development tool. Data from a web server built into the control system is transmitted to a computer which is connected to the control system via a network. The data includes a web-based development environment. A representation of the development environment in a web browser is embodied on the computer. A program for the control system is developed or processed by a user. The program developed and/or processed by the user is converted into a high-level language program by a conversion module embodied in the web browser. The high-level language program is transmitted to the control system and converted into a binary program inside the control system. The binary program is implemented by the control system.
    Type: Grant
    Filed: November 21, 2017
    Date of Patent: January 26, 2021
    Inventors: Michael Kroner, Immo Birnbaum, Sebastian Brinkmann, Michael Brockmeyer, Felix Harring, Stefan Herbrechtsmeier, Christian Peters
  • 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: 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: 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: 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