1 Introduction

Smart cities provide various services and applications via the Internet of Things. These services include public, educational, medical, and industrial services. One of the most widely used services in the Internet of Things (IoT) in smart cities is Intelligent Transportation Systems (ITS), which facilitate services to people by connecting vehicles to the Internet. Different connections are defined within IoV: vehicle-to-vehicle, vehicle-to-road, vehicle-to-person, and vehicle-to-sensor. IoT resource management has become a challenge in recent years [1, 41]: the nodes are limited due to operational and processing power.

An IoV architecture is provided in [3], based on the types of nodes considered for the IoV environment. They are used in several scheduling processes in IoV resource management. Nodes are connected in different layers for computation and gathering data for services. They categorized the buildings into several groups according to the number of architectural layers each one had. When making a service request, it is crucial to determine and manage the circumstances under which resources will be chosen. The second stage is to allocate resources according to the current environment and service plan. In the next step, the required service operations will be performed based on the services and tasks. In this step, one or more objective functions may be defined for different purposes. If data are exchanged for services, the network should be controlled and load-balanced in the communication paths to transmit the message successfully.

On the other hand, various non-functional requirements are essential based on service usage, including security, safety, availability, and reliability. Despite the significance of resource management techniques in IoV, no survey or research has been conducted on resource management challenges in the IoV context. Since the nodes are regularly capacity-constrained in the computation capacity capabilities [41], productive asset assignment influences the node's lifetime due to vitality utilization issues. We focus on a few of the basic asset administration issues. The energy and capacity of IoV resources are limited, and many services must respond in real-time. Resource allocation is essential to achieving these objectives, considering efficient resource use and quick service response. Recent years have seen the publication of several publications looking into different facets of resource management. Some papers identified the critical parameters in this field. Some authors focus on specific layers or types of resources, while others offer a variety of comprehensive solutions for resource management at various levels and layers.

Resource management is one of the challenges in the IoV. This limitation should be considered at all architectural levels. At the level of nodes, due to limited capacity for processing and limited memory, at the level of communication, due to the limitation of resources for message transmission as well as the heterogeneity of the network and different communication protocols and standards, and at the level of services and applications due to the need to respond real-time and the need for data collection from lower layers, this issue becomes critical. It should be addressed comprehensively and from all dimensions[63]. This issue is one of the motivations for presenting this paper based on different types of resources in the IoV architecture and various resource management solutions.

The authors of the present review papers examine resource management in similar environments, specific system layers, or specific types of resources. To our knowledge, no paper has investigated IoV-related solutions at various layers and levels. This paper systematically reviews IoV resource management methods, presents a taxonomy for the methods used, and categorizes and compares studies. The parameters that cover the resource management and the proposed solutions are analyzed. Finally, the evaluation criteria are classified, and challenges are presented to be addressed in future work. The contribution of this paper is:

  • The analysis of significant viewpoints of resource management approaches in IoV

  • Designing a taxonomy for resource management in IoV

  • Resource management approaches classification based on the proposed taxonomy

  • Presenting a survey of effective methods, open issues, and challenges for resource management in IoV

This paper is prepared as follows: Section 2 reviews related work about resource management issues. In Section 3, we describe the research methodology. In Section 4, we review IoV architecture and resource types, and we discuss about the resource management techniques and we analyze the results, and Section 5 shows research questions, open issues, and challenges. Finally, the conclusion is presented in Section 6.

2 Literature review

One of the important features of the IoV is resource management. This challenge is raised due to the limitation of resource capacity in processing. In order to review resource management methods, it is necessary to review related concepts in the IoV. Different components based on architectural layers will be discussed further.

2.1 IoV architecture

In order to classify system communications and resources based on various levels and components and study their management techniques, we will first go through the architectural elements of IoV. The components of the IoV environment can be defined as follows [47]:

Devices

In the systems implemented in the IoT, all sensors, objects, or anything physical connection to the network can be used to collect and process information and exchange data with other objects. These tools are defined in the lowest layer of the architecture. [47] In IoV, all vehicles and sensors are connected via the network and are responsible for collecting data or warning the driver.

Network level communication

According to various protocols and standards, communication between physical components is classified in this category of components. Different communication protocols are utilized at various tiers in IoV, and communications are specified at the VANET level

Services

The applications and services are located at higher levels of IoT architecture. This layer provides specific services based on domains and requirements, such as security management and privacy. In our environment, we can refer to the services provided in traffic management and services provided for road safety.

Applications

They provide services in smart cities. In these frameworks, a unit is considered for communication with users. [57] In IoV, we can refer to applications such as routing or crash warning for the driver on the road, which is provided for widespread use in mobile applications.

If we want to consider a general layered architecture according to the defined components, the architectural layers are defined as follows.: the lowest layer is the physical layer. There are linked tools and equipment. The middle layer is the network and communication layer. This layer comprises network protocols and standards, and real-time operations may be moved to it. The application and service layers comprise the uppermost layer. It is defined as a cloud or fog layer to cover different requirements. Because of the different resources in all these layers, we consider resource management as a vertical layer covering all defined layers. In Fig. 1, we illustrate different layers of resource management. The types of resources will be described and categorized in another section of this paper.

