inproceedings by Massimo Canonico
ShareGrid is a peer-to-peer desktop grid aimed at satisfying the computing needs of the small res... more ShareGrid is a peer-to-peer desktop grid aimed at satisfying the computing needs of the small research laboratories located in the Piedmont area in Northern Italy. ShareGrid adopts a cooperative approach, in which each participant allows the other ones to use his/her own resources on a reciprocity basis. ShareGrid is based on the OurGrid middleware, that provides a set of mechanisms enabling participating entities to quickly, fairly, and securely share their resources. In this paper we report our experience in designing, deploying, and using ShareGrid, and we describe the applications using it, as well as the lessons we learned, the problems that still remain open, and some possible solutions to them.
articles by Massimo Canonico

Abstract We present the forensic analysis of the artifacts generated on Android smartphones by Ch... more Abstract We present the forensic analysis of the artifacts generated on Android smartphones by ChatSecure, a secure Instant Messaging application that provides strong encryption for transmitted and locally-stored data to ensure the privacy of its users. We show that ChatSecure stores local copies of both exchanged messages and files into two distinct, AES-256 encrypted databases, and we devise a technique able to decrypt them when the secret passphrase, chosen by the user as the initial step of the encryption process, is known. Furthermore, we show how this passphrase can be identified and extracted from the volatile memory of the device, where it persists for the entire execution of ChatSecure after having been entered by the user, thus allowing one to carry out decryption even if the passphrase is not revealed by the user. Finally, we discuss how to analyze and correlate the data stored in the databases used by ChatSecure to identify the \{IM\} accounts used by the user and his/her buddies to communicate, as well as to reconstruct the chronology and contents of the messages and files that have been exchanged among them. For our study we devise and use an experimental methodology, based on the use of emulated devices, that provides a very high degree of reproducibility of the results, and we validate the results it yields against those obtained from real smartphones.
Papers by Massimo Canonico
In this paper we propose a fault-tolerant scheduler for Bagof-Tasks Grid applications, called Wor... more In this paper we propose a fault-tolerant scheduler for Bagof-Tasks Grid applications, called WorkQueue with Replication Fault Tolerant (WQR-FT), obtained by adding checkpointing and replication to the WorkQueue with Replication (WQR) scheduling algorithm. By using discrete-event simulation, we show that WQR-FT not only ensures the successful completion of all the tasks in a bag, but also achieves performance better than WQR and other fault-tolerant schedulers obtained by coupling WQR with replication only, or with checkpointing only.

Since its introduction, the Grid computing paradigm has been widely adopted both in scientific an... more Since its introduction, the Grid computing paradigm has been widely adopted both in scientific and also in industrial areas. The main advantage of the Grid computing paradigm is the ability to enable, in a transparent way, the sharing and the coordination of several heterogeneous and large-scale distributed resources belonging to different institutional domains. One of its limitation is the lack of facilities for executing services. In fact, Grid computing has been traditionally used and improved for running computational-intensive or data-intensive applications. A service differs from this kind of applications in that it usually waits for requests from clients and replies with useful information; moreover, a service is typically subjected to some predefined constraints, called Service Level Agreement (SLA), including both temporal and performance restrictions. In this paper we present the TAAROA middleware, a software system that tries to extend the traditional target of the Grid c...

Grid computing is a distributed computing paradigm which aims to aggregate several heterogeneous ... more Grid computing is a distributed computing paradigm which aims to aggregate several heterogeneous and distributed resources, belonging to different and independent organizations, in a dynamic, transparent and coordinated way. Since its introduction, Grid computing has been successfully applied to solve several scientific challenging applications. Despite of the consolidation of many of its aspects, there are some issues that are still open. One of them is the transparency: in many real Grid systems, users still need to be aware of Grid computing, either for adapting their applications to this paradigm or for wrapping them in a suitable software framework. In this paper we present the ShareGrid Portal, a Web portal and a portal framework, built on top of the ShareGrid project infrastructure. Its intent is both to ease the execution of user applications in a Grid system and to allow developers to flexibly add new portal functionalities. In this work, we compare it with other well-known...

