Patents by Inventor Sandro Piccinini

Sandro Piccinini has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10268720
    Abstract: A method for upgrading a database schema in real time, wherein the database schema is associated with a plurality of databases is provided. The method may include installing a first plugin on a database upgrade process associated with a database. The method may include installing a second plugin on each database instance within the plurality of databases. The method may include determining a delta associated with a final target version of the database schema. Additionally, the method may include outlining an existence of an incongruence, an existence of an override or an existence of a customization removal based on the determined delta. The method may include performing a peer-to-peer broadcasting analysis between each database. The method may include defining a migration strategy for each database instance within the plurality of databases based on the peer-to-peer broadcasting analysis. The method may further include creating a script for upgrading the database schema.
    Type: Grant
    Filed: March 16, 2018
    Date of Patent: April 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Eliana Cerasaro, Arcangelo Di Balsamo, Franco Mossotto, Sandro Piccinini
  • Publication number: 20190079595
    Abstract: A method for switching interface device input between computing devices can begin with connecting a primary computing device to a secondary computing device using a physical connector cable using the appropriate communications port of each computing device. An interface input control program can be configured to establish a unique interface trigger that defines a user-selected series of inputs that switches the primary computing device between a first input state and a second input state. Input from the interface input devices of the primary computing device can be interpreted by a device driver. In the first input state, the input can be directed to the operating system of the primary computing device. In the second input state, the input can be redirected to the secondary computing device via the physical connector cable, which can be recognized as having originated from local interface input devices.
    Type: Application
    Filed: November 14, 2018
    Publication date: March 14, 2019
    Inventors: Fabio De Angelis, Nicola Milanese, Sandro Piccinini, Sergio Tarchi
  • Patent number: 10133361
    Abstract: A method for switching interface device input between computing devices can begin with connecting a primary computing device to a secondary computing device using a physical connector cable using the appropriate communications port of each computing device. An interface input control program can be configured to establish a unique interface trigger that defines a user-selected series of inputs that switches the primary computing device between a first input state and a second input state. Input from the interface input devices of the primary computing device can be interpreted by a device driver. In the first input state, the input can be directed to the operating system of the primary computing device. In the second input state, the input can be redirected to the secondary computing device via the physical connector cable, which can be recognized as having originated from local interface input devices.
    Type: Grant
    Filed: June 6, 2011
    Date of Patent: November 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fabio De Angelis, Nicola Milanese, Sandro Piccinini, Sergio Tarchi
  • Patent number: 10114722
    Abstract: Testing execution of workloads in a computing system is provided. The testing includes: providing a definition of one or more workloads for each one of a plurality of users of the computing system, mapping each production computing machine of each test workload on a staging computing machine of a staging environment common to the users, mirroring the production computing machine, executing each work unit of each test workload on the corresponding staging computing machine, and determining a test result of an execution of each test workload according to an execution result of one or more executions of the work units of the test workload.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: October 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Arcangelo Di Balsamo, Ziantoni Francesca, Ilaria Gorga, Sandro Piccinini
  • Patent number: 10055205
    Abstract: Assisting a user in developing a software program. A program code of the software program being under development is monitored to identify each code portion of the program code matching a matched one of a plurality of code patterns. A search request is submitted for searching, among a plurality of available services provided by corresponding service providers for the code patterns, each eligible service for the matched code pattern. An indication of at least one eligible service being found is received when a result of the search is positive, prompting the user to select a replacement service among the at least one eligible service in response to the positive result of the search. The code portion is replaced with an invocation of the replacement service on the corresponding service provider.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: August 21, 2018
    Assignee: International Business Machines Corporation
    Inventors: Arcangelo Di Balsamo, Marco Morucci, Sandro Piccinini
  • Patent number: 10042633
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Grant
    Filed: October 11, 2017
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini
  • Patent number: 10042632
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Grant
    Filed: October 11, 2017
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini
  • Publication number: 20180203894
    Abstract: A method for upgrading a database schema in real time, wherein the database schema is associated with a plurality of databases is provided. The method may include installing a first plugin on a database upgrade process associated with a database. The method may include installing a second plugin on each database instance within the plurality of databases. The method may include determining a delta associated with a final target version of the database schema. Additionally, the method may include outlining an existence of an incongruence, an existence of an override or an existence of a customization removal based on the determined delta. The method may include performing a peer-to-peer broadcasting analysis between each database. The method may include defining a migration strategy for each database instance within the plurality of databases based on the peer-to-peer broadcasting analysis. The method may further include creating a script for upgrading the database schema.
    Type: Application
    Filed: March 16, 2018
    Publication date: July 19, 2018
    Inventors: Eliana Cerasaro, Arcangelo Di Balsamo, Franco Mossotto, Sandro Piccinini
  • Patent number: 10025586
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Grant
    Filed: September 7, 2017
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini
  • Publication number: 20180191865
    Abstract: Systems, methods, and computer program products to perform an operation comprising deploying a first application in a first cloud computing environment of a plurality of cloud computing environments, wherein the first application is composed of a first instance of a first service, determining that the first service has become unavailable in the first cloud computing environment, identifying, by an instance of inventory module executing in the first cloud computing environment, a second instance of the first service in one of the plurality of cloud computing environments, building the first application using the second instance of the first service; and redeploying the first application built using the second instance of the first service in the first cloud computing environment.
    Type: Application
    Filed: January 4, 2017
    Publication date: July 5, 2018
    Inventors: Rossella DE GAETANO, Valentina MARTUCCI, Sandro PICCININI
  • Patent number: 10013284
    Abstract: Dynamic pool reallocation performed by the following steps: (i) defining a plurality of resource pools including a first pool and a second pool, where each resource pool has a plurality of assigned resources; (ii) receiving a plurality of jobs to be executed; (iii) for each job of the plurality of jobs, assigning a respective resource pool, of the plurality of resource pools, to be used in completing the job; (iv) determining a preliminary schedule for executing the jobs on their respective resource pools; (v) determining whether the preliminary schedule will cause any jobs to miss service level agreement (SLA) deadlines corresponding to the job; (vi) executing the plurality of jobs on their respectively assigned resource pools; and (vii) re-assigning first resource from the second pool to the first pool during at least some of the time of the execution of the first job by the first resource pool.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Arcangelo Di Balsamo, Sandro Piccinini, Luigi Presti, Luigi Schiuma
  • Patent number: 10013247
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Grant
    Filed: February 2, 2017
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini
  • Patent number: 10009302
    Abstract: A method, executed by a computer, for context-dependent message management, includes receiving proxy recipient information from a target recipient, detecting that a message is being drafted to the target recipient while the target recipient is unavailable, and suggesting a proxy recipient in place of the target recipient. The proxy recipient information may identify multiple proxy recipients organized according to message topic. The proxy recipient information may also describe one or more topics for which a target recipient is available and/or suitable. Proxy recipient information may be determined automatically or may be provided by a user. Furthermore, the proxy recipient information may include availability information. In one embodiment, a user approves of the proxy recipient prior to transmitting the message. In another embodiment, the target recipient is able to preemptively receive the message. A computer system and computer program product corresponding to the above method are also disclosed herein.
    Type: Grant
    Filed: September 3, 2015
    Date of Patent: June 26, 2018
    Assignee: International Business Machines Corporation
    Inventors: Sandro Piccinini, Stefano Sidoti
  • Patent number: 10002024
    Abstract: Dynamic pool reallocation performed by the following steps: (i) defining a plurality of resource pools including a first pool and a second pool, where each resource pool has a plurality of assigned resources; (ii) receiving a plurality of jobs to be executed; (iii) for each job of the plurality of jobs, assigning a respective resource pool, of the plurality of resource pools, to be used in completing the job; (iv) determining a preliminary schedule for executing the jobs on their respective resource pools; (v) determining whether the preliminary schedule will cause any jobs to miss service level agreement (SLA) deadlines corresponding to the job; (vi) executing the plurality of jobs on their respectively assigned resource pools; and (vii) re-assigning first resource from the second pool to the first pool during at least some of the time of the execution of the first job by the first resource pool.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: June 19, 2018
    Assignee: International Business Machines Corporation
    Inventors: Arcangelo Di Balsamo, Sandro Piccinini, Luigi Presti, Luigi Schiuma
  • Patent number: 10001986
    Abstract: A daemon agent for updating software instances in a cloud computing system is disclosed. The daemon agent in a first instance of an application detects a failure in a scenario. The daemon agent broadcasts a first message from the first instance to a plurality of peer instances of the application in the computing system to query whether the plurality of instances has experienced the failure. The daemon agent receives a second message from a second instance of the plurality of instances, where the second message indicates that the second instance has not experienced the failure. The daemon agent determines differences between the first instance and the second instance and selects one or more components of the application based on the determined differences. The daemon agent updates the first instance by installing the selected one or more components on the first instance.
    Type: Grant
    Filed: February 9, 2017
    Date of Patent: June 19, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rossella De Gaetano, Sandro Piccinini
  • Patent number: 9940350
    Abstract: A method for upgrading a database schema in real time, wherein the database schema is associated with a plurality of databases is provided. The method may include installing a first plugin on a database upgrade process associated with a database. The method may include installing a second plugin on each database instance within the plurality of databases. The method may include determining a delta associated with a final target version of the database schema. Additionally, the method may include outlining an existence of an incongruence, an existence of an override or an existence of a customization removal based on the determined delta. The method may include performing a peer-to-peer broadcasting analysis between each database. The method may include defining a migration strategy for each database instance within the plurality of databases based on the peer-to-peer broadcasting analysis. The method may further include creating a script for upgrading the database schema.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Eliana Cerasaro, Arcangelo Di Balsamo, Franco Mossotto, Sandro Piccinini
  • Patent number: 9922076
    Abstract: A method for upgrading a database schema in real time, wherein the database schema is associated with a plurality of databases is provided. The method may include installing a first plugin on a database upgrade process associated with a database. The method may include installing a second plugin on each database instance within the plurality of databases. The method may include determining a delta associated with a final target version of the database schema. Additionally, the method may include outlining an existence of an incongruence, an existence of an override or an existence of a customization removal based on the determined delta. The method may include performing a peer-to-peer broadcasting analysis between each database. The method may include defining a migration strategy for each database instance within the plurality of databases based on the peer-to-peer broadcasting analysis. The method may further include creating a script for upgrading the database schema.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: March 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Eliana Cerasaro, Arcangelo Di Balsamo, Franco Mossotto, Sandro Piccinini
  • Patent number: 9904538
    Abstract: A multi-tenant software program is maintained in a computing environment having a plurality of compatible instances of the program, each adapted to serve a plurality of tenants, with each controlling corresponding individual data. The method includes: receiving a maintenance request for a target instance, the target instance having one or more target tenants each controlling corresponding target individual data; selecting an auxiliary instance from other instances different from the target instance; providing the target individual data of each target tenant to the auxiliary instance; redirecting each target tenant by forwarding each target tenant request to the auxiliary instance; applying a maintenance operation on the target instance according to the maintenance request; returning the target individual data of each target tenant from the auxiliary instance in response to the applying of the maintenance operation; and restoring the serving of each target tenant request by the target instance.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: February 27, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sandro Piccinini, Riccardo Pizzutilo, Luigi Pichetti
  • Publication number: 20180046448
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Application
    Filed: October 11, 2017
    Publication date: February 15, 2018
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini
  • Publication number: 20180039492
    Abstract: Maintaining a plurality of software instances of a software program in a computing environment. An updating request is received for an updating process of the software instances from an old level to a new level. An attempt is made to update each software instance to the new level according to at least one updating policy. Responsive to a failure of the updating of each failed instance of the software instances, an exchanging instance is searched among the other software instances according to at least one searching policy, the exchanging instance being adapted to be exchanged with the failed instance for continuing the updating process according to at least one optimization criterion of the computing environment. The failed instance and the exchanging instance are exchanged in response to a positive result of the searching. The updating process corresponding to the failed instance is resumed.
    Type: Application
    Filed: October 11, 2017
    Publication date: February 8, 2018
    Inventors: Fabio Barillari, Ilaria Gorga, Sandro Piccinini