Fig. 1
figure 1

Resource management in IoV architecture

2.2 Resource management requirements in IoV

According to the concepts mentioned in the field of the components related to the IoV in the last part, in this part, we will briefly review the reasons for the importance of resource management in the Internet of vehicles to determine the primary motivation in compiling this article.

The task of resource management has different aspects that include the provision, planning, and allocating of resources at the level of services and applications. This issue is significant in general architectures related to the IoV for various reasons

At the lowest level, when collecting information, the issue of energy supply for tools and sensors should be considered. On the other hand, during data transfer, discussing traffic consumption, providing security and privacy, controlling network load and communication paths, and guaranteeing quality and reliability become very important.

Considerations should also be made for the network and related protocols, as the problem of system heterogeneity is one of the challenges in this field. Different scheduling methods are proposed for applications and services according to priority, type of service, and quality parameters. One of the important requirements is real-time responsiveness in some services, like safety management in delivering services. Resource management solutions that efficiently process data and services need to cover these requirements [63]. In the following, an overview of the methods used in different aspects of resource management and analysis will be done, and analytical results will be presented to investigate open cases and challenges in the system.

2.3 Related work

In this section, we review some resources and surveys for resource management in similar environments. According to our research, the review papers presented so far are either applied to a particular layer of the IoT in vehicles or have specific communication protocols or solutions.

Some papers were presented on resource management in the cloud, fog, and edge environments which can be generalized to the IoV layers. In [14], the authors concentrate on resource management in fog computing; they categorize resource management strategies based on the various resource categories and processes. They tackled resource identification and allocation challenges for various jobs. This paper is based on architecture and is used to manage resources in the fog layer. Paper [43] worked on fog computing systems in an IoT environment. It proposes a classification for resource management schemes based on the static and dynamic application requirements.

Some papers [5, 10, 14] were presented on resource management in the cloud, fog, and edge environments which can be generalized to the IoV layers. The authors concentrate on resource management in fog computing in [14], where they categorize approaches to resource management according to the kinds of resources used and the tasks performed on them. Problems with resource finding and assignment to tasks were solved. This paper is based on architecture and is used to manage resources in the fog layer. Paper [5] considers the resource management on fog and edge nodes. It provides a taxonomy based on architecture, infrastructure, and algorithms for resource management in these environments. Authors review resource management approaches based on infrastructures. This paper does not address service management issues and prioritization; in [10], the authors review methods for Quality of Service (QoS) and environmental requirements in fog and edge architectures. They provided a detailed overview of practical and functional fog implementation methods.

Paper [40] considered resource management on fog and edge nodes. It presents a taxonomy for resource management in these systems based on design, infrastructure, and algorithms. The authors examined infrastructure-based resource management techniques. This paper did not address service management issues and prioritization; in [18], the authors reviewed methods for QoS and environmental requirements in fog and edge architectures. They provided a comprehensive overview of fog solutions and implementation approaches.

Many researchers worked on communications and network protocols, standards, and different simulation methods in similar environments. In [18], the authors considered the key technologies and challenges of the Vehicular Ad hoc network (VANET). This study may be used to approach resource management based on environmental characteristics. The authors of [48] examined ITS protocols based on several standards. They classified vehicular communication applications and investigated various criteria such as security and safety; they established critical metrics for communication resource management. Some papers focused on methods like machine learning and blockchain [9, 14]. They covered resource management based on some requirements like security and data management, but they ignored the characteristics of the IoV.

In [42], the authors worked on 5G standards and resource management and sharing. This paper is limited to the relevant standards and should be developed for use on the IoV. In [5], the researchers focused on mobile networks and core resources based on infrastructures and network settings. They considered 4G and 5G protocols. However, the sources of data transmission have not been addressed.

Some authors worked on load balancing control and data management. In [10], a survey is provided on different standard communication and network protocols in different intelligent transport system architectures. Based on the architecture layers, this article considers various communication levels for the device connection. It categorizes connection protocols based on network implementation; other resources are not addressed in this study. In [6], data offloading methods are reviewed in a similar environment. This method can be customized and used in an IoV environment. The authors classified offloading methods based on connection types among different devices. They are not considered a priority or real-time requirement for different services. In Table 1, the papers are classified, and the main topic and publication year are mentioned.

Table 1 Resource management related work

According to the papers reviewed, the following weaknesses are raised for existing survey papers:

Most papers are presented separately in different layers of IoV architecture [10, 14], and a complete paper has not been given for IoV architecture.

Some papers focused on specific resource management requirements in IoV [6, 14, 48], but they did not cover the entire resource management scope in IoV.

Some papers are limited to protocols and standards [9. 18, 42] and do not cover environmental requirements.

We tried to cover all aspects of resource management in IoV. We have reviewed the articles in different layers of architecture, considered environmental issues and features, and categorized evaluation tools and parameters.

Also, in this article, a classification of the methods used in the IoV is given, and a taxonomy is presented based on the issues in resource management.

3 Research methodology

