Detailed Description
Specific embodiments of the disclosure will be further described below with reference to the accompanying drawings.
Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments of the present disclosure are described as an apparatus represented by a block diagram and a process or method represented by a flow chart. Although a flowchart depicts the operational procedure of embodiments of the present disclosure as a sequential process, many of the operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations may be rearranged. The process of embodiments of the present disclosure may be terminated when its operations are performed, but may also include additional steps not shown in the flow diagrams. The processes of the embodiments of the present disclosure may correspond to a method, a function, a procedure, a subroutine, etc.
The methods illustrated by the flowcharts and the apparatus illustrated by the block diagrams discussed below may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a storage medium. The processor(s) may perform the necessary tasks.
Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, and the like represent various processes which may be substantially described as program code stored in a computer readable medium and so executed by a computer device or processor, whether or not such computer device or processor is explicitly shown.
The term "storage medium" as used herein may represent one or more devices for storing data, including read-only memory (ROM), random-access memory (RAM), magnetic RAM, kernel memory, magnetic disk storage media, optical storage media, flash memory devices, and/or other machine-readable media for storing information. The term "computer-readable medium" can include, without being limited to, portable or fixed storage devices, optical storage devices, and various other mediums capable of storing and/or containing instructions and/or data.
A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program descriptions. One code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, information passing, token passing, network transmission, etc.
In this context, the term "computer device" refers to an electronic device capable of executing a predetermined process such as numerical computation and/or logic computation by executing a predetermined program or instruction, and may include at least a processor and a memory, where the execution of the predetermined process by the processor executes the program instruction pre-stored in the memory, or the execution of the predetermined process by hardware such as ASIC, FPGA, DSP, or a combination of both.
The "computer device" described above is typically embodied in the form of a general-purpose computer device, the components of which may include, but are not limited to, one or more processors or processing units, system memory. The system memory may include computer-readable media in the form of volatile memory, such as Random Access Memory (RAM) and/or cache memory. The "computer device" may further include other removable/non-removable, volatile/nonvolatile computer-readable storage media. The memory may include at least one computer program product having a set (e.g., at least one) of program modules configured to perform the functions and/or methods of the various embodiments of the present disclosure. The processor executes various functional applications and data processing by running programs stored in the memory.
For example, a memory stores a computer program for performing the functions and processes of the various embodiments of the present disclosure, which are implemented when a processor executes the corresponding computer program.
Typically, the computer device may be, for example, a user device or a network device, or even a collection of both. The user equipment comprises a Personal Computer (PC), a notebook computer, a mobile terminal and the like, wherein the mobile terminal comprises a smart phone, a tablet computer and the like, the network equipment comprises a single network server, a server group formed by a plurality of network servers or Cloud based on Cloud Computing (Cloud Computing), and the Cloud Computing is one of distributed Computing and is an super virtual computer formed by a group of loosely coupled computer sets. Wherein the computer devices may operate alone to implement embodiments of the present disclosure, may also access a network and implement embodiments of the present disclosure through interaction with other computer devices in the network. Wherein the network where the computer device is located includes, but is not limited to, the internet, a wide area network, a metropolitan area network, a local area network, a VPN network, and the like.
It should be noted that the user device, the network, etc. are only examples, and other existing or future computing devices or networks may be suitable for the embodiments of the present disclosure, and are also included in the scope of the present disclosure and incorporated herein by reference.
Specific structural and functional details disclosed herein are merely representative and are for purposes of describing example embodiments of the present disclosure. The embodiments of the present disclosure may be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
It will be understood that, although the terms "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that, in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or the figures may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Embodiments of the present disclosure provide a gridded low-altitude spatial stereoscopic representation scheme having the following characteristics:
gridding airspace modeling:
Based on Fuxi diagram standardization system and earth subdivision theory, using multidimensional space-time grid segmentation algorithm to divide the low-altitude three-dimensional airspace according to specific standard to form basic grid data structure.
Data integration and processing:
multisource data such as a digital surface model, a digital elevation model, a 4G/5G signal, a flight adapting area, a management and control area, a flight exclusion area, a residential area, meteorological data and the like are accessed through corresponding interfaces, and are processed by adopting a data fusion algorithm.
Heterogeneous data standardization, namely mapping different data types such as signal strength, geographic position, meteorological information and the like into a unified airspace grid model.
Real-time dynamic update and local update:
the intelligent algorithm is used for monitoring the change of the airspace in real time, such as weather conditions and aircraft activities, and when the airspace grid is locally changed, the corresponding part of the airspace map can be updated rapidly.
And a local correction mechanism updated according to the need is supported, and the timeliness of the airspace map is ensured.
Generating and visually releasing a thematic airspace map:
Providing various built-in grid processing models, and creating a multi-dimensional thematic airspace map, such as a pad airspace map, a signal airspace map, a weather airspace map and the like.
The visualization platform is used for displaying the real-time update condition of the airspace map, and a user can generate and release a customized airspace map according to the needs.
Application support and presentation:
And carrying out multi-mode display according to the attribute values of the airspace grids, for example, distinguishing different types of airspace information such as signal strength, no-fly zones and the like through colors, textures and the like.
The generated airspace map provides powerful data support for low-altitude navigation, route planning, airspace planning and management and control systems, and can optimize flight planning, collision detection, navigation paths and airspace management.
Referring to fig. 1, a gridded low-altitude spatial domain stereoscopic representation flow is shown according to one embodiment of the present disclosure.
Referring to fig. 1, in step S1, the computer device obtains a set of grid cells corresponding to a target airspace based on three-dimensional gridding modeling, wherein each grid cell includes a set of attribute data including at least one item of flight related information, and in step S2, the computer device generates a target airspace map of the target airspace according to one or more attributes corresponding to the target airspace map and corresponding attribute data of each grid cell of the target airspace.
Herein, "computer device" generally refers to various types of computing resources, such as cloud computing platforms, server clusters, virtualized environments, and the like. These computer devices are often functionally referred to as "management platforms/systems", and may be used equally herein unless otherwise indicated. These computer devices may be configured to implement the functions required by the embodiments of the present disclosure, including in particular, but not limited to, data storage, processing, analysis, and application deployment. Through flexible configuration and optimization, the computer devices can support high-performance calculation, real-time data processing, data security assurance and system expandability so as to meet the actual requirements of the technical scheme of the present disclosure.
Specifically, in step S1, the computer device obtains a set of grid cells corresponding to the target airspace based on three-dimensional gridding modeling, wherein each grid cell includes a set of attribute data including at least one item of flight-related information.
The spatial grid unit is a basic unit divided according to a specific standard in the spatial domain, and is generally three-dimensional, and includes a horizontal plane (XY plane) and a vertical height (Z axis). This can cover different levels of altitude and geographic locations of the airspace. The size and shape of the grid cells may be defined as desired, typically as cubes or cuboids, to facilitate coverage of the entire airspace.
In some embodiments, the target airspace, i.e., the geospatial range in which the airspace map needs to be generated, may be determined first, and then the target airspace is divided into a plurality of three-dimensional airspace grid cells.
Specifically, the geographic extent of the target airspace is first determined. This may be based on specific requirements, such as urban low-altitude airspace, airport airspace, or offshore airspace, etc., to determine the spatial range. The target airspace is typically represented by latitude and longitude boundaries or specific polygonal regions defining its horizontal and vertical spatial extent (XY plane and Z-axis height).
Suitable meshing parameters, such as the horizontal resolution (XY plane) and the vertical resolution (Z-axis hierarchy) of the grid cells, are selected according to the size and fineness requirements of the target airspace. The grid cell size determines the division accuracy of the airspace and may be a specific interval of 1 km, 100 meters, etc.
And carrying out space grid division on the target airspace, dividing geographic positions on an XY plane according to the set grid resolution, and dividing a height level on a Z axis. The grid division mode can adopt various three-dimensional grid division algorithms, such as GeoSOT three-dimensional grids, earth subdivision theory, beidou grid position coding or multidimensional space-time grid division algorithm.
Grid cells of the target airspace are generated according to the division result, wherein each grid cell represents a three-dimensional cube in the airspace and comprises a specific geographic position and an altitude range. Each grid cell will be a container for flight related attributes such as signals, weather, flight conditions, etc. That is, each grid cell is characterized by three-dimensional position information, and may also be associated with a set of attribute data, including flight-related information.
In some embodiments, the global low-altitude airspace is first three-dimensionally gridded to obtain a three-dimensional airspace grid cell of the global low-altitude airspace. Next, for the target airspace for which an airspace map needs to be generated, three-dimensional airspace grid cells corresponding to the target airspace are extracted from the global airspace grid cells.
Specifically, first, pre-meshing modeling is performed on the whole global low-altitude airspace. The global low-altitude airspace can be divided according to a unified standard, and the global three-dimensional grid segmentation algorithm, such as GeoSOT three-dimensional grid, earth subdivision theory and Beidou grid position code, is adopted to divide the earth surface into a plurality of three-dimensional grid units. Each grid cell represents a particular latitude and longitude and altitude range.
In order to meet the fine requirements of different airspaces in the global scope, the global grid resolution is set. The global grid may be provided in a larger unit, such as a grid unit of 1 km x 100 meters, covering a space from the ground to a specified low altitude, depending on the use.
Based on the set resolution and the global latitude and longitude range, a global three-dimensional grid structure is generated. In this process, all grid cells are pre-created and stored, providing the underlying grid data for future airspace planning and management.
And searching and extracting the corresponding part in the global grid according to the specific target airspace range. And searching a grid cell set matched with the target airspace by searching longitude and latitude boundaries and a height range of the target airspace. These grid cells are the gridded representation of the target airspace.
After meshing the target airspace, a grid cell frame of the target area can be obtained, and after performing attribute assignment on each grid cell, a grid cell set of the target area can be obtained.
Here, each grid cell may include a set of attribute data, and may specifically include at least one item of flight-related information, such as terrain information, communication signal strength information, regional regulatory information, weather information.
In some embodiments, respective flight-related data is acquired from a plurality of data sources, respectively, and each flight-related data is associated with a corresponding grid cell to obtain flight-related information for each grid cell.
Flight-related data may be acquired from a plurality of different data sources, respectively. The method specifically comprises the following steps:
And the topographic feature data is obtained through resources such as a Digital Surface Model (DSM) and a Digital Elevation Model (DEM), and the like, and the topographic features in the space domain, such as mountains, buildings, rivers and the like are captured. This data is particularly important for low-altitude flights, as unmanned aerial vehicles need to avoid terrain obstacles.
And the communication signal intensity data is obtained from signal providers such as 4G/5G communication operators, beidou navigation system and the like, and reflects the wireless signal coverage condition in the air space, so that the unmanned aerial vehicle is ensured to always maintain a good communication state in the flight process.
And the regional control information is control information of a specific airspace obtained from an airspace management department and is used for indicating information such as a restricted flight zone, a suitable flight zone, a temporary control zone and the like. Such data is typically associated with policy regulations and dynamically adjusted.
Weather data, namely acquiring real-time weather conditions and predicted data from a weather department, including wind speed, wind direction, temperature, precipitation and the like, wherein the factors directly influence the flight safety of the unmanned aerial vehicle.
After the flight related data are acquired, various data are converted into a format suitable for grid processing, such as CSV, geoJSON, netCDF, so that the flight related data can be more conveniently docked with a space domain grid model. Each flight-related dataset contains location information to determine its geographic location range in the grid.
The multi-source data is associated with the divided airspace grid cells so that each grid cell obtains corresponding flight-related information. Each collected source data is converted into attribute data applicable to the grid cell. Corresponding flight-related information is assigned to each grid cell to effect mapping of flight-related data from the data sources into each grid cell while converting the flight-related data into a data format suitable for grid processing, such as CSV, geoJSON, netCDF.
An example of the attribute map of the flight-related information is as follows:
And (3) land feature terrain information, namely recording whether land feature barriers such as buildings, trees and the like exist or not and land feature information such as elevation, gradient, slope direction and the like contained in each grid unit.
4G/5G signal intensity, each grid unit records the communication signal intensity value of the area where the grid unit is located.
And the no-fly zone mark is used for marking which grid cells are in the no-fly zone range by matching the no-fly zone boundary with the grid cells.
Weather information, namely, weather data such as wind speed, temperature, rainfall and the like in the area are stored for each grid unit.
In one example, the computer device performs a stereoscopic meshing of the specified airspace based on the earth subdivision theory, following a Fuxi diagram specification system.
First, a designated airspace range is determined according to task requirements. This may be a particular geographic area, such as a low altitude flight area or a designated airspace above a city.
The airspace range may include a horizontal range (latitude and longitude coordinates) and a vertical height (Z-axis) range, forming a three-dimensional volumetric region.
Using the theory of earth subdivision, the geospatial space is divided into regular grid cells according to a certain rule. The process uses geometric subdivision technology, such as regular shapes of hexagons, quadrilaterals and the like, to divide two-dimensionally or three-dimensionally according to a global longitude and latitude coordinate system.
The earth subdivision theory ensures the accuracy and consistency of grid division, and is particularly suitable for processing large-scale space division on the spherical surface of the earth.
After the two-dimensional plane division is completed, combining the vertical height (Z axis) information of the airspace, layering each two-dimensional grid unit along the height direction, and generating a three-dimensional grid structure.
Each layer represents a different altitude interval, ensuring that the airspace grid is able to describe the dynamic activity of the aircraft at different altitudes.
According to the standard system of Fuxi diagram, combining with the traditional multidimensional space thought, introducing multidimensional airspace attribute in the grid cell. Each grid cell may contain dynamic flight related attributes such as time, weather, flight restrictions (e.g., no-fly zones), in addition to location (XYZ axes) information.
The specification ensures that the airspace management system can not only process static airspace information, but also flexibly process dynamic attributes which change with time, such as weather, flight tasks and the like.
And combining the airspace subdivision result with a Fuxi diagram standardization system to generate a complete three-dimensional grid data structure. Each grid cell contains not only the spatial geometry location, but also relevant attribute values such as current weather, communication signals, flight restrictions, etc.
This data structure may be dynamically updated so that the air-space state is reflected in the grid system in real-time.
Three-dimensional meshing algorithms that may be employed include:
GeoSOT three-dimensional meshing, namely, based on GeoSOT (Geographic Space Organization Theory) theory, performing multi-level subdivision on the earth space by equally spacing division on the space and using binary digits. GeoSOT supports both planar geographic location division and height dimension (Z axis) subdivision, and is suitable for three-dimensional airspace division.
The Beidou grid position coding is used for providing accurate three-dimensional geographic position identification by dividing the earth surface into a plurality of three-dimensional grids and distributing unique codes for each grid. The system supports efficient region division and position management by utilizing the data of the Beidou satellite system, and is widely applied to the fields of aviation, unmanned aerial vehicles, map making and the like.
Earth subdivision theory (Geodesic Gridding) the division of space is achieved by subdividing the sphere surface into regular geometric shapes (e.g., hexagons, pentagons). Common subdivision schemes include projecting spheres onto a regular dodecahedron or a regular icosahedron, creating polygonal mesh cells of equal area.
The multidimensional space-time meshing algorithm is characterized by introducing a time dimension, carrying out three-dimensional (XYZ axis) +four-dimensional division of time (T axis) on a space, and allowing meshing description on dynamic changes of a airspace at different moments. The space-time meshing is suitable for processing real-time data and dynamic environment changes.
In step S2, the computer device generates a target airspace map of the target airspace according to the one or more attributes corresponding to the target airspace map and corresponding attribute data of each grid cell of the target airspace.
The attribute data of the grid cell includes, for example, terrain information, communication signal strength information, area control information, and weather information.
Each attribute data of the grid cell may generate a corresponding layer. For example:
And the topographic map layer is used for generating a map layer for displaying topographic relief and barrier distribution in the airspace according to the topographic relief information in the grid cells. This can help unmanned aerial vehicle planning avoid the flight route of complicated topography or building, is particularly useful for the topography complicacy area such as mountain area, city.
The ground surface coverage map layer displays coverage types (such as forests, farmlands, lakes and the like) of different ground surfaces in the space, helps unmanned aerial vehicles to make planning such as flight altitude, route optimization and the like according to underlying surface information, and is particularly suitable for application scenes such as agriculture and forestry management, environment monitoring and the like.
And generating a layer for displaying the coverage condition of the communication network such as 4G/5G based on the communication signal intensity information. The layer can help the unmanned aerial vehicle to know the communication signal quality of the flight area, and ensure that the signal is continuously stable in the middle of flight.
And the no-fly zone layer is used for generating an airspace layer for identifying the no-fly zone range according to the regional control information. The layer is used for displaying a flight area limited by law or regulation, so that the unmanned aerial vehicle is prevented from entering a no-fly area or a controlled airspace, and the flight compliance and safety are ensured.
And the weather image layer is used for generating a dynamically updated image layer based on meteorological data and displaying real-time weather conditions such as wind speed, wind direction, temperature, rainfall and the like. This layer may help the unmanned operator predict flight risk, for example to avoid taking off in severe weather conditions, or to adjust the flight plan to cope with wind speed variations.
Temporary airspace control layer, which is to update temporary airspace control areas (such as large-scale activities, emergencies and the like) in real time and mark the currently limited flight area so as to ensure that the unmanned aerial vehicle avoids the control area in emergency.
And superposing all the layers to generate a complete airspace map of the target airspace, thereby displaying multidimensional attribute data in the target airspace.
In some embodiments, a target airspace map of the target airspace is generated from the one or more attributes required by the target airspace map according to the corresponding attribute data of the grid cells of the target airspace. Thus, various thematic airspace maps, such as an underlying airspace map, a signal airspace map, a weather airspace map, a flight plan airspace map, and a no-fly zone airspace map, can be generated. Global airspace map, national airspace map of various levels of administrative regions, which may be a complete airspace map in the airspace, including all attribute map layers, may also be generated. Even more, custom airspace maps may be created in a particular business scenario, e.g., a user may select a set of airspace/grid cells and select attributes corresponding to a target airspace map.
In one example, the underlying airspace map is focused primarily on terrain and ground attributes, including elevation, slope direction, and the like. And generating an underlying airspace map of the target airspace according to the terrain and ground object attribute data of each grid unit of the target airspace.
In one example, the attributes required for the flight plan airspace map include course, take-off and landing points, no-fly zones, and the like. And determining a grid cell set of the target airspace according to the route and the take-off and landing points, and generating a flight plan airspace map according to the regional control information of each grid cell.
In one example, the airspace map may be customized according to the needs of the user. For example, the user selects a plurality of grid cells, the collection of which forms the target airspace, and the user also selects a desired attribute classification, such as a terrain attribute and a weather attribute, whereby a corresponding map layer may be generated from the corresponding attribute data of the user-selected grid cells, thereby generating a target airspace map.
In particular, a user may select a particular grid cell, which may be based on geographic scope, flight demand, or other custom criteria, through an interactive interface or other means. For example, the user may select all grid cells of an area, or select key grid cells according to a flight path, which constitute a user-defined target airspace.
After selecting the target airspace, the user may further select the attribute categories of interest to them. For example, the user may choose to view terrain features (e.g., elevation, grade, obstacle distribution, etc.) or weather properties (e.g., wind speed, temperature, precipitation, etc.). The system provides a plurality of attribute classification options, and a user can perform free combination selection according to specific application scenes.
Based on the grid cells selected by the user, the system automatically extracts attribute data associated with those grid cells from the database. The attribute data for each grid cell may include a variety of classifications, such as terrain and ground information, weather information, communication signal strength, no-fly zone information, and the like. The system only extracts the required attribute data according to the attribute classification selected by the user, and redundant display of irrelevant data is avoided.
Based on the attribute data selected by the user, the system generates a corresponding layer for the target airspace. For example:
if the user selects the terrain feature, the system will generate a map layer showing the terrain height, obstacle distribution.
If the user selects the weather attribute, the system will generate an weather map layer containing data for wind speed, temperature, precipitation, etc.
The user may also select multiple attribute classifications at the same time, and the system may generate an independent layer for each classification.
The system generates a target airspace map according to the grid cells selected by the user and the attribute data corresponding to the grid cells. Layers classified by different attributes can be displayed in a superimposed mode, and can be viewed independently, and a user can switch or adjust the display mode of the layers according to the needs. The generated airspace map displays multidimensional information in the target airspace in a visual mode, and helps users to analyze and evaluate the airspace situation in detail.
The user generated airspace map can be dynamically adjusted according to requirements, so that the user can be allowed to add or remove grid cells at any time or change attribute classification. Meanwhile, the system updates the image layer according to the data (such as weather information, communication signal strength and the like) changing in real time, so that the airspace image always reflects the latest airspace state.
In some embodiments, different values of each piece of flight-related information of the grid cells need to be represented differently for the visualization of the airspace map. Examples are as follows:
and (3) an underlying airspace map, namely simulating the relief of the terrain by using a three-dimensional grid or representing the relief of the ground by using the color or the high shadow of the terrain.
Signal space domain diagram-a distribution of signal intensities is represented using color or texture. According to the 4G/5G signal intensity, the areas with different signal intensities are marked by colors or textures. For example, the high signal intensity region may be represented by a warm tone and the low signal intensity region by a cool tone.
Weather airspace map-using color gradation or icons to represent different weather conditions. For example, wind speed may be indicated by the thickness of the arrow and humidity may be displayed by a gradual change in color.
And (3) representing the no-fly zone by using a conspicuous color or icon (such as a red area or a diagonal mark) so as to facilitate the identification and avoidance of the aircraft.
In one example, the generated airspace map is presented with a suitable visualization platform or tool (e.g., GIS tool, 3D modeling tool, webGIS system). The attribute value of each grid unit of the target airspace and the corresponding visual style are imported into the visualization tool, so that different colors, textures or icons are displayed in the airspace map according to the attribute values of the grid units, and visual effect is provided.
The airspace map may also be displayed using a three-dimensional view function, allowing a user to view airspace states from different angles.
The user may click on or select a grid cell to view its detailed attributes (e.g., signal strength, weather information, etc.).
Therefore, the multi-mode display can be carried out according to the attribute values of the airspace grids, and the user is helped to intuitively grasp the airspace situation.
In some embodiments, the computer device is capable of fast local updating of the space domain map when the local airspace environment changes.
When some local airspace changes, such as weather changes, signal updating or new forbidden zones, the relevant attributes of the corresponding grid cells are updated rapidly through a system automatic detection and data updating mechanism, and the whole airspace map does not need to be recalculated.
The airspace map can be quickly adapted to local changes, and the instantaneity and the accuracy of airspace map information are ensured.
Because the attribute data of each grid cell corresponds to a time interval, for example, a multidimensional space-time division algorithm associates a time dimension to each grid cell, the attribute data of each grid cell can be dynamically updated at any time.
The method and the device ensure that the data updated in real time can be synchronously released to the visualization platform so as to ensure that the user can view the latest visualized data. The updated airspace map in real time can dynamically reflect the change of the environment and the data, and ensure that the user obtains the latest airspace information.
It should be noted that embodiments of the present disclosure may be implemented in software and/or a combination of software and hardware, for example, using an Application Specific Integrated Circuit (ASIC), a general purpose computer, or any other similar hardware device. In one embodiment, the software programs of the various embodiments of the present disclosure may be executed by a processor to implement the steps or functions described above. Likewise, the software programs (including associated data structures) of the various embodiments of the present disclosure may be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. In addition, some steps or functions of embodiments of the present disclosure may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
Additionally, at least a portion of the various embodiments of the present disclosure may be implemented as a computer program product, e.g., computer program instructions, which when executed by a computing device, may invoke or provide methods and/or techniques in accordance with the various embodiments of the present disclosure by way of operation of the computing device. Program instructions for invoking/providing the methods of the embodiments of the present disclosure may be stored in fixed or removable recording media and/or transmitted via a data stream in a broadcast or other signal bearing medium and/or stored within a working memory of a computing device operating according to the program instructions.
It will be apparent to those skilled in the art that the embodiments of the present disclosure are not limited to the details of the above-described exemplary embodiments, and that the embodiments of the present disclosure may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, the scope of embodiments of the disclosure being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is evident that the word "comprising" does not exclude other elements or steps, and that the singular does not exclude a plurality. A plurality of units or means recited in the system claims can also be implemented by means of software or hardware by means of one unit or means. The terms first, second, etc. are used to denote a name, but not any particular order.