In this research paper, co-authored by Ankit and Kartik Mahajan from Chandigarh University, Punjab, India, we explore the realm of distributed computing with a specific focus on Fog Computing. With the proliferation of the Internet of Things (IoT), we systematically review the architecture, IoT integration, algorithms, and research challenges associated with Fog Computing. Our work underscores the symbiotic relationship between Fog Computing and Cloud Computing (CC), positioning Fog as a critical intermediary layer that addresses challenges such as security, latency, and performance issues faced by integrated CC. We delve into the historical evolution of distributed systems, tracing the trajectory from the 1970s to the present. The paper introduces a classification system for distributed computing, setting the stage for a detailed exploration of Fog Computing and its significance in the contemporary landscape. As industries increasingly turn to big data analytics, our research highlights the limitations of traditional cloud-based infrastructure in handling the massive data generated by IoT devices. Fog Computing emerges as a solution, leveraging the processing power of devices near the client to reduce latency and network traffic. We introduce the concept of Fog as a Service (FaaS), wherein multiple fog nodes are strategically deployed to manage resources across different geographical locations. The core of our research delves into Fog Computing, providing an overview, detailing its architecture, and shedding light on its deployment environment and associated challenges. We present a layered architecture based on various reference frameworks proposed by researchers, offering a comprehensive understanding of Fog Computing. In essence, our research contributes to the understanding of Fog Computing, offering insights into its integration with IoT, architecture, and the challenges it presents. This paper serves as a valuable resource for researchers, practitioners, and industry professionals navigating the dynamic landscape of distributed computing paradigms.