The review research involves a research search process via multiple selection criteria. Procedures for testing and selecting relevant studies for this review are as follows.

  • Studies were found in different databases in search terms.

  • Some studies were unnoticed because the content was not relevant.

  • Some comments were ignored because they failed to meet the factors.

  • Studies were summarized as a follow-up reference.

3.1 Research questions

This paper addresses the following research questions in Table 2.

Table 2 Research questions

3.2 Research questions

Figure 2 represents selected publishers such as IEEE, ScienceDirect, Wiley, and Springer with paper numbers per database and year.

Fig. 2
figure 2

Number of studies per database and year

3.3 Search terms

The following search term used to find related papers:

("IoV" OR "Internet of Vehicles") AND ("Resource Management" OR " Resource allocation " OR " Resource scheduling ") AND ("IoV Resource scheduling ") AND ("IoV Resource allocation ")

3.4 Search terms

The principles considered to include principles are:

  • Research published in English.

  • Research published in journals.

  • Research published between 2016 and 2021.

  • The research focused on the IoV environment.

  • The research focused on resource management approaches.

3.5 Exclusion criteria

The exclusion principles used for screening research that is suitable for this review are shown in the following:

  • Challenges for identifying simulation strategies, evaluations, and simulation tools.

  • Challenges for using book chapters.

  • Challenges for conference papers.

3.6 Review phases

After searching the database, follow the steps below to classify articles:

  • Use search terms to check research in multiple databases

  • Delete irrelevant research after reviewing the title and abstract

  • Understand the main survey.

Through the first analysis of selected research, the basic categories are extracted as follows:

We filtered our papers based on terms and criteria. The steps for developing a search strategy and selecting papers are detailed in Fig. 3.

Fig. 3
figure 3

Search strategy in paper selection

We use the meta-analysis method for this paper. Meta-analysis survey research combines results from previous studies and uses statistical methods to categorize methods and their finding. We defined the research questions, the selection of databases, the definition of search terms, and the filtering of papers.

4 Resource management approaches in IoV

In this section, we analyze the selected articles. First, we will examine the types of resources available in the IoV, describe the issues related to resource management based on taxonomy, and analyze and categorize different methods.

4.1 Resource types

We must examine the different resource management methods; it is necessary first to understand the different types of resources in the IoV.

  • AQ1: What are the different types of IoV resources?

Different resources are defined based on different layers and types of technology in IoV. Resources collect information at the lowest level and transmit it to higher layers via communication resources. One group of calculations and allocations is performed in the fog layer, and the other is in the services and application layer defined in the cloud.

Resources are classified based on the architectural components described in the previous section. Figure 4 shows the sources based on the different layers of architecture. In the next section, the solutions will be reviewed in different layers.

Fig. 4
figure 4

Resource types in different layers

In order to categorize the articles, it is necessary to know what issues should be investigated in them and what their main approaches are. Some papers worked on different resource management steps. Paper [66] proposed a framework for resource management based on deep reinforcement learning. The authors tried to work with low complexity methods on resource allocation. They prioritized cost and delay. They prevented conflict, delay, and energy consumption from being transferred. The framework was created using contract theory. The contract is issued by Road Side Units (RSU) to vehicles. Based on its computational ability, the car may accept or reject contracts. However, this strategy does not consider scalability. For reliable resource management, our study suggests an auction-based system. In this article [25], the characteristics, such as the acceptable response time of the request, the required capacity of the processor, and the identification characteristics are received for each request. Resources are allocated considering the maximum number of responses to the request. Authors used blockchain technology to manage and maintain information about resources and services. In addition to the methods indicated in these papers, resource management employs a variety of other methodologies. According to the chosen articles, there are a variety of methods for resource management, each of which identifies the corresponding solutions. Figure 5 presents a taxonomy of the various methods of managing resources in the IoT. This figure presents general memory management methods as the main category. Different steps are considered for allocation in the first step, where the resources are identified and prepared. Other resource management steps are categorized based on the objective functions and features. The following sections of this article will discuss these steps and solutions in more detail.

Fig. 5
figure 5

Resource management taxonomy in IoV

In the previous works, we examined the architecture of systems based on the IoV. According to the selected articles, we examined the types of resources. We classified the issues related to their management in a taxonomy, and finally, we will analyze the articles based on taxonomy classification for different approaches.

4.2 Resource scheduling approaches

In this section, we will survey the resource scheduling issue in IoV. Resource scheduling includes activities for efficient resource allocation based on acceptable time for services and resource availability and capacity.

Some papers offer indirect solutions for resource management. Authors in [51] proposed a system for parking management. It can be mapped with resource scheduling, modeling vehicles as users, and parking spaces as resources. The authors tried to increase connection while minimizing the service provider's overall cost. The cost equation included parameters for time, cost, and distance. They built their strategy on deep reinforcement learning techniques and used the deep-Q network algorithm. This algorithm support mobility of vehicles and task scheduling is planned based on request ordering. They have reliability improvement in this method because of task completion ratio and task transmission improvement., but there is no solution for task priority in task scheduling.