2019 Fourth International Conference on Fog and Mobile Edge Computing (FMEC), 2019
In Fog Computing, FemtoClouds are emerging computing systems consisting of a set of heterogeneous... more In Fog Computing, FemtoClouds are emerging computing systems consisting of a set of heterogeneous mobile devices whose users allow to run tasks offloaded by other users. FemtoClouds are well suited to run Bag-of-Tasks (BoTs) applications, but they need effective scheduling algorithms that are able to deal with collections of independently-owned, heterogeneous devices that can suddenly leave the system. In this paper, we present UDFS, an online scheduling algorithm that, by combining knowledge-free task and device selection policies with suitable heterogeneity and volatility tolerance mechanisms, can effectively schedule a stream of BoT applications on FemtoClouds. We evaluate the ability of UDFS to achieve its design goals and to perform better than existing scheduling alternatives, by carrying out a thorough simulation study for a large set of realistic scenarios. Our results indeed show that UDFS can effectively schedule a stream of BoT applications on FemtoClouds, and it can do so more effectively than existing scheduling alternatives.

the date of receipt and acceptance should be inserted later Abstract Peer-to-Peer (P2P) Desktop G... more the date of receipt and acceptance should be inserted later Abstract Peer-to-Peer (P2P) Desktop Grids are comput-ing infrastructures that aggregate a set of desktop-class ma-chines in which all the participating entities have the same roles, responsibilities, and rights. In this paper, we present ShareGrid, a P2P Desktop Grid infrastructure based on the OurGrid middleware, that federates the resources provided by a set of small research laboratories to easily share and use their computing resources. We discuss the techniques and tools we employed to ensure scalability, efficiency, and usability, and describe the various applications used on it. We also demonstrate the ability of ShareGrid of providing good performance and scalability by reporting the results of experimental evaluations carried out by running various applications with different resource requirements. Our ex-perience with ShareGrid indicates that P2P Desktop Grids can represent an effective answer to the computing nee...
ACM SIGCOMM Computer Communication Review, 2021
In an educational context, experimenting with a real cloud computing platform is very important t... more In an educational context, experimenting with a real cloud computing platform is very important to let students understand the core concepts, methodologies and technologies of cloud computing. However, API heterogeneity of cloud providers complicates the experimentation by forcing students to focus on the use of different APIs, and by hindering the jointly use of different platforms. In this paper, we present EasyCloud, a toolkit enabling the easy and effective use of different cloud platforms. In particular, we describe its features, architecture, scalability, and use in our cloud computing courses, as well as the pedagogical insights we learnt over the years.
2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2020
Teaching Cloud Computing is becoming crucial since this recent computing paradigm is used in many... more Teaching Cloud Computing is becoming crucial since this recent computing paradigm is used in many fields and it is changing the way we use the applications and the technology. As a matter of the fact, most of the applications that we use everyday through the web are based on cloud services. Unfortunately, the difficulty to set up a real testbed for students and, at the same time, the lack of an easy, open and collaborative educational material freely available make teaching Cloud Computing a hard task. In this paper we discuss the state of the art concerning teaching Cloud Computing and we propose education materials and tools that make Cloud Computing easy to use even for students/educators without any computer science skills.

2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC), 2021
Interoperability between different cloud platforms is a critical requirement for letting users to... more Interoperability between different cloud platforms is a critical requirement for letting users to smoothly switch between different cloud providers and combine their services. However, the lack of standard interfaces to access these cloud platforms may result in the vendor lock-in situation, whereby users are locked into a specific cloud provider. In this paper, we present EasyCloud, a toolkit able to effectively support the creation and usage of Multi-cloud Systems (MSs) by providing interoperability, platform independence, effective resource provisioning, and ease of use. We describe its architecture and implementation, and experimentally assess the performance of EasyCloud, and compare it to existing alternative MS toolkits that are representative of the state-of-the-art. Our results clearly show that EasyCloud is highly scalable, quite efficient, and outperforms the other alternative toolkits.
The 16th International Conference on Availability, Reliability and Security, 2021
We propose a framework for structuring the description and results of the forensic analysis of ac... more We propose a framework for structuring the description and results of the forensic analysis of actions of investigative interest in digital applications, and for automated reasoning on such actions. A high level of abstraction is suitable for forensic stakeholders that are not ICT experts; other levels are suitable for automating experiments on the devices to establish traces left by actions, and for associating the results of the experiments. Such results are used in a computational logic framework to conclude evidence on the occurrence of actions. The evidence can be presented to stakeholders or used in further automated reasoning, and traced back to data on the device. CCS Concepts: • Computing methodologies → Knowledge representation and reasoning; • Security and privacy;

