Fog and Fogonomics : Challenges and Practices of Fog Computing, Communication, Networking, Strategy, and Economics.
Yang, Yang.
Fog and Fogonomics : Challenges and Practices of Fog Computing, Communication, Networking, Strategy, and Economics. - 1st ed. - 1 online resource (419 pages) - Information and Communication Technology Series . - Information and Communication Technology Series .
Cover -- Title Page -- Copyright -- Contents -- List of Contributors -- Preface -- Chapter 1 Fog Computing and Fogonomics -- Chapter 2 Collaborative Mechanism for Hybrid Fog‐Cloud Scenarios -- 2.1 The Collaborative Scenario -- 2.1.1 The F2C Model -- 2.1.1.1 The Layering Architecture -- 2.1.1.2 The Fog Node -- 2.1.1.3 F2C as a Service -- 2.1.2 The F2C Control Architecture -- 2.1.2.1 Hierarchical Architecture -- 2.1.2.2 Main Functional Blocks -- 2.1.2.3 Managing Control Data -- 2.1.2.4 Sharing Resources -- 2.2 Benefits and Applicability -- 2.3 The Challenges -- 2.3.1 Research Challenges -- 2.3.1.1 What a Resource is -- 2.3.1.2 Categorization -- 2.3.1.3 Identification -- 2.3.1.4 Clustering -- 2.3.1.5 Resources Discovery -- 2.3.1.6 Resource Allocation -- 2.3.1.7 Reliability -- 2.3.1.8 QoS -- 2.3.1.9 Security -- 2.3.2 Industry Challenges -- 2.3.2.1 What an F2C Provider Should Be? -- 2.3.2.2 Shall Cloud/Fog Providers Communicate with Each Other -- 2.3.2.3 How Multifog/Cloud Access Is Managed -- 2.3.3 Business Challenges -- 2.4 Ongoing Efforts -- 2.4.1 ECC -- 2.4.2 mF2C -- 2.4.3 MEC -- 2.4.4 OEC -- 2.4.5 OFC -- 2.5 Handling Data in Coordinated Scenarios -- 2.5.1 The New Data -- 2.5.2 The Life Cycle of Data -- 2.5.3 F2C Data Management -- 2.5.3.1 Data Collection -- 2.5.3.2 Data Storage -- 2.5.3.3 Data Processing -- 2.6 The Coming Future -- Acknowledgments -- References -- Chapter 3 Computation Offloading Game for Fog‐Cloud Scenario -- 3.1 Internet of Things -- 3.2 Fog Computing -- 3.2.1 Overview of Fog Computing -- 3.2.2 Computation Offloading -- 3.2.2.1 Evaluation Criteria -- 3.2.2.2 Literature Review -- 3.3 A Computation Task Offloading Game for Hybrid Fog‐Cloud Computing -- 3.3.1 System Model -- 3.3.1.1 Hybrid Fog‐Cloud Computing -- 3.3.1.2 Computation Task Models -- 3.3.1.3 Quality of Experience -- 3.3.2 Computation Offloading Game. 3.3.2.1 Game Formulation -- 3.3.2.2 Algorithm Development -- 3.3.2.3 Price of Anarchy -- 3.3.2.4 Performance Evaluation -- 3.4 Conclusion -- References -- Chapter 4 Pricing Tradeoffs for Data Analytics in Fog-Cloud Scenarios -- 4.1 Introduction: Economics and Fog Computing -- 4.1.1 Fog Application Pricing -- 4.1.2 Incentivizing Fog Resources -- 4.1.3 A Fogonomics Research Agenda -- 4.2 Fog Pricing Today -- 4.2.1 Pricing Network Resources -- 4.2.2 Pricing Computing Resources -- 4.2.3 Pricing and Architecture Trade‐offs -- 4.3 Typical Fog Architectures -- 4.3.1 Fog Applications -- 4.3.2 The Cloud‐to‐Things Continuum -- 4.4 A Case Study: Distributed Data Processing -- 4.4.1 A Temperature Sensor Testbed -- 4.4.2 Latency, Cost, and Risk -- 4.4.3 System Trade‐off: Fog or Cloud -- 4.5 Future Research Directions -- 4.6 Conclusion -- Acknowledgments -- References -- Chapter 5 Quantitative and Qualitative Economic Benefits of Fog -- 5.1 Characteristics of Fog Computing Solutions -- 5.2 Strategic Value -- 5.2.1 Information Excellence -- 5.2.2 Solution Leadership -- 5.2.3 Collective Intimacy -- 5.2.4 Accelerated Innovation -- 5.3 Bandwidth, Latency, and Response Time -- 5.3.1 Network Latency -- 5.3.2 Server Latency -- 5.3.3 Balancing Consolidation and Dispersion to Minimize Total Latency -- 5.3.4 Data Traffic Volume -- 5.3.5 Nodes and Interconnections -- 5.4 Capacity, Utilization, Cost, and Resource Allocation -- 5.4.1 Capacity Requirements -- 5.4.2 Capacity Utilization -- 5.4.3 Unit Cost of Delivered Resources -- 5.4.4 Resource Allocation, Sharing, and Scheduling -- 5.5 Information Value and Service Quality -- 5.5.1 Precision and Accuracy -- 5.5.2 Survivability, Availability, and Reliability -- 5.6 Sovereignty, Privacy, Security, Interoperability, and Management -- 5.6.1 Data Sovereignty -- 5.6.2 Privacy and Security -- 5.6.3 Heterogeneity and Interoperability. 5.6.4 Monitoring, Orchestration, and Management -- 5.7 Trade‐Offs -- 5.8 Conclusion -- References -- Chapter 6 Incentive Schemes for User‐Provided Fog Infrastructure -- 6.1 Introduction -- 6.2 Technology and Economic Issues in UPIs -- 6.2.1 Overview of UPI models for Network Connectivity -- 6.2.2 Technical Challenges of Resource Allocation -- 6.2.3 Incentive Issues -- 6.3 Incentive Mechanisms for Autonomous Mobile UPIs -- 6.4 Incentive Mechanisms for Provider‐assisted Mobile UPIs -- 6.5 Incentive Mechanisms for Large‐Scale Systems -- 6.6 Open Challenges in Mobile UPI Incentive Mechanisms -- 6.6.1 Autonomous Mobile UPIs -- 6.6.1.1 Consensus of the Service Provider -- 6.6.1.2 Dynamic Setting -- 6.6.2 Provider‐assisted Mobile UPIs -- 6.6.2.1 Modeling the Users -- 6.6.2.2 Incomplete Market Information -- 6.7 Conclusions -- References -- Chapter 7 Fog‐Based Service Enablement Architecture -- 7.1 Introduction -- 7.1.1 Objectives and Challenges -- 7.2 Ongoing Effort on FogSEA -- 7.2.1 FogSEA Service Description -- 7.2.2 Semantic Data Dependency Overlay Network -- 7.2.2.1 Creation and Maintenance -- 7.2.2.2 Semantic‐Based Service Matchmarking -- 7.3 Early Results -- 7.3.1 Service Composition -- 7.3.1.1 SeDDON Creation in FogSEA -- 7.3.2 Related Work -- 7.3.2.1 Semantic‐Based Service Overlays -- 7.3.2.2 Goal‐Driven Planning -- 7.3.2.3 Service Discovery -- 7.3.3 Open Issue and Future Work -- References -- Chapter 8 Software‐Defined Fog Orchestration for IoT Services -- 8.1 Introduction -- 8.2 Scenario and Application -- 8.2.1 Concept Definition -- 8.2.2 Fog‐enabled IoT Application -- 8.2.3 Characteristics and Open Challenges -- 8.2.4 Orchestration Requirements -- 8.3 Architecture: A Software‐Defined Perspective -- 8.3.1 Solution Overview -- 8.3.2 Software‐Defined Architecture -- 8.4 Orchestration -- 8.4.1 Resource Filtering and Assignment. 8.4.2 Component Selection and Placement -- 8.4.3 Dynamic Orchestration with Runtime QoS -- 8.4.4 Systematic Data‐Driven Optimization -- 8.4.5 Machine‐Learning for Orchestration -- 8.5 Fog Simulation -- 8.5.1 Overview -- 8.5.2 Simulation for IoT Application in Fog -- 8.5.3 Simulation for Fog Orchestration -- 8.6 Early Experience -- 8.6.1 Simulation‐Based Orchestration -- 8.6.2 Orchestration in Container‐Based Systems -- 8.7 Discussion -- 8.8 Conclusion -- Acknowledgment -- References -- Chapter 9 A Decentralized Adaptation System for QoS Optimization -- 9.1 Introduction -- 9.2 State of the Art -- 9.2.1 QoS‐aware Service Composition -- 9.2.2 SLA (Re‐)negotiation -- 9.2.3 Service Monitoring -- 9.3 Fog Service Delivery Model and AdaptFog -- 9.3.1 AdaptFog Architecture -- 9.3.2 Service Performance Validation -- 9.3.3 Runtime QoS Monitoring -- 9.3.4 Fog‐to‐Fog Service Level Renegotiation -- 9.4 Conclusion and Open Issues -- References -- Chapter 10 Efficient Task Scheduling for Performance Optimization -- 10.1 Introduction -- 10.2 Individual Delay‐minimization Task Scheduling -- 10.2.1 System Model -- 10.2.2 Problem Formulation -- 10.2.3 POMT Algorithm -- 10.3 Energy‐efficient Task Scheduling -- 10.3.1 Fog Computing Network -- 10.3.2 Medium Access Protocol -- 10.3.3 Energy Efficiency -- 10.3.4 Problem Properties -- 10.3.5 Optimal Task Scheduling Strategy -- 10.4 Delay Energy Balanced Task Scheduling -- 10.4.1 Overview of Homogeneous Fog Network Model -- 10.4.2 Problem Formulation and Analytical Framework -- 10.4.3 Delay Energy Balanced Task Offloading -- 10.4.4 Performance Analysis -- 10.5 Open Challenges in Task Scheduling -- 10.5.1 Heterogeneity of Mobile Nodes -- 10.5.2 Mobility of Mobile Nodes -- 10.5.3 Joint Task and Traffic Scheduling -- 10.6 Conclusion -- References -- Chapter 11 Noncooperative and Cooperative Computation Offloading. 11.1 Introduction -- 11.2 Related Works -- 11.3 Noncooperative Computation Offloading -- 11.3.1 System Model -- 11.3.1.1 Communication Model -- 11.3.1.2 Computation Model -- 11.3.2 Decentralized Computation Offloading Game -- 11.3.2.1 Game Formulation -- 11.3.2.2 Game Property -- 11.3.3 Decentralized Computation Offloading Mechanism -- 11.3.3.1 Mechanism Design -- 11.3.3.2 Performance Analysis -- 11.4 Cooperative Computation Offloading -- 11.4.1 HyFog Framework Model -- 11.4.1.1 Resource Model -- 11.4.1.2 Task Execution Model -- 11.4.2 Inadequacy of Bipartite Matching-Based Task Offloading -- 11.4.3 Three‐Layer Graph Matching Based Task Offloading -- 11.5 Discussions -- 11.5.1 Incentive Mechanisms for Collaboration -- 11.5.2 Coping with System Dynamics -- 11.5.3 Hybrid Centralized-Decentralized Implementation -- 11.6 Conclusion -- References -- Chapter 12 A Highly Available Storage System for Elastic Fog -- 12.1 Introduction -- 12.1.1 Fog Versus Cloud Services -- 12.1.2 A Fog Storage Service -- 12.2 Design -- 12.2.1 Design Considerations -- 12.2.2 Architecture -- 12.2.3 File Operations -- 12.3 Fault Tolerant Data Access and Share Placement -- 12.3.1 Data Encoding and Placement Scheme -- 12.3.2 Robust and Exact Share Requests -- 12.3.3 Clustering Storage Nodes -- 12.3.4 Storage Selection -- 12.3.4.1 File Download Times -- 12.3.4.2 Optimizing Share Locations -- 12.4 Implementation -- 12.4.1 Metadata -- 12.4.2 Access Counting -- 12.4.3 NAT Traversal -- 12.5 Evaluation -- 12.6 Discussion and Open Questions -- 12.7 Related Work -- 12.8 Conclusion -- Acknowledgments -- References -- Chapter 13 Development of Wearable Services with Edge Devices -- 13.1 Introduction -- 13.2 Related Works -- 13.2.1 Without Developer's Effort -- 13.2.2 Require Developer's Effort -- 13.3 Problem Description -- 13.4 System Architecture -- 13.4.1 End Device -- 13.4.2 Fog Node. 13.4.3 Controller.
9781119501107
Cloud computing.
Electronic books.
QA76.585 .Y364 2020
Fog and Fogonomics : Challenges and Practices of Fog Computing, Communication, Networking, Strategy, and Economics. - 1st ed. - 1 online resource (419 pages) - Information and Communication Technology Series . - Information and Communication Technology Series .
Cover -- Title Page -- Copyright -- Contents -- List of Contributors -- Preface -- Chapter 1 Fog Computing and Fogonomics -- Chapter 2 Collaborative Mechanism for Hybrid Fog‐Cloud Scenarios -- 2.1 The Collaborative Scenario -- 2.1.1 The F2C Model -- 2.1.1.1 The Layering Architecture -- 2.1.1.2 The Fog Node -- 2.1.1.3 F2C as a Service -- 2.1.2 The F2C Control Architecture -- 2.1.2.1 Hierarchical Architecture -- 2.1.2.2 Main Functional Blocks -- 2.1.2.3 Managing Control Data -- 2.1.2.4 Sharing Resources -- 2.2 Benefits and Applicability -- 2.3 The Challenges -- 2.3.1 Research Challenges -- 2.3.1.1 What a Resource is -- 2.3.1.2 Categorization -- 2.3.1.3 Identification -- 2.3.1.4 Clustering -- 2.3.1.5 Resources Discovery -- 2.3.1.6 Resource Allocation -- 2.3.1.7 Reliability -- 2.3.1.8 QoS -- 2.3.1.9 Security -- 2.3.2 Industry Challenges -- 2.3.2.1 What an F2C Provider Should Be? -- 2.3.2.2 Shall Cloud/Fog Providers Communicate with Each Other -- 2.3.2.3 How Multifog/Cloud Access Is Managed -- 2.3.3 Business Challenges -- 2.4 Ongoing Efforts -- 2.4.1 ECC -- 2.4.2 mF2C -- 2.4.3 MEC -- 2.4.4 OEC -- 2.4.5 OFC -- 2.5 Handling Data in Coordinated Scenarios -- 2.5.1 The New Data -- 2.5.2 The Life Cycle of Data -- 2.5.3 F2C Data Management -- 2.5.3.1 Data Collection -- 2.5.3.2 Data Storage -- 2.5.3.3 Data Processing -- 2.6 The Coming Future -- Acknowledgments -- References -- Chapter 3 Computation Offloading Game for Fog‐Cloud Scenario -- 3.1 Internet of Things -- 3.2 Fog Computing -- 3.2.1 Overview of Fog Computing -- 3.2.2 Computation Offloading -- 3.2.2.1 Evaluation Criteria -- 3.2.2.2 Literature Review -- 3.3 A Computation Task Offloading Game for Hybrid Fog‐Cloud Computing -- 3.3.1 System Model -- 3.3.1.1 Hybrid Fog‐Cloud Computing -- 3.3.1.2 Computation Task Models -- 3.3.1.3 Quality of Experience -- 3.3.2 Computation Offloading Game. 3.3.2.1 Game Formulation -- 3.3.2.2 Algorithm Development -- 3.3.2.3 Price of Anarchy -- 3.3.2.4 Performance Evaluation -- 3.4 Conclusion -- References -- Chapter 4 Pricing Tradeoffs for Data Analytics in Fog-Cloud Scenarios -- 4.1 Introduction: Economics and Fog Computing -- 4.1.1 Fog Application Pricing -- 4.1.2 Incentivizing Fog Resources -- 4.1.3 A Fogonomics Research Agenda -- 4.2 Fog Pricing Today -- 4.2.1 Pricing Network Resources -- 4.2.2 Pricing Computing Resources -- 4.2.3 Pricing and Architecture Trade‐offs -- 4.3 Typical Fog Architectures -- 4.3.1 Fog Applications -- 4.3.2 The Cloud‐to‐Things Continuum -- 4.4 A Case Study: Distributed Data Processing -- 4.4.1 A Temperature Sensor Testbed -- 4.4.2 Latency, Cost, and Risk -- 4.4.3 System Trade‐off: Fog or Cloud -- 4.5 Future Research Directions -- 4.6 Conclusion -- Acknowledgments -- References -- Chapter 5 Quantitative and Qualitative Economic Benefits of Fog -- 5.1 Characteristics of Fog Computing Solutions -- 5.2 Strategic Value -- 5.2.1 Information Excellence -- 5.2.2 Solution Leadership -- 5.2.3 Collective Intimacy -- 5.2.4 Accelerated Innovation -- 5.3 Bandwidth, Latency, and Response Time -- 5.3.1 Network Latency -- 5.3.2 Server Latency -- 5.3.3 Balancing Consolidation and Dispersion to Minimize Total Latency -- 5.3.4 Data Traffic Volume -- 5.3.5 Nodes and Interconnections -- 5.4 Capacity, Utilization, Cost, and Resource Allocation -- 5.4.1 Capacity Requirements -- 5.4.2 Capacity Utilization -- 5.4.3 Unit Cost of Delivered Resources -- 5.4.4 Resource Allocation, Sharing, and Scheduling -- 5.5 Information Value and Service Quality -- 5.5.1 Precision and Accuracy -- 5.5.2 Survivability, Availability, and Reliability -- 5.6 Sovereignty, Privacy, Security, Interoperability, and Management -- 5.6.1 Data Sovereignty -- 5.6.2 Privacy and Security -- 5.6.3 Heterogeneity and Interoperability. 5.6.4 Monitoring, Orchestration, and Management -- 5.7 Trade‐Offs -- 5.8 Conclusion -- References -- Chapter 6 Incentive Schemes for User‐Provided Fog Infrastructure -- 6.1 Introduction -- 6.2 Technology and Economic Issues in UPIs -- 6.2.1 Overview of UPI models for Network Connectivity -- 6.2.2 Technical Challenges of Resource Allocation -- 6.2.3 Incentive Issues -- 6.3 Incentive Mechanisms for Autonomous Mobile UPIs -- 6.4 Incentive Mechanisms for Provider‐assisted Mobile UPIs -- 6.5 Incentive Mechanisms for Large‐Scale Systems -- 6.6 Open Challenges in Mobile UPI Incentive Mechanisms -- 6.6.1 Autonomous Mobile UPIs -- 6.6.1.1 Consensus of the Service Provider -- 6.6.1.2 Dynamic Setting -- 6.6.2 Provider‐assisted Mobile UPIs -- 6.6.2.1 Modeling the Users -- 6.6.2.2 Incomplete Market Information -- 6.7 Conclusions -- References -- Chapter 7 Fog‐Based Service Enablement Architecture -- 7.1 Introduction -- 7.1.1 Objectives and Challenges -- 7.2 Ongoing Effort on FogSEA -- 7.2.1 FogSEA Service Description -- 7.2.2 Semantic Data Dependency Overlay Network -- 7.2.2.1 Creation and Maintenance -- 7.2.2.2 Semantic‐Based Service Matchmarking -- 7.3 Early Results -- 7.3.1 Service Composition -- 7.3.1.1 SeDDON Creation in FogSEA -- 7.3.2 Related Work -- 7.3.2.1 Semantic‐Based Service Overlays -- 7.3.2.2 Goal‐Driven Planning -- 7.3.2.3 Service Discovery -- 7.3.3 Open Issue and Future Work -- References -- Chapter 8 Software‐Defined Fog Orchestration for IoT Services -- 8.1 Introduction -- 8.2 Scenario and Application -- 8.2.1 Concept Definition -- 8.2.2 Fog‐enabled IoT Application -- 8.2.3 Characteristics and Open Challenges -- 8.2.4 Orchestration Requirements -- 8.3 Architecture: A Software‐Defined Perspective -- 8.3.1 Solution Overview -- 8.3.2 Software‐Defined Architecture -- 8.4 Orchestration -- 8.4.1 Resource Filtering and Assignment. 8.4.2 Component Selection and Placement -- 8.4.3 Dynamic Orchestration with Runtime QoS -- 8.4.4 Systematic Data‐Driven Optimization -- 8.4.5 Machine‐Learning for Orchestration -- 8.5 Fog Simulation -- 8.5.1 Overview -- 8.5.2 Simulation for IoT Application in Fog -- 8.5.3 Simulation for Fog Orchestration -- 8.6 Early Experience -- 8.6.1 Simulation‐Based Orchestration -- 8.6.2 Orchestration in Container‐Based Systems -- 8.7 Discussion -- 8.8 Conclusion -- Acknowledgment -- References -- Chapter 9 A Decentralized Adaptation System for QoS Optimization -- 9.1 Introduction -- 9.2 State of the Art -- 9.2.1 QoS‐aware Service Composition -- 9.2.2 SLA (Re‐)negotiation -- 9.2.3 Service Monitoring -- 9.3 Fog Service Delivery Model and AdaptFog -- 9.3.1 AdaptFog Architecture -- 9.3.2 Service Performance Validation -- 9.3.3 Runtime QoS Monitoring -- 9.3.4 Fog‐to‐Fog Service Level Renegotiation -- 9.4 Conclusion and Open Issues -- References -- Chapter 10 Efficient Task Scheduling for Performance Optimization -- 10.1 Introduction -- 10.2 Individual Delay‐minimization Task Scheduling -- 10.2.1 System Model -- 10.2.2 Problem Formulation -- 10.2.3 POMT Algorithm -- 10.3 Energy‐efficient Task Scheduling -- 10.3.1 Fog Computing Network -- 10.3.2 Medium Access Protocol -- 10.3.3 Energy Efficiency -- 10.3.4 Problem Properties -- 10.3.5 Optimal Task Scheduling Strategy -- 10.4 Delay Energy Balanced Task Scheduling -- 10.4.1 Overview of Homogeneous Fog Network Model -- 10.4.2 Problem Formulation and Analytical Framework -- 10.4.3 Delay Energy Balanced Task Offloading -- 10.4.4 Performance Analysis -- 10.5 Open Challenges in Task Scheduling -- 10.5.1 Heterogeneity of Mobile Nodes -- 10.5.2 Mobility of Mobile Nodes -- 10.5.3 Joint Task and Traffic Scheduling -- 10.6 Conclusion -- References -- Chapter 11 Noncooperative and Cooperative Computation Offloading. 11.1 Introduction -- 11.2 Related Works -- 11.3 Noncooperative Computation Offloading -- 11.3.1 System Model -- 11.3.1.1 Communication Model -- 11.3.1.2 Computation Model -- 11.3.2 Decentralized Computation Offloading Game -- 11.3.2.1 Game Formulation -- 11.3.2.2 Game Property -- 11.3.3 Decentralized Computation Offloading Mechanism -- 11.3.3.1 Mechanism Design -- 11.3.3.2 Performance Analysis -- 11.4 Cooperative Computation Offloading -- 11.4.1 HyFog Framework Model -- 11.4.1.1 Resource Model -- 11.4.1.2 Task Execution Model -- 11.4.2 Inadequacy of Bipartite Matching-Based Task Offloading -- 11.4.3 Three‐Layer Graph Matching Based Task Offloading -- 11.5 Discussions -- 11.5.1 Incentive Mechanisms for Collaboration -- 11.5.2 Coping with System Dynamics -- 11.5.3 Hybrid Centralized-Decentralized Implementation -- 11.6 Conclusion -- References -- Chapter 12 A Highly Available Storage System for Elastic Fog -- 12.1 Introduction -- 12.1.1 Fog Versus Cloud Services -- 12.1.2 A Fog Storage Service -- 12.2 Design -- 12.2.1 Design Considerations -- 12.2.2 Architecture -- 12.2.3 File Operations -- 12.3 Fault Tolerant Data Access and Share Placement -- 12.3.1 Data Encoding and Placement Scheme -- 12.3.2 Robust and Exact Share Requests -- 12.3.3 Clustering Storage Nodes -- 12.3.4 Storage Selection -- 12.3.4.1 File Download Times -- 12.3.4.2 Optimizing Share Locations -- 12.4 Implementation -- 12.4.1 Metadata -- 12.4.2 Access Counting -- 12.4.3 NAT Traversal -- 12.5 Evaluation -- 12.6 Discussion and Open Questions -- 12.7 Related Work -- 12.8 Conclusion -- Acknowledgments -- References -- Chapter 13 Development of Wearable Services with Edge Devices -- 13.1 Introduction -- 13.2 Related Works -- 13.2.1 Without Developer's Effort -- 13.2.2 Require Developer's Effort -- 13.3 Problem Description -- 13.4 System Architecture -- 13.4.1 End Device -- 13.4.2 Fog Node. 13.4.3 Controller.
9781119501107
Cloud computing.
Electronic books.
QA76.585 .Y364 2020