Other papers are in a specific layer in the architecture. The authors in the paper [58] worked on edge node resource reservation for multimedia services. It uses a deep learning algorithm for resource reservation. It detects and predicts traffic flow based on location and route segmentation. It estimates traffic flow based on time, speed, and distance history. It selects an area for the request; if no region accepts it, it sends it to the cloud layer, so it does not fail. This approach avoids failure and request loss if the edge layer lacks resources. It may, however, lengthen reaction and execution times. Authors use intelligent algorithms for resource allocation and scheduling. The authors [64] used particle swarm optimum (PSO) and swarm optimization for bandwidth handling. They optimized resource allocation for data transmission with the PSO algorithm. The authors in [7] used a task scheduling method for the mobile environment in the edge layer. It uses a dynamic scheduling algorithm, and a task queue is formed, and task scheduling occurs based on this queue and time parameter and consideration for tasks. This method provides efficiency and better performance because of time consideration in resource scheduling.

Some papers worked on resource scheduling with traffic control on the network. This scheme [67] has two stages for resource allocation. It uses the Markov decision process for delay control on resource allocation problems. This method is designed based on software-defined networking (SDN) for the control layer, and then resource allocation occurs based on available resources and nodes and traffic estimation. Authors in [33] proposed a dynamic resource scheduling for multi-user IoV. Authors focus on cache overhead controlling. A quantum particle swarm optimum (QPSO) method was used for request and task scheduling. Access for many users and multi-layer solutions. The paper [34] focused on computing tasks and offered a mechanism for task scheduling. It maximizes task competitiveness based on the method for task offloading. Researchers worked on the multi-objective problem for resource scheduling. In [30], the authors proposed a method to support efficient resource scheduling. They use a randomized graph job for allocation. In this method, the nodes are selected based on optimized cost. Because of its low complexity can be used for a dynamic topology on a large scale of IoV. In [16], the authors provided a multi-objective method for the task and resource scheduling based on resource matching degree. Resource matching degree is affected by time parameters and computing unit capacity. They used an improved genetic algorithm for resource handling. They applied SDN servers for task checking on the network layer. This method helps manage resource capacity and regulate load balancing on the network. In the following sections, we can see that SDN-based methods are used for communication load balancing.

If we want to categorize the solutions provided in this section, papers related to this section can be viewed in two general categories. A group of papers has worked on architectural layers and different types of resources in these layers. Important parameters in these articles contain parameters linked to node attributes. Mobility is the primary characteristic of vehicles, which poses a problem for resource management and architectural design. It should be taken into account while defining target functions. On the other hand, regarding the energy and capacity consumed to process a task, the cost is one of the criteria considered in the design.

Another group has considered resource planning regarding the services and important service parameters. It is necessary to consider the priority and accepted time for different tasks. Because some services must respond in real-time, latency parameters should be considered. Table 3 summarizes the studies and categories in methodology and simulation. Figure 6 shows the parameters regarded in various articles for task scheduling solutions.

Table 3 Resource scheduling approaches
Fig. 6
figure 6

Important parameters for resource scheduling

4.3 Task offloading approaches

Task offloading is related to activities used to transfer tasks across different resources. Because of resource limitation, energy and capacity consumption are challenges in the IoV environment. Some articles worked on a specific layer. Paper [52] worked on the computing offload on the fog layer. Authors use Q- learning and deep learning for cost optimization. Delay and energy consumption are considered in the cost function. This method selects vehicles for data processing based on task similarity to minimize data and task migration costs. It covers vehicle mobility and decreases computing overload. However, it did not work on traffic overflow, which can affect the resource balancing of the whole system.

Authors in [13] added a task offloading service in vehicle edge computing. The authors created a model based on user experience with energy usage and service delay. They employed the PS-DDCP algorithm to minimize energy use. The authors of [60] concentrated on mobile edge networks. They proposed a method for task offloading in this layer. They used dynamic programming for computation time minimization. However, it has complexity in simulation with different tools and techniques.

However, some articles worked on networking and communication in general. Paper [15] used SDN in mobile edge computing. This paper is superior to the previous one, which works on different types of resources. The authors d an optimized architecture to maximize the reliability and performance of computing offloading. This architecture uses a heuristic algorithm that operates as a fault tolerance method. It addresses the failure of processing nodes and communication links. However, it has high complexity because of considering all nodes in the network.

Some papers worked on QoS or Quality of Experience (QoE). Paper [59] proposed an optimization framework for multi-user, multi-task, and multi-servers. It uses Non-Orthogonal Multiple Access (NOMA) on mobile edge computing. It helps the covariance of multi-user needs. It proposes a technique for computing power distribution in channels and subchannels. It optimizes offloading efficiency while minimizing complexity. This architecture reduces both latency and energy usage. There are a variety of combination procedures used in academic papers. Authors in [26] provided a task offloading method based on deep reinforcement learning. They focused on service reliability and service latency. This method works to compute tasks on mobile edge computing. It provides low latency and reliable services and minimizes computing and response time. It covers vehicle mobility.

In paper [45], the authors focused on the offloading decision optimization; they formulated service offloading decisions for moving vehicles and worked on cost and computation capacity. They used the deep learning model for this purpose.

