## 3 Proposed Architecture
### IFS-CMR Parameters
\[(RSV_{i}\cdot PCD)^{2}+D_{0}^{2}-2|RSV_{i}|\cdot PCD\cdot D_{0}\cos(\gamma_{i}+ \beta_{i})=CR^{2} \tag{2}\]  
where \(D_{0}\) denotes the initial distance between the two vehicles, CR is the communication range, \(\gamma_{i}\) is the angle between the direction of _the vehicle_ and \(D_{0}\) imaginary line; whereas \(\beta_{i}\) is calculated with the Equation (3), which is derived from the law of sines. \[\beta_{i}= \begin{cases}\arcsin(\frac{V_{i}\sin\theta_{i}}{|RSV_{i}|}),&\text {for }V_{i}\leq\sqrt{V^{2}+RSV_{i}^{2}}\\ 180^{\circ}-\arcsin(\frac{V_{i}\sin\theta_{i}}{|RSV_{i}|}),&\text{for }V_{i}> \sqrt{V^{2}+RSV_{i}^{2}},\theta\geq 0\\ -180^{\circ}-\arcsin(\frac{V_{i}\sin\theta_{i}}{|RSV_{i}|}),&\text{for }V_{i}> \sqrt{V^{2}+RSV_{i}^{2}},\theta<0\end{cases}  \tag{3}\]  
We posit that when two vehicles are getting farther from each other from different directions, their directions form a positive angle, whereas when the vehicles are getting closer, \(\theta\) is negative. Available Storage (AS): Since vehicles generate and receive enormous amounts of data, their storage might be insufficient despite their large storage resources. If _the vehicle_ needs to use also the storage of the neighbors, that should be large enough to allow _the vehicle_ to run the virtual machine. This storage is used also to store data after completing specific tasks of all the tasks these neighbors are asked to accomplish. Neighbor i Processing Capability (NiPC): Describes the capability of a vehicle to help another _vehicle_ that lacks the appropriate resources to accomplish certain tasks. The values of this parameter range between 0 and 1, with the value 0 implying that the neighbor cannot help at all and 1 that the neighbor is in the best condition to help out _the vehicle_. Average Processing Capability per Neighbor Vehicle (APCpNV): This parameter is the average of the Processing Capability (PC) of all neighboring vehicles within _the vehicle_'s communication range. It is an important parameter that represents the capability of the edge layer, and it is calculated as the sum of the PC of each neighbor vehicle divided by the number of neighboring vehicles. Number of Neighboring Vehicles (NNV): This parameter changes continuously due to the vehicles moving out of _the vehicle_'s communication range and the ones that appear. Vehicles traveling at the opposite direction lead to even more frequent changes. Since the bigger the angle between the directions, the bigger the distance created between the vehicles, we consider only the neighbors whose directions with the direction of _the vehicle_ create angles that are smaller than 90\({}^{\circ}\). Vehicles traveling in directions that create bigger angles move out of the communication range very quickly, making it impossible for _the vehicle_ to use their resources. Time Sensitivity (TS): Different applications have different requirements in terms of latency. For instance, safety applications require a strict latency to be guaranteed, ideally <1 ms, whereas comfort and entertainment applications can tolerate latencies up to some seconds and are considered delay-tolerant [45; 46]. System updates and the data collected for long-term analytics can tolerate even longer latencies, thus for such applications, the latency is not considered a requirement at all. Data Complexity (DC): There are many factors that dictate the data complexity, and the volume is only one of them. Even a single application might use data that differ in type and structure, not to mention that they may come from many disparate sources (e.g., sensors, cameras, radar, lidar). Besides, there are different kinds of applications that include not only VANET applications, as in the Big Data era vehicles can also be used to compute data non-related to VANETs. However, not all the data need considerable processing as some of them are in the form of small messages that are used to inform the vehicles for particular situations.