# Advanced Resource Connector

Advanced Resource Connector (ARC) is a grid computing middleware introduced by NorduGrid. It provides a common interface for submission of computational tasks to different distributed computing systems and thus can enable grid infrastructures of varying size and complexity. The set of services and utilities providing the interface is known as ARC Computing Element (ARC-CE). ARC-CE functionality includes data staging and caching, developed in order to support data-intensive distributed computing. ARC is an open source software distributed under the Apache License 2.0.

## History

ARC appeared (and is still often referred to) as the NorduGrid middleware, originally proposed as an architecture on top of the Globus Toolkit optimized for the needs of High-Energy Physics computing for the Large Hadron Collider experiments. First deployment of ARC at the NorduGrid testbed took place in summer 2002, and by 2003 it was used to support complex computations.
The first stable release of ARC (version 0.4) came out in April 2004 under the GNU General Public License. The name "Advanced Resource Connector" was introduced for this release to distinguish the middleware from the infrastructure. In the same year, the Swedish national Grid project Swegrid became the first large cross-discipline infrastructure to be based on ARC.
In 2005, NorduGrid was formally established as a collaboration to support and coordinate ARC development. In 2006 two closely related projects were launched: the Nordic Data Grid Facility, deploying a pan-Nordic e-Science infrastructure based on ARC, and KnowARC, focused on transforming ARC into a next generation Grid middleware.
ARC v0.6 was released in May 2007, becoming the second stable release. Its key feature was introduction of the client library enabling easy development of higher-level applications. It was also the first ARC release making use of open standards, as it included support for JSDL. Later that year, the first technology preview of the next generation ARC middleware was made available, though was not distributed with ARC itself. The new approach involved switching to a Web service based architecture, and in general a very substantial re-factorisation of the core code.
In 2008, the NorduGrid consortium adopted the Apache License for all ARC components.
The last stable release in the 0-line was ARC v0.8, shipped in September 2009. It eventually included a preview version of the new execution service - the A-REX - and several other components, such as Chelonia, ISIS, Charon and the arcjobtool GUI.
In parallel to ARC v0.8, the EU KnowARC project released in November 2009 the conceptual ARC NOX suite, which was a complete Grid solution, fully based on Web service technologies. The name NOX actually indicates the release date: November of the Year of the Ox.
In May 2011, NorduGrid released ARC v11.05 (adopting Ubuntu versioning scheme this time). This release marked the complete transition from the old execution service to A-REX and accompanying services. For backwards compatibility with the existing infrastructures, old interfaces for the execution service and the information system were retained.
ARC 6 was released in May 2019 and while having same interfaces it features a completely redesigned configuration and a new management tool.

## Source code

ARC is free software available from the NorduGrid public repository, both as binary packages for a variety of Linux systems and source, as well as on GitHub. The open source development of the ARC middleware is coordinated by the NorduGrid collaboration. Contributions to the software, documentation and dissemination activities are coming from the community and from various projects, such as the EU KnowARC and EMI projects, NDGF, NeIC and various national infrastructure and research projects.

## Versioning

Between 2011 and 2018 ARC used an Ubuntu-like versioning schema for bundled releases consisting of individual components. Individual components have own versioning, corresponding to code tags. Version of the core ARC packages is often used instead of the formal release number in everyday communication. Starting with ARC6 (2019) version number of the release coincides with that of the tag.

## Standards and interoperability

ARC implements several Open Grid Forum standards, in particular, JSDL, Glue2, BES, UR/RUS and StAR.

## ARC in various projects and initiatives
### European Middleware Initiative

In 2010-2013, several key ARC components - most notably, HED, A-REX, clients and libraries - were included in the European Middleware Initiative (EMI) software stack. Through EMI, ARC became a part of the Unified Middleware Distribution (UMD) of the European Grid Infrastructure (EGI).

### Nordic DataGrid Facility and NeIC

ARC is the basis of the computing infrastructure of the Nordic Data Grid Facility (NDGF), which constitutes a Tier1 center of WLCG. In 2006-2010 NDGF actively contributed to ARC development, and since 2010 provides ARC deployment expertise within EGI. Since 2012, NDGF became a part of the Nordic e-Infrastructure Collaboration as a Nordic Tier-1 (NT1) project.

### KnowARC project

Grid-enabled Know-how Sharing Technology Based on ARC Services and Open Standards (KnowARC) was a Sixth Framework Programme Specific Targeted Research Project, funded under Priority IST-2005-2.5.4 "Advanced Grid Technologies, Systems and Services" from June 2006 to November 2009. In many ways it was the project that shaped ARC. The main goal was to make ARC based on open community standards, and among the key results was creation of the standardized Hosting Environment for ARC services (HED).
Apart from its main aim of further developing ARC, it contributed to the development of standards, and increased Grid and ARC usage in medicine and bioinformatics.
In July 2009, KnowARC announced it contributed to the integration of Grid technologies into official Linux repositories by adding Globus Toolkit components into Fedora and Debian repositories.