In paper [46], the authors designed a reliable and low latency framework for task offloading minimization. This framework groups vehicles based on location, divides tasks into a subtask and assigns them based on computation capacity and cluster request. In this method, network and communication resources must be added to the framework that covers the message passing cost based on time parameters.

Authors in paper [29] proposed an offloading mechanism for computation tasks with cost minimization in mobile edge computing. They provided a system model based on resource computation capacity and energy consumption. Unlike some previous articles, the discussion covers the cost of managing the system and services, but in managing the services based on their priority, it has not considered a solution, which may cause problems.

Authors in [17] developed a method for dynamic task offloading decisions. They divided jobs into two categories: those performed locally due to vehicle processing and those that are flexible and can be handled on the mobile edge computing server. For some, a system cost and communication cost model are necessary. This method considers the message priority for resource request management. It is suitable for offloading process optimization.

Authors in [51] designed a computation offloading method; they developed a routing algorithm for communication resource allocation. This method proposes a multi-objective model based on energy consumption and computing time. They use an improved genetic algorithm for cost handling; the fitness function is developed based on load balancing, time, and energy parameters.

Because of the capacity-limited resources, one of the most critical parameters is the cost of task offloading methods evaluation. Many parameters are identified for cost evaluation, such as energy consumption, system cost, transmission cost, and process cost. Time parameters are evaluated based on real-time and mission-critical tasks. Run time, response time, and latency are essential and cover task priority on different applications and services.

Most authors used machine learning methods for IoV simulation. These methods cover different node types and improve performance metrics. Time and latency metrics are most important in the simulation evaluation. Some parameters, such as success rate and processing completion, are fault management parameters. In Table 4, a summary of reviewed papers is categorized in the design and implementation section.

Table 4 Task offloading approaches

Some tasks have higher importance and need an immediate response. In object function design, latency and time parameters are critical for covering these services. Transmission of process and data requires route and communication management. Authors need to control network and real-time traffic data. Task offloading mechanism is used for computation task transmission from device nodes to computational nodes. These methods focus on computational tasks for the delay and throughput optimization. The offloading mechanism includes repetitive and parallel processing in the IoV environment to control nodes' state and availability and better selection for processing.

In Fig. 7, some parameters are categorized based on the design method's percentage usage.

Fig. 7
figure 7

Important parameters for task offloading

4.4 Resource balancing approaches

Resource balancing is one of the challenges in resource management. This challenge is essential for services with time constraints and should work in real-time. This issue has been analyzed from various aspects. In the resource balancing methods, different aspects of communication management at the network and system level are considered. The most important issue in an inter-network connection is safety and load balancing at the network level [51]. Safe communication has different aspects, such as delay, cost, security, and success rate for data transmission. Various aspects of this feature were addressed in multiple papers.

In [2], the authors designed a model for autonomous vehicles to enhance communication reliability. They use the neural network to support accurately. This model emphasizes time parameters such as the time required for data transmission and service response time. It is used for task and storage balancing in the edge and VANET layers. Based on typical and acceptable response times for requests and the amount of storage space that is available, tasks are scheduled. Throughput and response times have improved, and the average latency and request loss has been reduced. In addition to communication reliability, the paper [35] addressed resource costs. This method controls energy consumption and reduces latency. It finds optimal power allocation. It covers the mobility of vehicles based on vehicle speed and time parameters. This model improves energy efficiency and reliability.

In paper [53], in addition to reliability, safety is also improved. The authors use a learning algorithm for routing in the network. This method is used to choose nodes based on distance and time. In contrast to the article [35], they worked on multi-hub routing. They proposed a protocol for vehicle data transfer and route selection based on geographical data. This protocol improves data packet transport and performance assessment. It receives geo information from the GPS module for the shortest route selection and updates topology based on speed and location.

Some papers cover other aspects of the system and node-related features for communication resource management. Authors in [32] designed a method based on node clustering. They classify nodes and guarantee data correlation for multimedia, ultra-reliability, and low latency for packet delivery. In this method, the vehicles are clustered based on multimedia content similarity. Because of this method, delay and packet loss rates are reduced. In [44], the authors proposed a method for power allocation based on a distributed joint with node mobility consideration.

Paper [61] worked on V2V and D2D connections. The authors proposed a decentralized method based on reinforcement learning. They used a joint mode selection for resource allocation to control power and support total capacity maximization. They used reinforcement learning for intelligent decision-making in resource allocation. The network's power, capacity, and dynamic characteristic are covered, but the time parameter must be added. The messages exchanged in a network have different priorities, and different levels can be considered for security.

Some papers worked on other QoS on the IoV. Authors in [62] provided a scheme for secure communication. In this scheme, RSU trusts authenticated methods for diagnosing each other, and vehicles use activity patterns based on RSU information to connect and communicate. In this scheme, channel allocation is made by RSU based on vehicle density and communication pattern.