Proceedings of the 1st International Workshop on Edge Systems, Analytics and Networking, 2018
Edge Computing (EC) represents the most promising solution to the real-time or near-real-time pro... more Edge Computing (EC) represents the most promising solution to the real-time or near-real-time processing needs of the data generated by Internet of Things devices. The emergence of Edge Infrastructure Providers (EIPs) will bring the EC benefits to those enterprises that cannot afford to purchase, deploy, and manage their own edge infrastructures. The main goal of EIPs will be that of maximizing their profit, i.e. the difference of the revenues they make to host applications, and the cost they incur to run the infrastructure plus the penalty they have to pay when QoS requirements of hosted applications are not met. To maximize profit, an EIP must strike a balance between the above two factors. In this paper we present the Online Profit Maximization (OPM) algorithm, an approximation algorithm that aims at increasing the profit of an EIP without a priori knowledge. We assess the performance of OPM by simulating its behavior for a variety of realistic scenarios, in which data are generated by a population of moving users, and by comparing the results it yields against those attained by an oracle (i.e., an unrealistic algorithm able to always make optimal decisions) and by a state-of-the-art alternative. Our results indicate that OPM is able to achieve results that are always within 1% of the optimal ones, and that always outperforms the alternative solution. CCS CONCEPTS • Networks → Cloud computing; • Computer systems organization → Cloud computing;

Concurrency and Computation: Practice and Experience, 2019
We consider fog computing scenarios where data generated by a set of IoT applications need to be ... more We consider fog computing scenarios where data generated by a set of IoT applications need to be processed locally by a set of fog nodes, belonging to distinct Fog Infrastructure Providers (FIPs) sharing the same co-location facility, with the aim of increasing their profits. This is a challenging goal as it requires reducing costs and meeting QoS targets despite time-varying workloads. We argue that these FIPs may find it profitable to cooperate, by mutually sharing their workload and resources, and we show (by using a game-theoretical framework) that this is indeed the case when stable coalitions can be formed. Based on these results, in this paper we present (1) a mathematical model for maximizing the profit obtained for allocating IoT applications to a group of FIPs, and (2) a coalition formation algorithm that allows each FIP to decide with whom to cooperate so as to increment its profits. The efficacy of the devised algorithm is assessed by means of an experimental evaluation taking into account different workload intensities. The results from these experiments show the capability of the proposed algorithm to form coalitions of FIPs that are profitable and stable in all the scenarios we take into consideration.

