Computer-implemented method, computer program, and computer system
The system addresses inefficiencies in multi-access edge computing by dynamically classifying and redistributing tasks based on latency and data size, improving processing efficiency and security in map data management.
Patent Information
- Application Number
- JP2023500076
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-07-09
- Filing Date
- 2021-07-05
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-07-05
AI Technical Summary
Existing multi-access edge computing systems lack dynamic task delegation based on latency and data size, leading to inefficient processing and management of map information across network service areas.
A system that classifies tasks based on latency, data lifetime, and data size, allocating them to appropriate processing locations and redistributing them dynamically to optimize processing efficiency.
Enhances processing efficiency and security by optimizing task distribution based on regional context, ensuring timely and secure delivery of map data.
Smart Images

Figure 0007725154000004 
Figure 0007725154000005 
Figure 0007725154000006
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of navigation systems and map services, and more particularly to the coordination of maps and digital agents distributed over servers and networks. [Background technology]
[0002] Multi-access edge computing ("MEC"), formerly mobile edge computing, is a network architecture concept that enables multiple network cloud computing capabilities and information technology service environments at the edge of any network. Network architecture is the design of a computer network. It is a framework for specifying the network's physical components and its functional organization and configuration, its operational principles and procedures, and the communication protocols used. In telecommunications, specifying a network architecture may also include a detailed description of the products and services that will be delivered over the communications network.
[0003] Advanced driver assistance systems ("ADAS") are electronic systems that assist vehicle drivers while driving or parking. They are intended for vehicle safety, and more generally road safety, when designed with a safe human-machine interface. ADAS systems use electronic technologies such as microcontroller units ("MCUs"), electronic control units ("ECUs"), and power semiconductor elements. Advanced driver assistance systems are systems developed to automate, adapt, and enhance vehicle systems for safety and better driving. The automated systems provided in vehicles by ADAS have been proven to reduce road fatalities by minimizing human error.
[0004] There are systems including mobile edge computing servers operating in corresponding service areas of a network configured to define computing areas within the corresponding service area, and systems including multiple hosts for performance metrics of respective services provided for use by applications running on the hosts and constructing zone maps. Each of these solutions would be much more efficient and enhance the security of these map functions if the service areas of the network dynamically communicated with the system and classified data based on multiple factors. For example, a drawback of these solutions is receiving map information from all areas or only from a single area, which can create problems with the amount of information the system can process. However, neither of these or any other criteria provides for dynamic dispatching of tasks and data based on latency and data size associated with the user's current location. Summary of the Invention
[0005] Embodiments of the present invention provide a computer system, a computer program product, and a method that includes: in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more portions, allocating the classified task to processing locations within a data region based on a location of the computing device, in response to a change associated with the task, dynamically calculating alternative processing locations within a radius of the data region for processing one or more portions of the task based on a scoring value associated with the change, and redistributing at least one portion of the classified task according to an alternative processing location among the dynamically calculated alternative processing locations. [Brief explanation of the drawings]
[0006] [Figure 1] 1 illustrates a cloud computing environment according to an embodiment of the present invention.
[0007] [Figure 2] 1 illustrates an abstraction model of layers according to an embodiment of the present invention.
[0008] [Figure 3] FIG. 1 is a functional block diagram illustrating a computing environment according to one embodiment of the present invention.
[0009] [Figure 4] FIG. 1 is a functional block diagram illustrating an alternative computing environment according to an embodiment of the present invention.
[0010] [Figure 5] FIG. 1 is a functional block diagram illustrating a cloud decision mapping service environment according to an embodiment of the present invention.
[0011] [Figure 6] 1 is a flowchart illustrating operational steps for dispatching a task in an MEC environment according to one embodiment of the present invention.
[0012] [Figure 7] 1 is a flowchart illustrating operational steps for determining how to process classified tasks associated with data, according to one embodiment of the present invention.
[0013] [Figure 8] 10 is a flowchart illustrating operational steps for synchronizing categorized tasks with context elements according to one embodiment of the present invention.
[0014] [Figure 9A] 1 is an exemplary diagram of the application of selected synchronization methods according to an embodiment of the present invention. [Figure 9B] 1 is an exemplary diagram of the application of selected synchronization methods according to an embodiment of the present invention. [Figure 9C] 1 is an exemplary diagram of the application of selected synchronization methods according to an embodiment of the present invention.
[0015] [Figure 10] 1 is an exemplary diagram illustrating operational steps for dispatching a mapping service environment according to an embodiment of the present invention.
[0016] [Figure 11] 4 illustrates a block diagram of components of a computing system within the computing display environment of FIG. 3 according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0017]
[0006] Embodiments of the present invention recognize the need for a system supporting multi-access edge computing ("MEC"), which deploys computer resources across a network to provide data processing technologies requiring high security. Embodiments of the present invention provide a system, method, and computer program product for the need to delegate tasks to a preferred environment by providing data based on region and latency supported by MEC. Currently, methods for delegating tasks according to region and latency are generally not performed based on priority or delay time. It is generally inefficient to configure an MEC server to have all data regions, which requires one MEC server to share data with another. Embodiments of the present invention improve upon current task delegation and map systems by using an MEC system that classifies tasks according to latency, data lifetime, and data size; collecting context information in the form of region-dependent data; determining the use of the collected context information on a data class basis; and determining how to process the collected information. Embodiments of the present invention receive information, describe the information as tasks or general data, allocate the classified information to map regions, and use regional and local managers to determine how to process the classified data.
[0018] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models. The ability provided to consumers is to provision processing, storage, network, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do control the operating systems, storage, deployed applications, and in some cases, limited control over select networking components (e.g., host firewalls).
[0019] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings recited herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0020] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0021] The characteristics are as follows:
[0022] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed without the need for human interaction with the service provider.
[0023] Wide network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, and PDAs).
[0024] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with multiple different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge over the exact location of the provided resources, although there is a sense of location independence in that they may be able to specify location at a higher level of abstraction (e.g., country, state, or data center).
[0025] Rapid Elasticity: Capacity can be rapidly and elastically provisioned, sometimes automatically, to quickly scale out, and rapidly released to quickly scale in. The capacity available for provisioning often appears unlimited to the consumer, and any amount can be purchased at any time.
[0026] Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported to provide transparency to both providers and consumers of utilized services.
[0027] The service model is as follows:
[0028] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer has no management or control over the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, except in some cases for limited user-specific application configuration settings.
[0029] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications created or acquired by them, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the application hosting environment configuration.
[0030] Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, networking, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating system, storage, deployed applications, and in some cases, limited control over select networking components (e.g., host firewalls).
[0031] The deployment model is as follows:
[0032] Private Cloud: Cloud infrastructure is operated exclusively for an organization. It may be managed by that organization or a third party and may exist on-premise or off-premise.
[0033] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community of shared interests (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by these organizations or a third party and may exist on-premises or off-premises.
[0034] Public cloud: Cloud infrastructure is made available to the general public or large industry organizations and is owned by organizations that sell cloud services.
[0035] Hybrid Cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain their own entities but are tied together by standard or proprietary technologies that allow for data and application portability (e.g., cloud bursting to balance load between clouds).
[0036] A cloud computing environment is a service-oriented environment that emphasizes statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0037] Referring now to FIG. 1 , an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers can communicate, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or a combination thereof. The cloud computing nodes 10 may communicate with each other. They may be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or a combination thereof, as described above. This enables the cloud computing environment 50 to provide infrastructure, platform, or software as a service, or a combination thereof, without the cloud consumer having to maintain resources on the local computing device. The types of computing devices 54A-N shown in FIG. 1 are intended for illustrative purposes only, and it will be understood that the cloud computing nodes 10 and the cloud computing environment 50 can communicate with any type of computerized device over any type of network or network-addressable connection, or both, (e.g., using a web browser).
[0038] Referring now to Figure 2, a set of functional abstraction layers provided by cloud computing environment 50 (Figure 1) is shown. It should be understood in advance that the components, layers, and functions shown in Figure 2 are intended to be exemplary only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0039] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61, RISC (reduced instruction set computer) architecture-based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0040] A virtualization layer 70 provides an abstraction layer from which examples of virtual entities such as virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75 may be provided.
[0041] In one example, management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud consumers and tasks, as well as protection of data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources so that required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides proactive provisioning and procurement of cloud computing resources in anticipation of future requirements according to SLAs. Workload layer 90 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and enterprise applications 96. In the following paragraphs, several exemplary embodiments of the present invention will be described.
[0042] 3 is a functional block diagram of a computing environment 300 according to one embodiment of the present invention. The computing environment 300 includes a computing device 302 and a server computing device 308. The computing device 302 and the server computing device 308 may be desktop computers, laptop computers, dedicated computer servers, smartphones, smart appliances, smart devices, or any other computing devices known in the art. In particular embodiments, the computing device 302 and the server computing device 308 may represent computing devices that utilize multiple computers or components that act as a single pool of seamless resources when accessed over a network 306. Generally, the computing device 302 and the server computing device 308 may represent any electronic device or combination of electronic devices capable of executing machine-readable program instructions, as described in more detail with respect to FIG. 8.
[0043] Computing device 302 may include program 304. Program 304 may be a standalone program on computing device 302. In another embodiment, program 304 may be stored on server computing device 308. In this embodiment, program 304 incorporates regional manager 310 and local manager 312. Program 304 improves device efficiency and enhances user safety by providing selected dynamic information correlated to tasks based on proximity to server computing device 308. In this embodiment, program 304 transmits instructions to regional manager 310 to receive information from computing device 302 and download information corresponding to a particular region. If regional manager 310 does not cover the region corresponding to the area program 304 is searching, program 304 transmits instructions to local manager 312 to receive information from computing device 302 and download information covering the local area of computing device 302. In this embodiment, program 304 receives information from computing device 302, classifies the information as tasks or general data, assigns the classified information to data regions, and determines how to process the classified information (shown in subsequent figures). In this embodiment, program 304 classifies tasks and data sent from computing device 302 based on latency, data age, and data size. In this embodiment, the information transmitted from regional manager 310 and local manager 312 is map information according to the region in which computing device 302 is currently located. In another embodiment, program 304 receives information from surrounding regions. In another embodiment, program 304 receives information in the form of accident information, traffic congestion information, weather information, and wireless base station information. In this embodiment, program 304 determines a context, assigns weights to the classified data, and determines how to process the classified data (shown in subsequent figures).In another embodiment, the program 304 synchronizes the categorized data in response to determining the process of the categorized data.
[0044] Network 306 may be a local area network ("LAN"), a wide area network ("WAN") such as the Internet, or a combination of the two, and may include wired, wireless, or fiber optic connections. In general, network 306 may be any combination of connections and protocols that will support communication between computing device 302 and server computing device 308, specifically program 304, according to a desired embodiment of the present invention. Network 306 may use an orchestration layer of 5G technology, along with existing mobility monitoring tools, that senses 5G communication channels and other compatible platforms and identifies deeper insights from data collected from 5G-enabled mobile devices.
[0045] The server computing device 308 may include a program 304 and may communicate with the computing device 302 via a network 306. The server computing device 308 may be a single computing device, a laptop, a cloud-based computing device cluster, a server cluster, and other known computing devices. The server computing device 308 may be combined with a cloud network 306 to create a server computing device that is a cloud-based network, which may be a fixed access network. In this embodiment, the combination of the server computing device 308 and the cloud network 306 may relay data from the computing device 302 to the server computing device 308 combined with the cloud network 306 using wireless signals, a backhaul network, an optical access network, an optical metro network, and an optical core network. The wireless signals are used to carry wireless broadcasts and to establish Wi-Fi® connections for cellular devices. The backhaul network includes an intermediate link between the core network and smaller subnetworks at the edge of that network, which in this embodiment would be the cloud-based storage capability of the network 106. Optical networks require the use of single-mode optical fiber in the outside plant, with upstream and downstream signals sharing the same fiber at different wavelengths.
[0046] FIG. 4 is a functional diagram illustrating an alternative computing environment 400 according to an embodiment of the present invention. In this embodiment, a computing device 402 transmits data to an edge map service server 404. The edge map service server 404 maintains the state of the computing device 402 according to its associated region and maintains contextual information related to the region. In this embodiment, the edge map service server includes an edge twin 406 in communication with a local dispatch service 408 and a local region manager 410. The edge twin 406 represents the state of the computing device 402 based on data received from the computing device 402. The local dispatch service 408 validates the state of the edge twin 406. The local region manager 410 manages the state of the edge twin 406. In this embodiment, a digital twin database 416 associated with the edge map service server 404 is connected to the edge twin 406. The digital twin database 416 is a database that stores possible states of the edge twin 406. In this embodiment, a data class database 418 associated with the edge map service server 404 is connected to the local dispatch service 408. The data class database 418 is a database that stores multiple tasks based on the authenticated state of the edge twin 406. In this embodiment, a map database 420 associated with the edge map service server 404 is connected to the local region manager 410. The map database 420 is a database that stores a map of the region covered by the edge map service server 404. In this embodiment, the local dispatch service 408 receives data from the local context service 412 and communicates with the local processor 414. The local context service 412 transmits instructions to the local dispatch service 408 based on the authenticated state of the edge twin 406. The local processor 414 processes the authenticated state of the edge twin 406, the region map, and elements of the tasks associated within the edge map service server 404.In this embodiment, a context database 422 associated with the edge map service server 404 is connected to the local context service 412. The context database 422 is a database that stores factors to apply to data to identify tasks to be completed.
[0047] In this embodiment, in response to the computing device 402 needing more information from the edge map service server 404, the computing device 402 communicates with an intermediate map service server 424. The components of the intermediate map service server 424 perform similar functions as their correlated counterparts found in the edge map service server 404. In this embodiment, the components of the intermediate map service server 424 perform functions if data is not found in the edge map service server 404. In this embodiment, the intermediate map service server 424 includes an intermediate digital twin 426, an intermediate dispatch service 428, and an intermediate region manager 430 that communicate with the computing device 402. In this embodiment, the intermediate region manager 430 communicates with the local region manager 410. In this embodiment, a digital twin database 416 associated with the intermediate map service server 424 is connected to the intermediate digital twin 426. In this embodiment, a data class database 418 associated with the intermediate map service server 424 is connected to the intermediate dispatch service 428. In this embodiment, a map database 420 associated with an intermediate map service server 424 is connected to an intermediate region manager 430. In this embodiment, the intermediate dispatch service server 424 receives data from a regional context service 432 and communicates with an intermediate processor 434. In this embodiment, a context database 422 associated with the intermediate map service server 424 is connected to the regional context service 432.
[0048] In this embodiment, in response to computing device 402 communicating with intermediate map service server 424, computing device 402 communicates with cloud map service server 436. Components of cloud map service server 436 perform similar functions as components of edge map server 404. In this embodiment, cloud map service server 436 includes a digital twin master 438 that communicates with intermediate dispatch service 428 and cloud processor 440 and receives data from global context service server 442. Digital twin master 438 represents the final state of cloud map service server 436. Global context service server 442 applies factors to the data received by digital twin master 438. Cloud processor 440 processes the data received by digital twin master 438 using the applied factors from global context service server 442 while querying map database 420, which contains all regional maps. In this embodiment, cloud map service server 436 includes a region manager 444, which communicates with intermediate region manager 430. In this embodiment, a data class database 418 associated with a cloud map service server 436 is connected to a digital twin master 438. In this embodiment, a context database 422 associated with a cloud map service server 436 is connected to a global context service server 442. In this embodiment, a map database 420 associated with a cloud map service server 436 is connected to a region manager 444.
[0049] FIG. 5 is a functional block diagram 500 illustrating a cloud-determined mapping service environment according to one embodiment of the present invention. In this embodiment, a computing device 502 communicates with a radio tower 504 to transmit location and receive information. In this embodiment, the information includes mapping information and local information. For example, the computing device 502 is a smart car, and the received information is accident information, traffic congestion information, weather information, and radio base station information. In this embodiment, the radio tower 504 communicates with a multi-access edge computing ("MEC") server 506. The MEC server 506 transmits and receives information between the radio tower 504 and an intermediate data server 508. In this embodiment, the MEC server 506 may have information stored locally within it for sending the information back to the radio tower 504. In another embodiment, the MEC server 506 may transmit the locally stored information directly to the computing device 502. In this embodiment, the intermediate data server 508 communicates with the MEC server 506 and a cloud data server 510. In this embodiment, in response to the MEC server 506 not having the information stored locally, the intermediate data server 508 communicates with the cloud data server 510 to retrieve information for a predetermined map area 514. In this embodiment, the cloud data server 510 accesses a database that stores information about multiple MEC servers located within and outside the predetermined map area 514. In this embodiment, the predetermined map area 514 is a particular region near the computing device 502. In another embodiment, the cloud data server 510 maintains map areas where the MEC servers 506 overlap. In another embodiment, if there is an area not covered by the MEC server 506, an intermediate data server 508 covering a larger area may be deployed between the MEC server 506 and the cloud data server 510.
[0050] 6 is a flowchart 600 illustrating operational steps for dispatching data in an MEC environment in accordance with at least one embodiment of the present invention. In this embodiment, a program 304 dispatches data to computing devices 302 in the MEC environment by receiving information, classifying the data as tasks, allocating the classified data to map areas, and determining a process for the classified data.
[0051] In step 602, the program 304 receives information from the computing device 302. In this embodiment, the program 304 receives information from the computing device 302 by determining the location of the computing device 302 by using a Global Positioning System ("GPS") algorithm. In this embodiment, the program 304 receives the information in the form of data. For example, the program 403 receives the specific location of the smart car and the preferred destination. In other embodiments, the program 304 may receive information from one or more other components within the computing environment 300.
[0052] In step 604, the program 304 classifies a task associated with the received information. In this embodiment, the program 304 classifies data from the information received from the computing device 302 based on factors. In this embodiment, the factors include latency, data age, and data size. Latency is defined as the time it takes to store or retrieve data. Data age is defined as the time it takes for data to persist after being cleared or destroyed. In this embodiment, the program 304 classifies the data as either a task or general data based on the factors. In this embodiment, the program 304 has predetermined tasks stored locally, and in response to receiving a data packet, the program 304 identifies specific characteristics from the data packet and identifies the task that needs to be performed from metadata included in the received data packet. For example, in response to receiving a data packet, the program 304 identifies GPS coordinates, device location information, location information associated with a destination, and route information. The program 304 identifies the data packet as a navigation task based on the identified metadata. In another embodiment, in response to program 304 receiving information that does not correlate to a given task, program 304 classifies the received information as general data. For example, program 304 classifies the received information as a navigation task of directing a smart car from location A to location B.
[0053] In step 606, the program 304 allocates the classified tasks to map regions. In this embodiment, in response to classifying the tasks associated with the data, the program 304 allocates the classified tasks by identifying the current location of the computing device 302, accessing a map divided into regions, identifying the region in which the computing device 302 is located, and notating in the accessed map that the computing device 302 is within that region. In this embodiment, the program 304 locates the location of the computing device 302 and nearby map regions using a GPS algorithm. In this embodiment, the program 304 locates an alternative processing location based on a predefined area having a radius surrounding the computing device 302. In this embodiment, in response to the classified data being a predetermined task, the program 304 allocates the classified data to map regions located at the current location of the computing device 302 and the estimated final location of the computing device 302. For example, the program 304 locates a smart car that will complete a trip using navigation instructions and allocates information from the smart car to map areas located near the smart car's current location and map areas located along the smart car's predicted route.
[0054] In step 608, the program 304 determines how to process the classified task. In this embodiment, in response to allocating the classified data to a map region, the program 304 analyzes the allocated map region, determines the context of the classified task, and assigns a weight to the determined context of the classified data. In this embodiment, the program 304 can then process the task according to the determined context within the allocated region. This step will be further described in subsequent figures. In this embodiment, the program 304 determines how to process the classified task based on the contextual factors by dispatching the classified task to another server computing device 308 located in another allocated region. In this embodiment, the program 304 analyzes the allocated map region by examining the MEC server allocated to the computing device 302 and the digital agents associated with the particular region of the map deployed in its surrounding region. For example, the program 304 examines the list of allocated and neighboring regions in step 606 by examining a database containing map region activity. In this embodiment, the program determines the context of the categorized data by examining a digital database associated with the assigned region to determine a request for the categorized information. For example, program 304 determines that the context of the categorized data is seeking accident information in the region, traffic congestion information in the region, weather information in the region, and cell tower information in the region. In this embodiment, program 304 assigns a weight to the categorized data based on the determined context and the factors applied in step 604. For example, program 304 assigns a value or weight to the categorized data based on the determined task, latency of the data, retention of the data, volume of the data, and any conditions associated with the categorized data.
[0055] FIG. 7 is a flowchart 700 illustrating operational steps for determining how to process classified tasks associated with data in accordance with the present invention.
[0056] At step 702, the program 304 analyzes the allocated map area. In this embodiment, the program 304 analyzes the allocated map area to determine and narrow down the area from which the computing device 302 is transmitting data. In this embodiment, the program 304 analyzes the allocated map area to locate the computing device 302 using machine learning and artificial intelligence algorithms. The analysis of the allocated map area provides details about the particular server computing device 308 that will be used to provide contextual information about the data transmitted from the computing device 302. For example, the program 304 analyzes the allocated map area associated with received information detailing the current location of the smart car based on the map area in which the smart car is currently located. At step 704, the program 304 determines the context of the classified task. In this embodiment, in response to the analysis of the allocated map area, the program 304 determines the context of the task by applying contextual elements to the data to generate a classified task. In this embodiment, the program 304 uses a decision engine to determine the context of a plurality of pre-saved classified tasks. In this embodiment, program 304 uses a decision engine to analyze a context database that stores information for identifying data packets based on the received information, determine a context based on the analysis of the context database, and modify the severity of the classified task based on the context determination. The context database stores weight values for multiple factors and actions and details regarding severity escalation and de-escalation. Program 304 applies context factors based on the severity determination that correlate with the escalation condition. The context factors are details stored in the context database that help program 304 modify the severity of the classified task based on these context factors.In this embodiment, program 304 applies contextual factors to enable program 304 to assign weights to classified tasks. In this embodiment, program 304 adds the assigned weights of the classified tasks to determine an overall weighted score for the classified task. Program 304 determines the severity of the classified task by calculating the overall weighted score. Program 304 identifies each detail of the classified task and assigns values based on stored value information found in the context database. For example, program 304 performs a query in the context database to determine latency, retention, and capacity values for the identified task based on the received information. In another embodiment, in response to receiving feedback from a processing location, program 304 modifies multiple portions of the classified task to include additional processing instructions using alternative mapping regions and processing locations respectively associated with them. In this embodiment, program 304 modifies multiple portions of the classified task by modifying the classified task to avoid objects.
[0057] The program 304 dynamically modifies the score of classified tasks using multiple predetermined thresholds to maintain a range of the overall weighted score, e.g., a user-defined value of minimum 1 and maximum 10. In this embodiment, the program 304 classifies the task as low severity in response to calculating the overall weighted score as less than 4, classifies the task as standard severity in response to calculating the overall weighted score as equal to or greater than 4 but less than 7, and classifies the task as high severity in response to calculating the overall weighted score as equal to or greater than 7 up to 10 (the maximum severity of the classified task). In this embodiment, the program 304 quantifies the overall weighted score by its placement on a user-defined scale. In this embodiment, the program 304 aggregates the initial weighted scores to calculate the overall weighted score. In another embodiment, the program 304 determines the context of the data, where there is a first allocation based on the raw data and a reallocation based on the determined context and classification. In this embodiment, program 304 dynamically receives data by reallocating or redistributing it to different server computing devices 308, or processing locations. For example, Car 1 has a navigation task, and the navigation task currently has no weather input. The system reads the navigation task and allocates processing to Tower 1. Program 304 then transmits instructions to the navigation task to receive weather input and crowdsourced information about collisions. Program 304 identifies the transmitted instructions, reads the car's speed, current location, and predicted future location, and then redistributes processing of the navigation task (e.g., efficient routing) to take collisions and weather into account to either Tower 2 or a combination of Tower 1, Tower 2, and possibly Tower 3. Escalation conditions can be contextual elements that increase the severity of a classified task. For example, program 304 applies a foundation of data classes, digital twins, and contextual elements to the received data to form a final task that becomes a classified task.
[0058] In step 706, the program 304 assigns weights to the context elements and the classified task details, see Table 1 below. [Table 1]
[0059] In this table, program 304 assigns weights based on the latency, retention, capacity, and criticality of the data. Latency is the time it takes to store or retrieve a data packet. In this embodiment, latency is measured using a linear timeline and can be configured to measure any length of time. For example, in this embodiment, latency may be measured in seconds and minutes. In other embodiments, latency may be measured at a greater or lesser granularity. Round-trip time ("RTT") latency is the time it takes for a data packet to go from the sending endpoint to the receiving endpoint and is measured in seconds, minutes, and hours. Retention is the amount of continuous storage of data for compliance or business reasons and measures the length of time the data is stored. Retention is measured in seconds, minutes, hours, and days. In this embodiment, retention is measured using a linear timeline and can be configured to measure any length of time. For example, in this embodiment, retention may be measured in seconds, minutes, hours, and days. In other embodiments, retention may be measured at a greater or lesser granularity. The volume of data is classified as small, medium, or large, with this classification based on the size of the assigned data packet, located in the byte range from megabytes to terabytes. Small volume is defined as a data packet less than 10 gigabytes ("GB"). In this embodiment, program 304 classifies a data packet as small volume if the data is in an accessible, useful, and readily usable format. Large volume is defined as a data packet greater than 1 terabyte ("TB"). In this embodiment, program 304 classifies a data packet as large volume if the data is a large chunk of unstructured data. In this embodiment, program 304 classifies a data packet as medium volume if the data packet is defined as a data packet that is neither classified as large volume nor small volume. For example, in this table, program 304 detects a data packet and classifies it as a car probe.Next, the program 304 identifies the task associated with the received data packet as detecting the tail end of a traffic jam. Next, the program 304 identifies the values of the contextual elements (e.g., latency, retention, and capacity) of the received data packet of the task by comparing the information received from the determination of the classified task with the analysis of the contextual elements. In step 708, the program 304 synchronizes the classified tasks based on the contextual elements, escalation elements, and overall weighted scores. In this embodiment, in response to the assigned weights of the classified tasks requiring organization, the program 304 synchronizes the classified tasks by selecting a predefined method for coordinating data between the server computing devices 308 and determining a specific map service location to be executed based on the method. This step will be further described in another figure. In this embodiment, the program 304 receives an analysis of the contextual elements associated with the classified task and generates a weighted score based on these elements. The generated weighted score is in the same range and maintains the same category as the overall weighted score. The program 304 then communicates with a server computing device 308 located near the computing device 302 to determine whether an escalation factor exists. An escalation factor is a factor that can modify the severity of the classified task. Examples of escalation factors include highways, accident information, and weather alerts. In this embodiment, the program 304 then calculates a final overall weighted score based on the analysis of the context factors and the determination of the escalation factor. In this embodiment, the predetermined synchronization method is a process that establishes consistency between data from the source to the target data storage and from the target data storage to the source. Examples of predetermined synchronization methods include write-around, write-back, write-local, write-shadow, write-summary, and write-through endpoint. In this embodiment, the program determines a specific map service location based on the severity associated with the task.In this embodiment, program 304 synchronizes data to ensure that categorized tasks with a high severity designation are transmitted before categorized tasks with a low severity based on the associated map region. In another embodiment, program 304 synchronizes categorized tasks by identifying a score associated with at least one portion of the task, identifying a placement of the score on a scale used to determine a rank of multiple portions of the categorized task, and identifying an alternative sequence of the categorized tasks based on the placement of the score.
[0060] FIG. 8 is a flowchart 800 illustrating operational steps for synchronizing categorized tasks with context elements in accordance with at least one embodiment of the present invention.
[0061] In step 802, the program 304 analyzes the classified task. In this embodiment, the program 304 analyzes the classified task to determine an appropriate predefined synchronization method to select. In this embodiment, the program 304 uses a decision algorithm to analyze the details of the classified task and the pre-saved predetermined synchronization methods correlated with the classified task. In this embodiment, the program 304 analyzes the classified task to determine the severity of the task. The program 304 receives an analysis of contextual factors associated with the classified task and generates a general weighted score for the severity of the classified task. The program 304 then communicates with a server computing device 308 located near the computing device to determine whether any escalation factors exist. In response to receiving the analysis of the contextual factors and the determination of the escalation factors, the program 304 calculates a final overall weighted score based on the severity of the classified task. In this embodiment, the program 304 compares the received contextual factors with pre-saved factors associated with the data. This comparison provides details regarding the determination of the severity of the classified task. Next, program 304 examines escalation factors provided via server computing device 308 to identify information that will modify the severity determination of the classified task. For example, program 304 identifies a classified task as a fault detection with an overall weighted score of 3 based on its latency, retention, and capacity size. Next, program 304 receives additional incident information from an MEC server in its area, and this additional information causes program 304 to escalate the severity of the fault detection to 5 because program 304 identified the fault as an incident. In this example, program 304 initially generated a weighted score of 3, which is defined as low severity, but the additional information received from the MEC server escalated the final overall weighted score to 5, which is defined as standard severity. Analysis of the classified task provides additional information that aids program 304 in selecting a synchronization method.For example, program 304 analyzes the details of a task and determines that the task is theft detection and that the pre-saved synchronization method correlated with the classified task is the write-around method.
[0062] In step 804, the program 304 selects a synchronization method. In this embodiment, the program 304 selects a synchronization method based on an analysis of the classified tasks, the allocated map areas, and the contextual elements of the classified tasks. Table 2 is an example of a synchronization method of the program 304. See Table 2 below. [Table 2]
[0063] The write-around method ensures that the cores are fully synchronized with the back-end storage. In this embodiment, the program 304 selects this method to transmit the classified tasks to a server computing device 308 that overlaps with the expanded allocated map area. An example of the program 304 selecting the write-around method is for detecting theft. The write-back method moves data from one server computing device 308 to another server computing device 308. In this embodiment, the program 304 executes this method to store the classified tasks on a local server computing device 308 and asynchronously transfer the classified tasks to one cloud server computing device 308 and another computing device 308. An example of the program 304 selecting the write-back method is for sharing accident information. The write-local method transfers data when the computing device 302 and the server computing device 308 are side-by-side. In this embodiment, the program 304 executes the write-local method to store the classified tasks locally within the server computing device 308. An example of a program 304 selecting a light local method is for volatile information about animals or people on the road. The light shadow method streams data stored on a local server to a regional or cloud server. In this embodiment, the program 304 performs the light shadow method by transmitting data to one cloud server computing device 308 and another server computing device 308 residing on the local server computing device 308. An example of a program 304 selecting a light shadow is for information about the current location of a smart car. The light summary method transmits only structured data. In this embodiment, the program 304 performs the light summary method by transmitting processed data (e.g., statistical information and annotated map information) without transmitting raw data.Examples of program 304 selecting the write summary method include dynamic map updates and fault detection. The write-through endpoint method is a method of copying data by using endpoints. For example, there are connected vehicles in an area within the MEC server computing device 308. Program 304 detects the need to write data by using write-through endpoints and transmits an instruction to the MEC server computing device 308 to issue an operation in which the data is copied to another MEC server computing device and the connected smart car. Program 304 copies the data when the smart car moves to another MEC server computing device, realizing the copying of data from the cloud server computing device 308 to the cloud computing device 308 instead of directly connecting one by one. In this embodiment, program 304 executes the write-through endpoint method by instructing the sender to transmit classified tasks to another server computing device 308. An example of program 304 selecting the write-through endpoint method is point cloud information. For example, in this table, program 304 identifies the task as theft detection and selects the write-around synchronization method. The program 304 then transmits the task to a cloud server computing device 308 or a regional server computing device 308 that overlaps with the expanded area of the allocated map area.
[0064] In step 806, program 304 synchronizes the classified task. Program 304 executes the selected synchronization method. In this embodiment, program 304 executes this method by using a synchronization method determination algorithm to execute the selected synchronization method based on the classified task and the severity of the context element associated with the classified task. In this embodiment, program 304 modifies the severity of the classified task based on the selected synchronization method and modifies the associated severity based on the escalation element, the context element, and the overall weighted score. In this embodiment, program 304 recognizes three severity levels: high, normal, and low. Program 304 modifies the severity associated with the classified task using the synchronization method determination algorithm, which results in the selection of a particular synchronization method. In this embodiment, program 304 transmits instructions to the synchronization method determination algorithm to analyze the context element associated with the classified task. Then, program 304 transmits instructions to the synchronization method determination algorithm to determine whether an escalation element exists for the classified task. Next, program 304 transmits instructions to calculate an overall weighted score for the classified task and determine the severity of the classified task. In this embodiment, program 304 identifies latency, retention, and capacity thresholds for the classified task based on pre-stored context elements associated with the classified task. In one embodiment, program 304 transmits instructions to the synchronization method determination algorithm to identify an escalation element based on data for the context elements meeting or exceeding predetermined thresholds. In another embodiment, program 304 transmits instructions to the synchronization method determination algorithm to identify an escalation element based on information received from server computing device 308. For example, program 304 receives additional information about the classified task from an MEC server located on the road where the smart car is currently located, the additional information being the basis for the escalation element.In this embodiment, program 304 uses a synchronization method determination algorithm to determine a synchronization method based on the severity associated with the classified task. For example, program 304 uses a high-severity synchronization method if the data for the classified task exceeds a latency threshold and identifies an escalation factor. Program 304 also uses a high-severity synchronization method if the data for the classified task does not meet a latency threshold, exceeds a retention threshold, exceeds a capacity threshold, and identifies an escalation factor. In another example, program 304 uses a standard-severity synchronization method if the data for the classified task does not meet a latency threshold, exceeds a retention threshold, and identifies an escalation factor. In another example, program 304 uses a standard-severity synchronization method if the data for the classified task does not meet a latency threshold, does not meet a retention threshold, exceeds a capacity threshold, and identifies an escalation factor. In another example, program 304 uses a low-severity synchronization method if the data for the classified task does not meet a latency threshold, does not meet a retention threshold, does not meet a capacity threshold, and does not identify an escalation factor. In another example, the program 304 uses a low severity synchronization method when the data for a categorized task meets or exceeds at least one threshold but does not identify an escalation factor.
[0065] 9A-9C are examples 900 of application of selected synchronization methods, according to at least one embodiment.
[0066] 9A shows an example of a program 304 that selects a synchronization method based on contextual elements of a classified task. In this example, there are two cars on the road. Specifically, one car is traveling on a highway and the other car is traveling on a local road and is beginning to merge onto the highway. Both cars are heading toward an area where it is raining. There are six MEC servers around a designated area or zone around the road where the cars are driving.
[0067] In this embodiment, computing device 902 communicates with MEC server computing devices 904a-904f. In this embodiment, there is a highway 906 and a low-speed road 908. In this embodiment, program 304 determines that different context elements exist for computing device 902 located on highway 906 than for computing device 902 located on low-speed road 908. In this embodiment, program 304 communicates with MEC server computing devices 904a-904f to identify the presence of an escalation element. In this embodiment, program 304 analyzes the context elements, identifies the presence of an escalation element, determines the severity of the classified task, and calculates an overall weighted score. This determination modifies the synchronization method selected by program 304. See Table 3. [Table 3]
[0068] In this embodiment, program 304 transmits a data packet detailing the classified task to at least one of MEC server computing devices 904a-904f that contains the current location of computing device 902. In this embodiment, program 304 receives input from MEC server computing devices 904a-904f via a decision engine executed by a regional manager that is determined to correlate with the classified task. In this embodiment, program 304 selects a synchronization method based on the classified task, the received input, and contextual factors. For example, program 304 determines that the classified task is a heavy rain notification. Depending on the severity of the heavy rain and the location of the heavy rain, the severity of the classified task escalates, and program 304 modifies the synchronization method selected for the classified task. In this example, program 304 communicates with MEC server computing devices 904a, 904c, 904d, 904e, and 904f located near the smart car to identify heavy rain on highway 906 and escalate the severity of the notification from standard to high severity depending on the severity of the rain and the location of the heavy rain on highway 906. Program 304 then selects a write-back synchronization method to synchronize the classified tasks based on their severity. In this example, program 304 communicates with MEC server computing devices 904a and 904b to select a synchronization method that corresponds to the severity of computing device 902 located on low-speed road 908. This example will be described in more detail in FIG. 9B.
[0069] 9B shows an example of a program 304 that selects a synchronization method based on contextual factors for a classified task. In this example, there are two cars on the road. Specifically, one car is traveling on a highway and another car is traveling on a local road and is beginning to merge onto the highway. Both cars are heading toward an area where it is raining. There are six MEC servers around a designated area or zone around the road where the cars are driving.
[0070] In this example, program 304 communicates with MEC server computing devices 904a and 904b located on a low-speed road 908. In this example, program 304 locates computing device 902 on the low-speed road 908 and receives notifications of escalation factors (e.g., heavy rain) from MEC server computing devices 904a and 904b. In this example, program 304 classifies the task, analyzes contextual factors associated with the classified task, and calculates an overall weighted score based on the presence of the escalated factor, the analysis of the contextual factors, and the selected synchronization method. For example, program 304 locates a smart car on low-speed road 908 that maintains traffic flow below 60 km / h. In this example, program 304 determines that the severity of the classified task is standard severity and selects the light-shadow synchronization method based on the analysis of the contextual factors and escalation factors received from MEC server computing devices 904a and 904b. In another example, the program 304 selects a low-severity synchronization method in response to no roads linking the MEC server computing devices 904a-904f, as will be further described in another example.
[0071] FIG. 9C shows an example of program 304 selecting a synchronization method based on contextual elements for a classified task. In FIG. 9C, the same scenario exists. In this example, program 304 communicates with MEC server computing devices 904a and 904d to identify escalation elements present in areas located near each of MEC server computing devices 904a-904f. In this example, program 304 determines that neither highway 906 nor low-speed road 908 connects the area between MEC server computing devices 904a and 904d. In this example, program 304 locates computing device 902 and receives notification of an escalation element (e.g., heavy rain) from MEC server computing device 904a. In this example, program 304 classifies the task, analyzes contextual elements associated with the classified task, and calculates an overall weighted score based on the presence of escalation elements, the analysis of the contextual elements, and the selected synchronization method. For example, the program 304 determines that there is no road linking the MEC server computing devices 904a and 904d. In this example, in response to determining that there is no road linking the MEC server computing devices 904a and 904d, the program 304 determines the severity of the classified task as low severity and selects a light local synchronization method based on an analysis of the context and escalation elements received from the MEC server computing devices 904a and 904d.
[0072] 10 is an exemplary diagram 1000 illustrating a cloud-determined mapping service environment according to one embodiment of the present invention. In this embodiment, the program 304 orchestrates the dispatching of tasks to a map service based on the location of the computing device 302 and the classified tasks. In this embodiment, the program 304 transmits instructions from the computing device 1006 to the cloud map service 1002 and the local map service 1004.
[0073] In step 1001, a region manager identifies the region in which a computing device 1006 is located. In this embodiment, the program 304 transmits instructions to a region manager 1008 located in the cloud map service 1002 to identify the region by communicating with a local region manager 1010 located in the local map service 1004. In this embodiment, the program 304 transmits the location of the computing device 1006 to the region manager 1008.
[0074] In step 1003, the local region manager 1010 updates the map stored in the map database 1012 located in the local map service 1004. In this embodiment, the program 304 transmits instructions to the local region manager 1010 to dynamically update the map database 1012 in response to receiving an identification of a region from the region manager 1008.
[0075] In step 1005, the local region manager 1010 transmits the updated region information to the region manager 1008. In this embodiment, in response to the local region manager 1010 updating the map database 1012, the program 304 transmits an instruction to the region manager 1008 to receive the updated region information from the local region manager 1010.
[0076] In step 1007, the region manager 1008 located within the cloud map service 1002 notifies the other region managers 1014. In this embodiment, in response to the region manager 1008 receiving the updated region information, the program 304 transmits instructions to the region manager to transmit a notification to the local map service 1004 and other local region managers 1014 located outside the cloud map service 1002. In this embodiment, the program 304 transmits instructions to the region manager 1008 to transmit a notification including that the region service will be changed based on the location of the computing device 1006 and the updated map information.
[0077] In step 1009, the computing device 1006 sends the data to the edge twin 1016 located in the local map service 1004. In this embodiment, the program 304 transmits instructions to the computing device 1006 to send the data to the edge twin 1016 located in the local map service 1004.
[0078] In step 1011, the edge twin 1016 receives the twin data. In this embodiment, in response to receiving the data from the computing device 1006, the program 304 transmits instructions to the edge twin 1016 located in the local map service 1004 to receive the twin data from the digital twin database 1018.
[0079] In step 1013, the edge twin 1016 retrieves regional map information. In this embodiment, in response to receiving the twin data from the digital twin database 1018, the program 304 transmits instructions to the edge twin 1016 to retrieve regional map information from the map database 1012 located in the local map service 1004.
[0080] In step 1015, the edge twin 1016 updates the twin data. In this embodiment, in response to retrieving the regional map information, the program 304 transmits instructions to the edge twin 1016 to update the twin data located in the digital twin database 1018 based on the data received from the computing device 1006 and the regional map information retrieved from the map database 1012.
[0081] In step 1017, the edge twin 1016 determines a delegated methodology. In this embodiment, in response to receiving data from the computing device 1006, retrieving regional map information from the map database 1012, and updating the twin data in the digital twin database 1028, the program 304 transmits instructions to the edge twin 1016 to determine a delegated methodology for the received data. In this embodiment, the program 304 determines a delegated methodology for the received data by forwarding the received data to the local dispatch service 1020.
[0082] In step 1019, the local dispatch service 1020 identifies the task class. In this embodiment, in response to determining the delegated method for the received data, the program 304 transmits an instruction to the local dispatch service 1020 to identify the task class based on the data received from the edge twin 1016 and the determination of the delegated method for the received data.
[0083] In step 1021, the local dispatch service 1020 retrieves the definition of the task class. In this embodiment, in response to identifying the task class, the program 304 transmits instructions to the local dispatch service 1020 to retrieve further task definitions and parameters from a task class database 1024. In this embodiment, the task class database 1024 is located within the local map service 1004 and stores definitions and parameters for known task classes.
[0084] In step 1023, the local dispatch service 1020 determines the severity using the escalated condition. In this embodiment, in response to retrieving the definition of the task class, the program 304 transmits an instruction to the local dispatch service 1020 to cause the local context service 1026 to determine the severity of the received data by applying the escalated condition. In this embodiment, the escalated condition is a condition that escalates the severity associated with the task class and the received data.
[0085] In step 1025, the local context service 1026 retrieves the current context. In this embodiment, in response to determining the severity using the escalated condition, the program 304 transmits an instruction to the local context service 1026 to retrieve the current context from a context database 1028 located within the local map service 1004. The current context provides details about the particular condition that escalated the severity of the task class and the severity of the received data.
[0086] In step 1027, the local context service 1026 returns a severity determination. In this embodiment, in response to the local context service 1026 retrieving the current context from the context database 1028, the program 304 transmits an instruction to the local context service 1026 to return a severity determination of the task class and received information to the local dispatch service 1020.
[0087] In step 2029, the local dispatch service 1020 dispatches the task. In this embodiment, in response to the local context service 1026 returning the severity determination to the local dispatch service 1020, the program 304 transmits instructions to the local dispatch service 1020 to dispatch the task to another map service if certain conditions are met. In another embodiment, the program 304 transmits instructions to the local dispatch service 1020 to process the task class and the received information on the local processor 1022 if certain conditions are met.
[0088] 11 illustrates a block diagram of components of a computing system within the computing environment 1100 of FIG. 3 in accordance with one embodiment of the present invention. It should be understood that FIG. 11 is intended to be illustrative of only one implementation and is not intended to suggest any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0089] The programs described herein are identified based on the applications for which they are implemented in particular embodiments of the invention. However, it should be understood that any particular program names herein are used for convenience only, and that the invention should not therefore be limited to use with any particular application identified or suggested by such names.
[0090] The computer display environment 1100 includes a communications fabric 1102 that provides communications between a cache 1116, memory 1106, persistent storage 1108, a communications unit 1110, and an input / output (I / O) interface 1112. The communications fabric 1102 may be implemented with any architecture designed to pass data and / or control information between processors (e.g., microprocessors, communications processors, network processors, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communications fabric 1102 may be implemented with one or more buses or a crossbar switch.
[0091] Memory 1106 and persistent storage 1108 are computer-readable storage media. In this embodiment, memory 1106 includes random access memory (RAM). In general, memory 1106 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 1116 is a high-speed memory that enhances the performance of computer processor 1104 by holding recently accessed data and data near the accessed data from memory 1106.
[0092] The programs 304 may be stored in persistent storage 1108 and memory 1106 for execution by one or more of the respective computer processors 1104 via cache 1116. In one embodiment, persistent storage 1108 includes a magnetic hard disk drive. Instead of, or in addition to, a magnetic hard disk drive, persistent storage 1108 may include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0093] The media used by persistent storage 1108 may be removable. For example, a removable hard drive may be used for persistent storage 1108. Other examples include optical and magnetic disks, thumb drives, and smart cards, which are inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage 1108.
[0094] In these examples, communications unit 1110 provides for communication with other data processing systems or devices. In these examples, communications unit 1110 includes one or more network interface cards. Communications unit 1110 may provide communications using either or both physical and wireless communications links. Program 304 may be downloaded to persistent storage 1108 via communications unit 1110.
[0095] The I / O interface 1112 allows for the input and output of data with other devices that may be connected to the mobile device, authorization device, or server computing device 308, or a combination thereof. For example, the I / O interface 1112 may provide a connection to external devices 1118, such as a keyboard, keypad, touchscreen, or some other suitable input device, or a combination thereof. The external devices 1118 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, such as the program 304, may be stored on such portable computer-readable storage media and loaded into the persistent storage 1108 via the I / O interface 1112. The I / O interface 1112 also connects to a display 1120.
[0096] Display 1120 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0097] The present invention may be a system, a method, or a computer program product, or a combination thereof. The computer program product may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.
[0098] A computer-readable storage medium may be any tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or ridge structures in grooves that record instructions, and any suitable combination of the foregoing. Computer-readable storage medium, as used herein, should not be construed as being itself a transitory signal such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through a wire.
[0099] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.
[0100] Computer-readable program instructions for carrying out operations of the present invention may be either source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk® or C++, and conventional procedural programming languages such as the “C” programming language or similar. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., over the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.
[0101] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0102] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions, which can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, may be stored on a computer-readable storage medium, such that the computer-readable storage medium having the instructions stored thereon comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0103] The computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0104] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by special-purpose hardware-based systems that perform the specified functions or operations or execute a combination of special-purpose hardware and computer instructions.
[0105] While the description of various embodiments of the present invention has been presented for illustrative purposes, the description is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. The terms used herein were selected to best explain the principles of the embodiments, practical applications, or technical improvements over technology found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. In response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; identifying an area in a map in which the computing device is located and allocating the classified tasks to processing locations within the identified area in the map; In response to a change associated with the task, dynamically calculating an alternative processing location within a radius surrounding the location of the computing device in the map for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; 1. A computer-implemented method comprising:
2. The step of dynamically calculating an alternative processing location comprises: identifying a score associated with at least one portion of the task; identifying a placement of said score on a scale used to determine an alternative treatment location; identifying alternative processing locations based on said arrangement of said scores; The computer-implemented method of claim 1 , further comprising selecting at least one processing location by:
3. In response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; Equipped with Dynamically calculating alternative processing locations includes assigning weights to individual features of the tasks, including changes associated with the classified tasks, based on contextual factors. Computer-implemented methods.
4. A method of computing a task, comprising: in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; Equipped with Dynamically calculating alternative processing locations includes assigning weights to task features based on the calculated scores and severity of the classified tasks. Computer-implemented methods.
5. A method for implementing a task-based method of executing a task-based execution program, comprising: in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; Equipped with Dynamically calculating an alternative processing location includes aggregating the calculated scores of the tasks to determine a quantified placement of the tasks on the generated scale. Computer-implemented methods.
6. A method for implementing a task-based method of executing a task-based execution program, comprising: in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; Equipped with Dynamically calculating an alternative processing location includes synchronizing the calculated score by transmitting a portion of the task currently being processed at a location outside a predefined area of the computing device to an alternative processing location located within the predefined area of the computing device. Computer-implemented methods.
7. 7. The computer-implemented method of claim 1, wherein dynamically calculating alternative processing locations comprises dispatching tasks to a multi-access edge computing server that transmits data using radio tower signals.
8. A method for implementing a task-based method of executing a task-based execution program, comprising: in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; redistributing at least a portion of the classified tasks according to an alternative processing location among the dynamically calculated alternative processing locations; Equipped with Dynamically calculating an alternative processing location includes dispatching the classified task based on a total weighted score calculated using a user-defined range. Computer-implemented methods.
9. 1. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for identifying an area in a map in which the computing device is located and allocating the classified tasks to processing locations within the identified area in the map; program instructions that, in response to a change associated with the task, dynamically calculate alternative processing locations within a radius surrounding the location of the computing device in the map for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; having Computer program.
10. The program instructions for dynamically calculating the alternative processing locations include causing the computer to: program instructions for identifying a score associated with at least one portion of the task; program instructions for identifying placement of said score on a scale used to determine alternative treatment locations; program instructions for identifying alternative processing locations based on said arrangement of said scores; 10. The computer program product of claim 9, comprising program instructions for causing at least one processing location to be selected by:
11. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions that, in response to a change associated with the task, dynamically calculate alternative processing locations within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for causing the computer to assign weights to individual characteristics of the tasks, including changes associated with the classified tasks, based on contextual factors. Computer program.
12. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions that, in response to a change associated with the task, cause dynamic calculation of alternative processing locations within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for causing the computer to assign weights to task characteristics based on the calculated scores and severity of the classified tasks. Computer program.
13. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions that, in response to a change associated with the task, cause dynamic calculation of alternative processing locations within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for causing the computer to aggregate the calculated scores of the tasks to determine a quantified placement of the tasks on a generated scale. Computer program.
14. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions that, in response to a change associated with the task, dynamically calculate alternative processing locations within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing location include program instructions for causing the computer to synchronize the calculated score by transmitting a portion of the task currently being processed at a location outside a predefined area of the computing device to an alternative processing location located within the predefined area of the computing device. Computer program.
15. 15. The computer program product of claim 9, wherein the program instructions for dynamically calculating the alternative processing locations comprise program instructions that cause the computer to dispatch tasks to a multi-access edge computing server that transmits data using radio tower signals.
16. A computer program comprising program instructions, The program instructions, when executed by a computer, cause the computer to: program instructions that, in response to receiving a data packet from a computing device, cause the data packet to be classified as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions that, in response to a change associated with the task, dynamically calculate alternative processing locations within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for the computer to dispatch the classified tasks based on an overall weighted score calculated using a user-defined range. Computer program.
17. one or more computer processors; one or more computer-readable storage media; program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors; A computer system comprising: The program instructions include: program instructions for, in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; program instructions for identifying an area in a map in which the computing device is located and allocating the classified tasks to processing locations within the identified area in the map; program instructions for dynamically calculating, in response to a change associated with the task, an alternative processing location within a radius surrounding the location of the computing device in the map for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; having Computer system.
18. The program instructions for dynamically calculating the alternative processing location include: program instructions for identifying a score associated with at least one portion of the task; program instructions for identifying placement of said score on a scale used to determine an alternative treatment location; program instructions for identifying alternative processing locations based on said arrangement of said scores; 20. The computer system of claim 17, comprising program instructions for selecting at least one processing location by:
19. One or more computer processors; one or more computer-readable storage media; program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors; A computer system comprising: The program instructions include: program instructions for, in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions for, in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for assigning weights to individual characteristics of the tasks, including changes associated with the classified tasks, based on contextual factors. Computer system.
20. One or more computer processors; one or more computer-readable storage media; program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors; A computer system comprising: The program instructions include: program instructions for, in response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; program instructions for allocating the classified tasks to processing locations within a data domain based on the location of the computing device; program instructions for, in response to a change associated with the task, dynamically calculating an alternative processing location within a radius of the data region for processing one or more portions of the task based on a score value associated with the change; program instructions for redistributing at least a portion of the classified tasks according to an alternative processing location among dynamically calculated alternative processing locations; and The program instructions for dynamically calculating the alternative processing locations include program instructions for assigning weights to task features based on the calculated scores and severity of the classified tasks. Computer system.
21. In response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; modifying portions of the task to include further processing instructions using alternative mapping regions and processing locations respectively associated with the portions in response to receiving feedback from the processing locations; 1. A computer-implemented method comprising:
22. 22. The computer-implemented method of claim 21, wherein altering portions of the task comprises modifying the task to avoid an object.
23. In response to receiving a data packet from a computing device, classifying the data packet as a task having one or more parts; allocating the classified tasks to processing locations within a data domain based on the location of the computing device; optimizing one or more portions of the classified task in response to a change in position based on a radius of the data region and a score value associated with the change; redistributing at least one portion of the classified tasks according to the optimization of one or more portions of the tasks; 1. A computer-implemented method comprising:
24. optimizing one or more portions of the classified tasks includes: identifying a score associated with at least one portion of the task; identifying placement of said scores on a scale used to determine a rank of a plurality of portions of said classified task; identifying alternative sequences of the classified tasks based on the arrangement of the scores; 24. The computer-implemented method of claim 23, comprising:
25. 25. The computer-implemented method of claim 23, wherein optimizing one or more portions of the classified task comprises optimizing a calculated score by transmitting a portion of the classified task currently being processed at a location outside a predefined area of the computing device to an alternative processing location located within the predefined area of the computing device.
Citation Information
Patent Citations
Base station system and node device
JP2019153955A