For resource balancing control, article [31] focused on important file transfer. The writers considered time restrictions for this topic. They employed a heuristic approach to assure minimum latency and devised an accurate technique for supporting accuracy and cost optimization in data transfer. Some researchers worked on data management in data transmission. Paper [49] prioritized messages at the network level and considered the different transmission levels based on the messages' priority. It is a model to reduce latency and energy consumption when transmitting a message. Authors in [19] designed a method based on SDN; they used SDN for resource balancing control. Their goal is response time minimization and resource utilization optimization; they have weighted jobs number and average execution times for service in the mathematical model. They used the SDN as a load balancer in the system by vehicle clustering and status updates. Authors in [21] worked on data management to propose a data redundancy scheme for IoV applications. They modeled collaborative task computing management. This model is designed based on time parameters and idle resource utilization. Bandwidth and communication resources are optimized based on data redundancy controls. This method reduces resource balancing on the network.

In [50], the authors proposed an architecture that covers computing task management. A hierarchical architecture based on SDN technology is meant to regulate resource balance and cache management in IoV. As stated in [4], A distributed load SDN is introduced to each design layer as a distributed control component for cost management in job scheduling. It improves the rate of message delivery and controls network loading. Authors in [54] used SDN for traffic and network control to handle resource balancing and data transmission over the network. One of the advantages of this method is that it also covers data resource management issues and works properly in the field of system control and message transmission, improving its usability.

The reviewed articles show that communication discussions and information transfer have been discussed more in load control strategies. It seems better to use these methods combined with other methods for comprehensive system management.

Resource balancing is an essential issue in the resource management of IoV. Some papers simulated their proposed methods using graph meta-heuristic algorithms and machine learning methods. Some of the papers use SDN-based architecture for network control. Most of them have evaluated success rate, load bandwidth, and time metrics. NS2 and OMNET were more utilized for the simulation environment to evaluate the proposed resource balancing methods. Finally, a comparison of reviewed resource balancing approaches is shown in Table 5.

Table 5 Resource balancing approaches

A collection of articles focuses on load management and communication management at the network level. The coverage of qualitative factors has been the focus of some researchers' work. In contrast, the topic of data management for network-level transmission has been the subject of papers given by other academics. This view causes different parameters at the system level for resource balancing control. Time parameters become very important when the general view is based on the required features of the services. In the network management and load balance control at the network level, parameters are related to the main characteristics of nodes for data processing and transmission. For this purpose, the cost parameter is considered to control the energy and capacity of the source. Figure 8 shows the parameter's percentage of resource balancing approaches.

Fig. 8
figure 8

Important parameters for resource balancing

4.5 Resource allocation approaches

Resource allocation includes activities for available resource assignments to various services. Due to this, time-related service criteria, cost-related service parameters, and resource capacity management all play a significant role in resource allocation. Some papers cover parts of the system or specific steps in resource allocation. One of the steps in resource allocation is resource selection. Paper [27] proposed a method for resource selection. The authors used vehicle clustering for resource identification; they designed a hierarchical offloading model for vehicle edge computing. Each server communicates with RSU in clusters, and the vehicle is selected based on cost and delay minimization.

Some researchers work on the architectural layers. Paper [65] designed a method for resource allocation in mobile edge computing. A cooperative cache algorithm is proposed based on delay and data acquisition minimization. Paper [22] worked on fog nodes. The authors used SDN for node situation control. They designed a hybrid offloading architecture for offloading optimization. It covers response time and success rate.

Paper [8] used a mathematical model for cost and computing offload optimization for mobile edge computing. It addresses the duration and difficulty of a task's completion. In local processing, time and energy usage are considered while calculating costs. The authors modeled resource balancing and energy consumption for the cost of communication and system.

Like the other categories examined, many authors have addressed QoS in this category of methods; in [11], the authors proposed a resource allocation algorithm based on geo and location of vehicles. They partitioned the area into subsets; they allocated resources based on traffic density and resource balancing in each subset. This method accounts for the non-uniform distribution of cars. It promotes communication dependability, enhances packet resource ratio, and reduces collision bounds. Resource availability and service response time are considered in resource selection and allocation. This technique provides dynamic resource status control to accommodate vehicle movement. In [23], task scheduling is performed based on resource capacity management and works on it with concurrency. The authors proposed an optimal job partitioning and allocating algorithm for dividing tasks to subtask and an optimal resource allocation for an optimal number of task partitions.

Authors in [33] used different algorithms to design a message passing method based on deep learning that covers lower cost and computing complexity. This method covers different priorities. Some papers worked on a specific step or stage of resource management. This method positively affects the performance of resources at the network and communication level. However, it has not been determined whether the above method is effective in terms of reliability in responding to services, response success rate, and time parameters in responding to services. In [58], the authors designed a method based on traffic prediction. Resource reservation is performed based on the region's needs for resources and server offloading on the edge layer. This method works for specific nodes. It helps data delivery, response success rate improvements, and cost management with overload control. Paper [36] focused on resource allocation based on service provider requirements with performance optimization. They formulated a graph job allocation in two steps: in step one, they searched for all resource candidates, sorted them based on minimizing objective functions based on time and cost parameters, and for run time improvement, they improved this method based on a hierarchical tree, this improvement decreases complexity, but it needs more works on complexity for large networks. Paper [24] worked on fog resources; also, it focused on service satisfaction. It uses deep learning and a heuristic method to reduce service latency. It establishes temporal and spatial patterns of resource availability. When allocating funds, the authors turned to a deep recurrent neural network technique.