Global Jurist, 2020
The paper focuses on how computational models and methods impact on current legal systems, and in... more The paper focuses on how computational models and methods impact on current legal systems, and in particular, on criminal justice. While the discussion about the suitabilty of the exploitation of learning machines and Artificial Intelligence (AI) either as surveillance means and human substitutes in the judicial decision-making process is arising, the authors reflect upon the risk of using AI and algorithm-based evidence in criminal proceedings. The claim of the paper is twofold: on the one hand, we should reinterpret todays legal frameworks, e. g. the European Convention of Human Rights, shifting the attention from possible violations of the right to privacy to potential infringements on a basic fair trial feature, the Equality of Arms. On the other hand, we should aknowledge that main legal issues, triggered by the breathtaking advancements in AI, can properly be addressed mainly through technical solutions (e. g. methods for assessing the completeness and correctness of digital e...

Computers & Security, 2019
Most of our daily activities are carried out by means of mobile applications, that typically gene... more Most of our daily activities are carried out by means of mobile applications, that typically generate and store on the device large sets of data. The forensic analysis of these data thus plays a crucial role during an investigation, as it allows to reconstruct the above activities. Manually analyzing these applications is a long, tedious, and error-prone task. In this paper we present the design, implementation, and evaluation of AnForA, a software tool that automates most of the activities that need to be carried out to forensically analyze Android applications, and that has been designed in such a way to yield various important properties, namely fidelity, artifact coverage, precision, effectiveness, repeatability, and generality. AnForA is based on a dynamic "black box" approach, in which the application to be analyzed is first installed on a virtualized Android device, and then a set of experiments are carried out, in which actions of interest are automatically performed on the application by emulating a human user that interacts with its interface. During the experiments, the file systems of the device storage are actively monitored, so that the data created or modified by each one of these actions can be located and correlated with that action. We have devised a proof-of-concept implementation of AnForA, that we use to assess its ability in achieving its design goals, by analyzing through it several Android applications already studied in the literature, so that we can compare AnForA's results against those reported in these papers. The results of our evaluation confirm that AnForA greatly simplifies the forensic analysis of Android applications, and exhibits all the properties mentioned above, namely fidelity, artifact coverage, precision, effectiveness, repeatability, and generality, to a higher extent than previous studies published in the literature.

Concurrency and Computation: Practice and Experience, 2017
A typical problem that arises when devising a novel resource management strategy for virtualized ... more A typical problem that arises when devising a novel resource management strategy for virtualized infrastructures is how to experimentally assess its ability of achieving its design goals and whether it advances the state-of-the-art. Among the available options, the use of a physical testbed is usually considered to be the most appropriate because of its high degree of accuracy. Unfortunately, however, physical testbeds are characterized by a limited controllability of the experimental conditions. Moreover, their implementation is usually a complex and time-consuming task, that requires the integration of many software components that need to interact among them in non-trivial ways. In this paper, we address the above issues by proposing Prometheus, a toolkit specifically designed to support the configuration, deployment, and use of physical testbeds suitable to perform experimental studies of resource management strategies, and that provides a high degree of controllability and low implementation costs. We discuss the design, implementation and use of Prometheus, and we show how it can be used in practice to configure and deploy a physical testbed by providing various examples of experimental activities that can be carried out by means of it.

Digital Investigation, 2017
In this paper we present a methodology for the forensic analysis of the artifacts generated on An... more In this paper we present a methodology for the forensic analysis of the artifacts generated on Android smartphones by Telegram Messenger, the official client for the Telegram instant messaging platform, which provides various forms of secure individual and group communication, by means of which both textual and non-textual messages can be exchanged among users, as well as voice calls. Our methodology is based on the design of a set of experiments suitable to elicit the generation of artifacts and their retention on the device storage, and on the use of virtualized smartphones to ensure the generality of the results and the full repeatability of the experiments, so that our findings can be reproduced and validated by a third-party. In this paper we show that, by using the proposed methodology, we are able (a) to identify all the artifacts generated by Telegram Messenger, (b) to decode and interpret each one of them, and (c) to correlate them in order to infer various types of information that cannot be obtained by considering each one of them in isolation. As a result, in this paper we show how to reconstruct the list of contacts, the chronology and contents of the messages that have been exchanged by users, as well as the contents of files that have been sent or received. Furthermore, we show how to determine significant properties of the various chats,

Concurrency and Computation: Practice and Experience, 2016
Cloud Providers (CPs) rely on server consolidation (the allocation of several Virtual Machines (V... more Cloud Providers (CPs) rely on server consolidation (the allocation of several Virtual Machines (VMs) on the same physical server) to minimize their costs. Maximizing the consolidation level is thus become one of the major goals of CPs. This is a challenging task since it requires the ability of estimating, in a resource contention scenario, multidimensional resource demands for multi-tier cloud applications that must meet Service Level Agreements (SLAs) in face of non-stationary workloads. In this paper, we cope with the problem of jointly allocating CPU and memory capacity to (a) precisely estimate their capacity required by each VM to meet its SLAs, and (b) coordinate their allocation to limit the negative effects due to the interactions of dynamic allocation mechanisms, which, if ignored, can lead to SLA violations. We tackle this problem by devising FCMS, a feedback fuzzy controller that is able to dynamically adjust the CPU and memory capacity allocated to each VM in a coordinated way, to precisely match the needs induced by the incoming workload. By means of an extensive experimental evaluation, we show that FCMS is able to achieve the above goals and works better than existing state-of-the-art alternative solution in all the considered experimental scenarios. Copyright c ⃝ 0000 John Wiley & Sons, Ltd.
Digital Investigation, 2016
We present the forensic analysis of the artifacts generated on Android smartphones by ChatSecure,... more We present the forensic analysis of the artifacts generated on Android smartphones by ChatSecure, a secure Instant Messaging application that provides strong encryption for transmitted and locally-stored data to ensure the privacy of its users. We show that ChatSecure stores local copies of both exchanged messages and files into two distinct, AES-256 encrypted databases, and we devise a technique able to decrypt them when the secret passphrase, chosen by the user as the initial step of the encryption process, is known. Furthermore, we show how this passphrase can be identified and extracted from the volatile memory of the device, where it persists for the entire execution of ChatSecure after having been entered by the user, thus allowing one
IEEE International Symposium on Cluster Computing and the Grid, 2004. CCGrid 2004.
In this paper we present the File Mover, a data transfer system designed to optimize the transfer... more In this paper we present the File Mover, a data transfer system designed to optimize the transfer of potentially very large files. The File Mover relies on an overlay network architecture, where a set of machines cooperate in the transfer by forwarding among them portions of the files being transferred. Data transfer times are minimized by choosing, for each transfer, the set of relays that maximize the expected throughput. Preliminary experiments show that the File Mover is able to profitably exploit existing network paths not chosen by IP routing algorithms, thereby enhancing file transfer performance.
Uploads
inproceedings by Massimo Canonico
articles by Massimo Canonico
Papers by Massimo Canonico