The time parameters have been investigated in the evaluation of this method. However, due to the use of several algorithms and combined solutions, it is necessary to determine the system's complexity; also, considering the cost issue, other parameters related to the cost can be added to the method. In this case, the prioritization of services can also be implemented. Paper [55] worked on mobile edge computing. It works with a deep learning algorithm for fog node allocation. Its focus is on task types. It proposes four types of tasks. It aims to provide the shortest average delay for different kinds of tasks. Urgent and real-time tasks have accepted response time constraints. It covers node mobility on the whole network. This method is designed based on the Markov decision process for optimization problems and the reinforcement method for different pattern extraction.

In the paper [12], the authors developed a distributed algorithm for latency and cost optimization. They designed a framework for vehicular edge computing networks with offloading time, latency, and energy consideration. They established a tradeoff between latency and energy consumption. They focused on computing task management for low-computing costs. They must add load balancing and time parameters to their method to cover all aspects of cost in different layers of architecture.

Authors in [37] used a standard method for delay control in mobile edge computing. This method adds an SDN to the network to control updated information. This information includes information about vehicles, tasks, and RSU. If RSU has computing capacity, accept the server request and assign it to their local vehicles. Moreover, if it rejects, the request migrates to another RSU. Authors proposed an intelligent edge computing task offloading that task priority must be considered in their improvements.

According to reviewed research, resource allocation methods are considered in different categories. Some papers focus on service requirements. These methods try to cover more requests and more services. Furthermore, some papers worked on throughput and performance optimization. Since there is a finite amount of resources available for processing and computing, the cost is crucial in allocating those resources. In order to make meaningful comparisons between service requests, several techniques of measuring time and success rates are required. The authors used machine learning methods, linear programming, and heuristic algorithms and used different simulation tools like Python and MATLAB, Table 6 categorized descriptions of the methods and simulation of papers.

Table 6 Resource allocation approaches

Time and delay parameters are required for resource assignment in a real-time context to meet service demands. IoV nodes have limited capacity and energy resources, which should be addressed while allocating resources. Multi-objective functions are usually defined to cover these issues. Therefore, the double-matching resource allocation problem as an NP-hard problem is suitable to use approximate and heuristic algorithms instead of the exhaustive search algorithm. Figure 9 illustrates parameter percent usage in our analyzed papers.

Fig. 9
figure 9

Important parameters for resource allocation

4.6 Resource provisioning approaches

Some papers worked on data transmission for workload balancing in an IoV environment. In the paper [29], the authors proposed a technique for packet transmission based on an SDN. SDN is used for network control of traffic density and vehicle mobility. The expenses of prioritizing appointments and relaying urgent messages are reduced. In this article, the focus is on network and communication implementation. Also, in different scenarios, the execution time has been improved, but the energy consumption and processing cost in the nodes and system level have not been controlled, and in future works, the cost parameter can also be added for method improvement. For cost optimization, the authors of [56] developed a multi-objective optimized route-obtaining algorithm to decrease power consumption and run time. This approach improves performance by prioritizing these jobs more efficiently when applied to computational activities. In addition to this, they managed the workload placed on available resources.

Paper [38] used dynamic workload handling. This method works based on estimated computing time for tasks and checks resource availability for resource allocation. This article presented a framework based on a computational model, which focuses on reducing energy consumption and improving service response time. The approach of this method is based on reducing the resource allocation period for every service to improve system performance. In this method, the evaluation is not presented transparently. It is limited to the waiting time parameter, while for the performance evaluation, it is necessary to consider the success rate and cost parameters.

Authors in [28] used an improved genetic algorithm for resource search and selection. They designed a model on mobile edge computing nodes for cost and utility functions. They modeled energy and pricing consumption for nodes, communication, and system. The main goal of this method is cost optimization for the system to respond to the services optimally. The evaluation of this method has been done through performance parameters in responding to services, which works well in cost optimization and performance. Various scenarios have been defined for the evaluation, which guarantees the system's scalability, but the costs of message transmission, communication, and network have not been mentioned in the evaluations.

Timely response to services is critical in these types of methods. Therefore, success in response and time parameters play an important role in measuring them. One of the things which can be added to these parameters is the discussion of workload, which can be a challenge in these methods. Table 7 summarizes the comparisons made.

Table 7 Resource provisioning approaches

Time is the most important parameter for these methods because it needs to be optimized to control the load volume on the nodes and respond to the necessary services. Cost also plays an essential role in making resource management easier. In Fig. 10, the parameters required for this group of methods are categorized

Fig. 10
figure 10

Important parameters for resource provisioning

5 Discussions

This section provides an analytical discussion of existing resource management research in the IoV environment. The analytical reports are based on our questions:

  • AQ2: What tools are used to simulate different methods of resource management?

According to Fig. 11, 25% of the implementation of papers is done using Python. Besides, 21% of papers used the MATLAB tool to assess and analyze the existing case studies. Some authors have not specified a tool to evaluate their methods.

Fig. 11
figure 11

Resource management approaches evaluation tools

  • AQ3: What are the evaluation factors usually utilized to evaluate resource management approaches?

Figure 12 shows the parameters by which different methods were evaluated. In many papers, system performance is defined as the main evaluation criterion [20, 39], and according to the selected papers, time parameters can be considered the main performance indicator for the method evaluation. Low latency and response time optimization are critical resource management parameters in the IoV environment.

Fig. 12
figure 12

Resource management evaluation parameters

  • AQ4: Which techniques, approaches, and classifications are used for resource management in IoV?

Figure 13 shows a statistical comparison of the resource management approaches in IoV based on our taxonomy. We proposed five resource management approaches classification: resource scheduling, task offloading, resource balancing, resource allocation, and resource provisioning. Resource allocation has the highest percentage of the resource management approaches with 30% usage. Resource scheduling has 14%, resource provisioning has 8%, resource balancing has 26%, and resource offloading has 22%of total papers in IoV.

Fig. 13
figure 13

Resource management approaches usage percent

Figure 14 provides an assessment of current practices in the field of resource management. A meta-analysis of 14 research found that heuristic algorithms had the highest critical usage in resource management assessment. Machine learning and associated algorithms are used in several presenting approaches. Some of these techniques simplify matters while accommodating various node kinds.

Fig. 14
figure 14

Resource management techniques

  • AQ5: What are the future works and open challenges and issues for resource management approaches in IoV?

Mobility

The mobility of nodes at the network level must be considered in various architectural solutions and node allocation. This mobility may complicate the proposed algorithms and methods. In some papers, authors use various dynamic resource management approaches. At the network level, they monitor the current status of the node and its location for node classification and message transmission. Resource allocation is usually based on the location of the resource, and the number of available resources changes. Resource clustering solutions are commonly used to update available resources. Moreover, to respond appropriately to the services and fault management in the system, the resources allocated to the services are controlled periodically, and the service methods are scheduled.

Heterogeneous nodes connection

Data exchange among nodes with different technologies and node capacity management in processing is one of the critical challenges. In different steps of resource allocation, including resource discovery and resource selection, this challenge should be considered. Solutions are considered at both the network and service levels. In many cases, conditions are generally defined and cover different standards. It is necessary to allocate resources in different steps, including identifying and selecting resources. It is necessary to consider this diversity of types of resources.

Task scheduling

Nodes usually have limited possess storage and computational capacity. Resource optimization is one of the challenges in task scheduling. Numerous options for controlling the resources available to nodes for task management are addressed at the architectural and methodological levels. In addition, duties should be separated into two groups: emergency and routine. Prioritization is key, and time limits must be considered while dealing with urgent matters. It is necessary to identify constraints for fault management in services. In general, approaches should be developed to cover optimal resource utilization and minimum execution time and significantly reduce communication costs for task management. Authors use meta-heuristic algorithms and machine learning approaches to determine objective functions and patterns based on essential resource allocation parameters.

Energy consumption

Data transmission and computing processes have energy consumption throughout the system. Some methods are provided for resource balancing for efficient data transmission. Financial constraints should be considered while planning and executing energy management initiatives. When defining the cost equations for allocating the energy resources needed to process the tasks and the remaining capacity of the nodes to cover the services, these constraints become very important. Researchers use network load monitoring and balancing solutions for different routes while transmitting messages and responding to services. These solutions help energy management at the network level. At the service level, energy parameters must be considered. Artificial intelligence and machine learning approaches provide insights into the critical energy parameters.

6 Conclusions

This paper provided a comprehensive systematic survey of the resource management methods and approaches in the IoV environment. Resource management can be examined from two general perspectives of data and processing and discussion of processing. The capacity of resources for processing, prioritization of services, defined time parameters for services, and response time must be considered. In data management, data transmission and load balancing at the network level, as well as the transmission power of nodes and maintaining data reliability during transmission, should be considered. Based on it, we identified the five main types of resource management methodologies: resource scheduling, task offloading, resource balancing, resource allocation, and resource provisioning. The research studies' strengths and weaknesses were discussed. According to the literature review discussions, resource allocation has the highest utilization rate of resource management approaches at 30%. One of the upcoming research challenges is choosing the right tools and solutions to cover the environmental characteristics of resource management in IoV. The implementation tool concluded that 25% of the existing papers simulated the approach with Python. Besides, 21% of the studies have evaluated using the MATLAB environment. The most important parameter in resource allocation is cost, which includes energy consumption, transmission rate, performance, load balance at the network level, and processing rate in each node and system. Moreover, in the expository reports of QoS components, those cost parameters have the most evaluation in the approaches by 19%. Since resource management techniques are specified as an NP problem, the meta-heuristic algorithms can cover these approaches, and the heuristic algorithm assesses the resource management approaches with 14 studies. We considered the open issues and challenges in resource management on IoV, and solutions to solve these challenges should be addressed in future works.