Heterogenous flying formations

The computerized method for heterogeneous flying formations addresses inefficiencies by enabling information and resource sharing among diverse flying objects, optimizing task assignment and resource utilization for enhanced mission performance.

WO2026159716A1PCT designated stage Publication Date: 2026-07-30ISRAEL AEROSPACE IND LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ISRAEL AEROSPACE IND LTD
Filing Date
2026-01-26
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing aerial mission planning and execution systems fail to effectively utilize the heterogeneous capabilities of flying objects in formations, leading to inefficiencies in resource sharing and task assignment.

Method used

A computerized method enabling information and resource sharing among heterogeneous flying objects, allowing for distributed decision-making and task assignment based on their unique capabilities, facilitating coordinated mission performance.

Benefits of technology

Enhances mission efficiency by leveraging the unique capabilities of each flying object, enabling effective resource pooling and task distribution, thereby optimizing mission outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IL2026050077_30072026_PF_FP_ABST
    Figure IL2026050077_30072026_PF_FP_ABST
Patent Text Reader

Abstract

A computerized method comprises: enabling sharing of information, associated with the flying object, with other system(s) associated with other flying object(s). The object and the other flying object(s) are configured to fly and function as a flying formation, within a defined geographical region and in a defined time frame. The flying object and at least some other flying objects are of a heterogenous nature, which comprises the flying object and the other flying objects having non-identical capabilities. Enabling sharing of resources, associated with the flying object, with the one or more other flying objects. Performing a portion of a distributed application within the formation. The distributed application is configured to perform a plurality of decisions associated with the flying formation, which comprise at least one task assignment decision.
Need to check novelty before this filing date? Find Prior Art

Description

HETEROGENOUS FLYING FORMATIONSTECHNICAL FIELD

[0001] The presently disclosed subject matter relates to the field of aviation. It relates more specifically to the field of aerial mission planning, implementation and support.BACKGROUND

[0002] Flying objects, e.g. airplanes, sometimes fly in a homogenous formation, for example moving in synch with each other, e.g. to create a display in the sky having a particular visual pattern.GENERAL DESCRIPTION

[0003] The following are example embodiments of the presently disclosed subject matter. According to a first aspect of the presently disclosed subject matter there is presented a computerized method, performed by a processing circuitry of a computerized system associated with a flying object, the method comprising:a. enabling sharing of information, associated with the flying object, with at least one other computerized system associated with one or more other flying objects, where the object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame,where the flying object and at least some other flying objects are of a heterogenous nature,where the heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having nonidentical capabilities;b. enabling sharing of resources, associated with the flying object, with the one or more other flying objects; andc. performing a portion of a distributed application within the flying formation,where the distributed application is configured to perform a plurality of decisions associated with the flying formation,the plurality of decisions comprising at least one task assignment decision. In addition to the above features, the method according to this aspect of the presently disclosed subject matter can include one or more of embodiments (2) to (51) listed below, in any desired combination or permutation which is technically possible: The method of embodiment 1, where the plurality of decisions are made based at least partly on the heterogeneous nature.The method of any one of embodiments 1 to 2, where the task assignment decision(s) comprises a data collection decision of assigning a plurality of data collection tasks, associated with the defined geographical region and with the defined time frame, across the flying formation.The method of any one of claims 1 to 3, where the task assignment decision(s) comprises a data processing decision of assigning a plurality of data processing tasks across the flying formation.The method of any one of embodiments 1 to 4, where the task assignment decision(s) comprises an action tasks decision of assigning a plurality of action tasks, associated with the defined geographical region and with the defined time frame, across the flying formation.The method of any one of embodiments 1 to 5, where the task assignment decision(s) comprises a mission management decision of assigning a mission management task(s), associated with the defined geographical region and with the defined time frame, across the flying formation.The method of any one of embodiments 1 to 6, where the plurality of decisions comprises a flight-characteristics decision determining respective flight characteristics of flying objects of the formation.The method of any one of embodiments 1 to 7, where the plurality of decisions comprises a coordinated data collection decision on a procedure for coordinated data collection across the flying formation.The method of any one of embodiments 1 to 8, where the plurality of decisions comprises a decision to optimize mission parameters.. The method of any one of embodiments 1 to 9, further comprising performing:(d) sending a first instruction(s) to the flying object, to fly with flying object flight characteristics based on the mission management decision. The method of any one of embodiments 1 to 10, further comprising performing:(e) sending at least one second instruction to the flying object, to perform a task(s), based on a decision(s) associated with the distributed application, where the task(s) comprises at least one of:i. a data collection task;ii. an action task; andiii. a mission management task.The method of any one of embodiments 1 to 11, further comprising performing:(f) repeatedly performing said steps (a) to (e) until completion of a mission, thereby facilitating a coordinated performance of the mission by the flying formation. The method of any one of embodiments 1 to 12,where the distributed application is configured to function independent of communication between the flying formation and external systems.The method of any one of embodiments 1 to 13, where the method further comprises: (g) responsive to a determination that at least one other flying object, of the other flying object(s), is unable to perform at least one of the following:A. start performance of an assigned task(s), the assigned task(s) having been assigned to the other flying object(s) per the task assignment decision(s); and B. finish performance of the at least one assigned task,repeating the performance of said steps (a) to (c) at least once, where an update to the task assignment decision(s) constitutes the at least one task assignment decision. The method of any one of embodiments 1 to 14, where enabling sharing of resources comprises enabling control, by the other flying object(s), of a first resource of the flying object, thereby facilitating performance of an assigned task by the other flying object(s). The method of any one of embodiments 1 to 15, where the enabling of the sharing of resources comprises enabling control, by the flying object, of a second resource of the other flying object(s), thereby facilitating performance of the at least one task.The method of any one of embodiments 1 to 16, where the computerized system(s) associated with at least some flying objects comprise at least one machine learning functionality, where the task assignment decision(s) is based on a situational awareness that is determined utilizing the at least one machine learning functionality,where the at least one machine learning functionality is trained on at least the following types of data:i. past data, comprising at least one of sensor data and calculations data; and ii. current-mission sensor data, collected during the function of the flying formation, where an updated training of the at least one machine learning functionality, on the current-mission sensor data, is performed during the function of the flying formation.. The method of the previous embodiment, where the sharing of resources comprises the computerized system requesting the at least one computerized system to perform the updated training, where the computerized system is further configured to perform a task based on the updated training.. The method of any one of embodiments 1 to 18, where the performance of the plurality of decisions comprises performance of following by the processing circuitry:making a decision of the plurality of decisions.. The method of any one of embodiments 1 to 19, where the performance of the plurality of decisions comprises performance of the following by the processing circuitry: making the decision of the plurality of decisions, jointly with the at least one other computerized system, the decision constituting a joint decision.. The method of any one of embodiments 1 to 20, where the performance of the plurality of decisions comprises performance of the following by the processing circuitry:proposing the decision; and receiving from the at least one other computerized system a confirmation of the decision.. The method of any one of embodiments 1 to 21, where the performance of the decisions comprises performance of the following by the processing circuitry: receiving from the at least one other computerized system a proposal for the decision; and providing the confirmation of the decision to the other computerized system(s).. The method of any one of embodiments 1 to 22, where the performance of the plurality of decisions comprises performance of the following by the processing circuitry: the enabling of the sharing of resources, thereby facilitating the making of the decision by the at least one other computerized system.. The method of any one of embodiments 1 to 23, further comprising performing:(h) communicating with the at least one other computerized system, thereby facilitating the enabling of the sharing of the information, the sharing of the resources, and the performing of the portion of the distributed application.The method of embodiment 24, where the communicating utilizes a virtual avionics bus. The method of any one of embodiments 1 to 25, where the enabling of the sharing of the information comprises: the processing circuitry is configured to obtain information stored in the at least one other computerized system.The method of any one of embodiments 1 to 26, where the enabling of the sharing of the information comprises: the processing circuitry is configured such that the other computerized system(s) is capable of obtaining information stored in the system.28. The method of any one of embodiments 1 to 27, where the method further comprises:(i) monitoring an availability of resources of the other flying object(s).29. The method of any one of embodiments 1 to 28, where the method further comprises:(j) verifying performance of at least a portion of the mission.30. The method of any one of embodiments 1 to 29, further comprising:(k) making an updated decision(s), in response to occurrence of situation changes, the situation changes comprising at least one of:A. changes in collected data;B. changes in relative positions of flying objects of the flying formation; C. changes in relative velocities of flying objects of the flying formation;andD. non- arrival of at least one flying object at a planned point in space at a planned point in time;E. a new flying object joining the flying formation;F. a flying object leaving the flying formation.31. The method of embodiment 30, further configured to monitor for the occurrence of the situation changes.32. The method of any one of embodiments 30 to 31, where the method further comprises:(l) responsive to the new flying object joining the flying formation, enable the sharing, with the new flying object, of the resources associated with the flying object.. The method of any one of embodiments 30 to 32, where the updated decision(s) is performed in one of real time or near-real time.. The method of any one of embodiments 1 to 33, where the heterogenous nature of the flying object and of the at least some other flying objects comprises the following: I. the flying object and other flying objects are different types of object.. The method of any one of embodiments 1 to 34, where the heterogenous nature of the flying object and of the at least some other flying objects comprises the following: II. there is a difference in at least one payload of the flying object and at least one other payload of other flying objects.. The method of any one of embodiments 1 to 35, where the heterogenous nature of the flying object and of the at least some other flying objects comprises the following: III. the flying object and other flying objects have a difference in at least one sensor capability.. The method of any one of embodiments 1 to 36, where the heterogenous nature of the flying object and of the other flying objects comprises the following:IV. the flying object and other flying objects have a difference in at least one communications capability.. The method of any one of embodiments 1 to 37, where the heterogenous nature of the flying object and of other flying objects comprises at least one of the following: V. the flying object and the at least some other flying objects have a difference in at least one computer capability; andVI. the flying object and the at least some other flying objects have a difference in data quality of at least one item of information.. The method of any one of embodiments 1 to 38, where the heterogenous nature of the flying object and of the at least some other flying objects comprises at least one of the following:VII. the flying object and the at least some other flying objects have a difference in availability of a particular resource for performance of the at least one task; andVIII. the flying object and the at least some other flying objects have a difference in efficient performance of the at least one task.. The method of any one of embodiments 1 to 39, where the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:IX. there is a difference in flight capabilities of the flying object and of the at least some other flying objects.. The method of any one of embodiments 1 to 40, where the heterogenous nature of the flying object and of the at least some other flying objects comprises the following: X. the flying object and of at least some other flying objects have a difference in an ability to perform at least one function in adverse weather conditions.. The method of any one of embodiments 1 to 41, where the heterogenous nature of the flying object and of the at least some other flying objects comprises:XI. the flying object and other flying objects have a difference related to at least one of human flight control and human presence on-board.. The method of any one of embodiments 1 to 42, where the resources comprise at least one of:I. at least one sensor;II. at least one mission-related resource;III. data processing resources;IV. machine learning resources;V. data storage resources; andVI. communication resources.. The method of any one of embodiments 1 to 43, where the flying object is one of an airplane, a drone, a helicopter, a quadcopter and a balloon.. The method of any one of embodiments 1 to 44, where the processing circuitry utilizes a data structure comprising:• an entity-definition layer;• a meta-data layer;• a calculated information layer; and• a prediction layer.. The method of any one of embodiments 1 to 45, where the performance of the plurality of decisions comprises performance of the following by the processing circuitry: making all decisions of the plurality of decisions.. The method of any one of embodiments 1 to 46, where at least one computerized system associated with at least some flying objects comprise at least one machine learning functionality, where the task assignment decision(s) is based on a situational awareness that is determined utilizing the at least one machine learning functionality.48. The method of any one of embodiments 1 to 47, where at least one task assignment decision comprises a decision that a task is to be performed, by the flying object, jointly with at least one other object, the task constituting a joint task.49. The method of any one of embodiments 1 to 48, where the distributed application is further configured to perform a plurality of update decisions, in response to changes in at least one of:A. collected data; andB. a flight situation of the flying formation.50. The method of any one of embodiments 1 to 49, where the enabling of the sharing of resources comprises enabling control, by the flying object, of a third resource of a new flying object.51. The method of any one of embodiments 1 to 50, wherein databases sit in a decentralized cloud, spanning the flying formation, thereby facilitating the sharing of the information.52. According to a second aspect of the presently disclosed subject matter there is presented a computerized method, performed by a processing circuitry of a computerized system associated with a flying object, the processing circuitry configured to perform the following method:a. enabling sharing of information, associated with the flying object, with at least one other computerized system associated with one or more other flying objects, where the object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame,where the flying object and at least some other flying objects are of a heterogenous nature,where the heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having nonidentical capabilities;b. enabling sharing of resources, associated with the flying object, with the one or more other flying objects, where the enabling of the sharing of resources comprises performing the following by the processing circuitry:I. determining that a task, which is assigned for performance by the flying object, requires use of a required type of resource;II. determining that all resources that are present on the flying object are of resource types that are not of the required type of resource;III. determining, utilizing the sharing of the information, that a resource, present on another flying object of the one or more other flying objects, is of the required type of resource,where the flying object and the other flying object are of different natures; IV. taking control of the resource,thereby facilitating performance of the task.In addition to the above features, the method according to this aspect of the presently disclosed subject matter can include one or more of embodiments (52) to (57) listed below, in any desired combination or permutation which is technically possible: 53. The method of embodiment 51, where the computerized system is configured to perform the determination of said step (I), the determination of said step (II), and the determination of said step (III), in either real time or near-real time.54. The method of any one of embodiments 51 to 52, the method further comprising:performing the task utilizing the second resource.55. The method of any one of embodiments 51 to 53, where the flying formation comprises at least one machine learning functionality,56. The method of embodiment 54, where the at least one machine learning functionality is trained on at least the following types of data:i. historical production data, comprising at least one of production sensor data and production calculations data; andii. current-mission sensor data, collected during the function of the flying formation, where an updated training of the at least one machine learning functionality, on the current-mission sensor data, is performed during the function of the flying formation,where the taking control of the second resource comprises instructing the at least one other computerized system to perform the updated training, where the computerized system is further configured to perform the task based on the updated training.57. The method of any one of embodiments 51 to 55, where the task comprises making a decision, based at least on the taking control of the second resource.58. The method of any one of embodiments 51 to 56, where the method further comprises performing the following: repeatedly perform said steps (I) to (IV) untilcompletion of a mission, thereby facilitating a coordinated performance of the mission by the flying formation.59. According to a third aspect of the presently disclosed subject matter there is presented a computerized method, performed by a processing circuitry of a computerized system associated with a flying object, the processing circuitry configured to perform a method combining the first and second aspects of the presently disclosed subject matter.60. The method of embodiment 58, where performing the portion of the distributed application utilizes the second resource.In addition to the above features, the method according to the third aspect of the presently disclosed subject matter can include one or more of embodiments (53) to (58) listed above, in any desired combination or permutation which is technically possible.In addition to the above features, the methods according to the second and third aspects of the presently disclosed subject matter can include one or more of embodiments (2) to (51) listed above, in any desired combination or permutation which is technically possible.According to a fourth aspect of the presently disclosed subject matter there is presented a computerized system configured to support mission performance, the computerized system being associated with a flying object and comprising a processing circuitry, the processing circuitry configured to perform the method of any one of the first through third aspects of the presently disclosed subject matter.According to a fifth aspect of the presently disclosed subject matter there is presented a non-transitory computer readable storage medium tangibly embodying a program of instructions that, when executed by a processing circuitry of a computerized system associated with a flying object, cause the processing circuitry to perform to perform the method of any one of the first through third aspects of the presently disclosed subject matter.The computerized systems and the non-transitory computer readable storage media, disclosed herein according to various aspects, can optionally further comprise one or more of the embodiments 2 to 51, 53 to 58, and 60, listed above, mutatis mutandis, in any technically possible combination or permutation.BRIEF DESCRIPTION OF THE DRAWINGS

[0004] In order to understand the invention and to see how it can be carried out in practice, embodiments will be described, by way of non-limiting examples, with reference to the accompanying drawings, in which:

[0005] Fig.1 schematically illustrates an example generalized view of a mission scenario, in accordance with some embodiments of the presently disclosed subject matter;

[0006] Fig. 2 schematically illustrates an example generalized view of flying objects, in accordance with some embodiments of the presently disclosed subject matter;

[0007] Fig.3 schematically illustrates an example generalized schematic diagram 310 of a computerized mission, in accordance with some embodiments of the presently disclosed subject matter;

[0008] Fig. 4 schematically illustrates an example generalized view of a data structure, in accordance with some embodiments of the presently disclosed subject matter;

[0009] Figs. 5A-5D schematically illustrate an example generalized flow chart diagram, of a flow of a process or method, for supporting an aerial mission, in accordance with some embodiments of the presently disclosed subject matter; and

[0010] Fig. 6 schematically illustrates an example generalized flow chart diagram, of a flow of a process or method, for accessing resources, in accordance with some embodiments of the presently disclosed subject matter.DETAILED DESCRIPTION

[0011] In the drawings and descriptions set forth, identical reference numerals indicate those components that are common to different embodiments or configurations.

[0012] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the presently disclosed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the presently disclosed subject matter.

[0013] It is to be understood that the invention is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out invarious ways. Hence, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the presently disclosed subject matter.

[0014] It will also be understood that the system according to the invention may be, at least partly, implemented on a suitably programmed computer. Likewise, the invention contemplates a computer program being readable by a computer for executing the method of the invention. The invention further contemplates a non-transitory computer-readable memory tangibly embodying a program of instructions executable by the computer for executing the method of the invention.

[0015] Those skilled in the art will readily appreciate that various modifications and changes can be applied to the embodiments of the invention as hereinbefore described without departing from its scope, defined in and by the appended claims.

[0016] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "supporting", "performing", "enabling" "sharing", "deciding", "assigning", "processing", "determining", "sending", "repeating", "updating", "training", "verifying" or the like, refer to the action(s) and / or process(es) of a computer(s) 310, 230, 280 that manipulate and / or transform data into other data, said data represented as physical, e.g. such as electronic or mechanical quantities, and / or said data representing the physical objects. The term “computer” should be expansively construed to cover any kind of hardware-based electronic device with data processing capabilities including a personal computer, a server, a computing system, a communication device, a processor or processing unit (e.g. digital signal processor (DSP), a microcontroller, a microprocessor, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.), and any other electronic computing device, including, by way of non-limiting example, computerized systems or devices 310, 230, 280 and processing circuitries such as e.g. 312 disclosed in the present application.

[0017] The operations in accordance with the teachings herein may be performed by a computer specially constructed for the desired purposes, or by a general-purposecomputer specially configured for the desired purpose by a computer program stored in a non-transitory computer-readable storage medium.

[0018] Embodiments of the presently disclosed subject matter are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the presently disclosed subject matter as described herein.

[0019] The terms "non-transitory memory" and “non-transitory storage medium” used herein should be expansively construed to cover any volatile or non-volatile computer memory suitable to the presently disclosed subject matter.

[0020] As used herein, the phrase "for example," "such as", "for instance" and variants thereof describe non-limiting embodiments of the presently disclosed subject matter. Reference in the specification to "one case", "some cases", "other cases", "one example", "some examples", "other examples", or variants thereof, means that a particular described method, procedure, component, structure, feature or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the presently disclosed subject matter, but not necessarily in all embodiments. The appearance of the same term does not necessarily refer to the same embodiment(s) or example(s).

[0021] Usage of conditional language, such as “may”, “might”, or variants thereof, should be construed as conveying that one or more examples of the subject matter may include, while one or more other examples of the subject matter may not necessarily include, certain methods, procedures, components and features. Thus, such conditional language is not generally intended to imply that a particular described method, procedure, component or circuit is necessarily included in all examples of the subject matter. Moreover, the usage of non-conditional language does not necessarily imply that a particular described method, procedure, component or circuit is necessarily included in all examples of the subject matter.It should also be noted that the words “comprising” or "including", as used throughout the current specification, is to be interpreted to mean “including but not limited to”.

[0022] It is appreciated that certain embodiments, methods, procedures, components or features of the presently disclosed subject matter, which are, for clarity, described in the context of separate embodiments or examples, may also be provided in combination in a single embodiment or examples. Conversely, various embodiments, methods, procedures,components or features of the presently disclosed subject matter, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.

[0023] It should also be noted that each of the figures herein, and the text discussion of each figure, describe one aspect of the presently disclosed subject matter in an informative manner only, by way of non-limiting example, for clarity of explanation only. It will be understood that the teachings of the presently disclosed subject matter are not bound by what is described with reference to any of the figures or described in other documents referenced in this application.

[0024] Bearing this in mind, attention is drawn to Fig. 1, schematically illustrating an example generalized view of a mission scenario, in accordance with some embodiments of the presently disclosed subject matter. View 100 depicts a conceptual view of an aerial mission involving a plurality of flying objects 150, 160, 170, 180, 190. The view is presented to provide a non-limiting example illustration of several concepts related to the presently disclosed subject matter. In the example scenario illustrated, the mission is one of firefighting. Within a defined geographic region 110 there is a forest fire 120, occurring in and near forest 130. One or more other fires 125, e.g. a smaller fire 125, are occurring in the same time frame in other parts of region 110. In the region are also present people 115, houses / buildings / structures and / or cities / towns / villages 145, and vehicle(s) 140. Each of these people / items can be threatened by the fire(s). Defined geographic region 110 is also referred to in some examples as region of interest 110. The quantities of the various items in the figure are merely exemplary.

[0025] The plurality of flying objects are flying 155, and are functioning, as a flying formation 195 (referred to herein also as an array 195) to perform, in some cases jointly, the mission of putting out the fire(s) in the defined region 110, within a defined time frame (e.g. within a particular time window). Thus, the flying formation 195 includes flying objects 150, 160, 170, 180, 190 - during those time periods when none of these objects have left the formation, and no other flying objects have joined the formation. For ease of exposition, only the flight path 155 of flying object 150 is illustrated.

[0026] Non-limiting examples of flying objects include aircraft such as airplanes (whether jet or propeller powered, whether relatively large 180 or small 190), helicopters 170, drones, quadcopters and balloons. Another example is an aerial object launched by an airplane. In the example, airplane 180 is a tanker aircraft. As illustrated in the figure,in some cases the objects are arriving from different areas, e.g. arriving at the region 110 from different directions, flying at different headings 155, speeds and / or altitudes, and located at varying distances from each other at any point in time. The flying object can have human or automated pilot.

[0027] In some scenarios, at least some of the flying objects 150, 156, 170, 180, 190 are of a heterogeneous nature. That is, they do not all have identical capabilities and / or functionalities. As one example, airplane 160 and helicopter 170 are of different categories of aircraft / flying object. Similarly, small plane 190 and tanker 180 are both airplanes, but they are different categories of airplane, and they are of different types / model numbers and / or of different manufacturers. In other cases, two objects are of the same type, manufacture and model, but they be installed with somewhat different equipment, and / or may have different configurations. More detail on examples of object heterogeneity is disclosed further herein with reference to Fig. 2.

[0028] At least some of the flying objects 150 comprise a computerized system which is configured to support performance of the mission(s).

[0029] Computer system(s), comprised in, located within, or otherwise associated with, each flying object 160, are exemplified in Figs 2 and 3. As disclosed herein, these computer systems in some examples enable the flying objects to perform a mission more effectively, e.g. by communicating between each other and facilitating sharing of resources. For example, one airplane 190 has a camera of a required capability to effectively locate and characterize the fire and the surroundings, but another 180 contains water tanks, which can be used to put out the fire. Neither airplane has the correct set of resources to perform the firefighting mission alone, but if they work together, they can use their non-identical resources to perform the mission, e.g. pool them together. In another example, neither has sufficient processing capacity to perform e.g. a certain calculation, but if multiple processors of multiple vehicles are used, the calculation can be performed.

[0030] Note that the heterogeneity of two (or more) flying objects causes them to have, at least partially, different types of resources and / or capabilities. Note also that at least some resources / capabilities can be the same. Thus, it can be that two airplanes are of the same model, with the same engine, same capabilities of speed and maneuver etc., and some sensor types in common — but containing different payloads in their storage areas, and / or being equipped with certain sensors that are of different types.

[0031] Embodiment 1 — At least to address such technical problems and disadvantages, there is disclosed herein computerized methods configured to support mission performance, as well as a computerized system and software products to perform such a method(s). The methods comprise, in some examples, the following:a. enabling sharing of information, associated with the flying object with at least one other computerized system associated with one or more other flying objects. The object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame. The flying object and at least some of the other flying objects are of a heterogenous nature. The heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having non-identical capabilities;b. enabling sharing of resources, associated with the flying object, with the one or more other flying objects; andc. performing a portion of a distributed application within the flying formation. The distributed application is configured to make a plurality of decisions associated with the flying formation. These decisions comprise at least one task assignment decision. More example details on task assignment decisions, and on other decisions, are disclosed further herein.

[0032] In some examples, the plurality of decisions are made based at least partly on the heterogeneous nature, that is they take the heterogeneous nature of the flying objects into consideration.

[0033] Embodiment 2 — One particular example implementation of the above method (of Embodiment 1) comprises the following steps:a. enabling sharing of information, associated with a flying object, with at least one other computerized system associated with one or more other flying objects. The object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame. The flying object and at least some other flying objects are of a heterogenous nature. The heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having non-identical capabilities.b. enable sharing of resources, associated with the flying object, with the other flying object(s). The enabling of the sharing of resources comprises performing the following by a processing circuitry of the computerized system:I. determine that a task, which is assigned for performance by the flying object, requires use of a required type of resource;II. determine that all resources 210, 213, 217, 223 that are present on the flying object 190, 205 are of resource types that are not of the required type of resource 257. That is, the resources of this flying object do not correspond to type of resource 257. That is, they are not types that are identical to the type that is needed;III. determine, utilizing the sharing of the information, that a resource 257, present on another flying object 255, is of the required type of resource. The flying object 205 and the other flying object 255 are of different natures (i.e. heterogenous objects);IV. take control of the resource 257. This controlling of a remote resource facilitates performance of the task.

[0034] Non-limiting illustrative examples of resources, tasks, and heterogeneity are disclosed herein, e.g. with reference to Fig. 2.

[0035] For clarity of exposition, the resources 210, 213 on the flying object 190, 205 which is performing the above method are referred to herein also as first resources 210, 213, and / or as local resources 210, 213. The resources 257, 270 on the other flying object 180, 255 are referred to herein also as second resources 257, 270, and / or as remote resources 257, 270 (in that they are remote, e.g. not located on, object 205).

[0036] For clarity of exposition, in the presently disclosed subject matter two different terms will be used - task and mission. The formation / array can in some cases have one or more missions, and they can be defined at different resolutions. Thus, in some cases there is one mission, e.g. "put out all fires in region 110, including fires 120 and 125", while in other cases these are defined as two different missions: "put out fire 120" and "put out fire 125". In some cases, the mission is defined more broadly, e.g. "put out the fires in the region, and rescue all people 115".

[0037] " Task", in this document, refers to smaller portions of a mission(s), and / or to specific activities within it. In other examples, the mission is itself the "task", and it isbroken into sub-tasks. Thus, for example, data collection (e.g. capturing images with a camera and / or RADAR), processing the collected data on a computer system, delivering water onto a particular fire 125, and lowering a rescue ladder can all be considered separate tasks and / or sub-tasks within a larger "mission". More on example types of tasks is disclosed further herein.

[0038] It should be also noted that firefighting is disclosed herein as one example of an aerial mission, purely for illustrative purposes. Other non-limiting examples of aerial missions, which are flown and performed in a defined geographic region 110 and in a defined time frame, include searches (e.g. a missing child), rescue missions such as flooding, vehicle accidents, dealing with pollutant spills / contamination, people trapped in snow and mud situations etc.

[0039] In some examples, either of the above embodiments can enable coordinated performance of a mission by the formation / array 195. Note that in the presently disclosed subject matter, the flying objects 160, 180 fly and function as a heterogeneous array 195.By contrast, in some examples of the prior art, objects fly in a homogenous formation (not shown in the figures). That is, the objects of the homogenous formation each have the same capabilities (e.g. they are all the same model of aircraft, with the same components). Also, the flight of each object in a homogenous formation is a function of the flight of the others, e.g. they are to move in synch with each other to create a display in the sky having a particular visual pattern. Similarly, there are prior art systems that simply coordinate the movement of various vehicles to each reach their defined destination. The heterogeneous array 195, on the other hand, in some cases performs mission(s) in a collaborative fashion, utilizing the advantages and disadvantages of each flying object 160, 180 and sharing resources.

[0040] Various figures illustrate the concepts of the above-disclosed methods. Fig. 2 illustrates a schematic of two example heterogeneous flying objects, illustrating their heterogeneity and resources, and details on types of tasks. Fig. 3 provides a schematic diagram of a computer system configured to perform the method of the presently disclosed subject matter, along with details on decisions, information sharing, resource sharing and autonomous function. Fig. 4 provides an illustration of an example data structure which can be utilized when performing the method of the presently disclosed subject matter, along with details on updating decisions and an example of task assignments. Figs. 5A-5D disclose an example flow chart of a method of the presentlydisclosed subject matter, encompassing at least embodiments 1 and 2 disclosed above.Fig. 6 discloses an example flow chart of a method of the presently disclosed subject matter, encompassing at least embodiment 2 disclosed above, as a special case of implementing embodiment 1.

[0041] Attention is now drawn to Fig. 2, schematically illustrating an example generalized view of flying objects, in accordance with some embodiments of the presently disclosed subject matter. View 200 depicts two example heterogeneous flying objects 205 and 255, as well as connections between them. Not all components of each object are illustrated. The purpose of the figure is to illustrate example hardware and software components that could exist in one object, while not existing in another object.

[0042] Vehicle A 205 is, for example, the tanker airplane 180 of Fig. 2. It is shown as being equipped with, or otherwise associated with various resources. In the example, it comprises several sensors: Radio Detection And Ranging (RADAR) 210, electro-optical (EO) camera #1 213, and LIDAR (Light Detection And Ranging, or Laser Imaging, Detection And Ranging) sensor 217. It has a relatively large fuel tank 223, enabling a comparatively long range of flight. It has a water tank 220, which can be used to deliver water on fires. Water tank 220 is a general example of an effector 220, which are in some examples capable of performing what are referred to herein as "action tasks" (detailed and exemplified further herein). Vehicle A is also shown with certain computer resources. Computer A 230 comprises a relatively weak processor 232. The processor 232 comprises an auto-pilot functionality 234 (e.g. running code), for flying the plane 205 in an automated fashion. Computer A also comprises machine learning (ML) / artificial intelligence (Al) model 237. The vehicle A also comprises a data base or other data storage 238 of comparatively large size.

[0043] Vehicle B 255 is, for example, the helicopter 170 of Fig. 2. It is shown as being associated with resources of a different category or type, including those of different capabilities, as does Vehicle A 205. In the example, it comprises several sensors: Infra-Red (IR) camera 257 and EO camera #2 259. Note that each vehicle has an EO camera, that is a sensor of the same general category, but the two cameras 213 and 259 can have different functional capabilities - e.g. speed, resolution, memory size, ranges of focal lengths, different methods of mounting (and thus susceptibility to e.g. vibrations) etc. Helicopter 170, 255 has a smaller fuel tank 263, by comparison with the fuel tank 223 of tanker aircraft 180, 205, yielding a possibly smaller range of flight. The vehicle comprisestwo example effectors configured to perform action tasks: fire retardant materials tank 260, configured to deliver fire retardants which can put out the fire 120, and rescue ladder 267, which can be deployed to help rescue person 115.

[0044] The vehicle also comprises long distance radio 270, configured to enable communication with various parties located external to the flying formation 195. Computer B 280 comprises a relatively strong processor 283, stronger than the processor 232 of computer A 230. The vehicle also comprises a database 387, which stores a history of various parameters (e.g. information captured by the sensors 257, 259). It also has a human pilot / navigator / operator / crew member 290, who can be contrasted with the autopilot 234 of object 205.

[0045] Note that these two vehicles also have different flight capabilities, by the nature of the vehicles themselves (e.g. helicopter vs tanker airplane), which are not necessarily dependent on the particular example components shown in the figure.

[0046] The two vehicles also comprise components (not shown in detail), which implement a virtual avionics bus 252, which in some implementations can be utilized for communication among flying objects 180, 170 of the flying formation 195.

[0047] A non-limiting example implementation of a virtual avionics bus is disclosed in the Israeli patent application publication IL 268941, filed 26 August 2019. That application was also published as PCT Publication WO / 2021 / 038558, 4 March 2021. This virtual bus, e.g. which is local to the formation, provides a real time network, decentralized avionics, which can facilitate information access and sharing of information among computerized systems 230, 280 of the flying objects / platforms of a formation. This includes in some cases access of a system 230 to remote database(s) via the bus. The information sharing across the bus can assist e.g. in performing coordinated flying of the objects.

[0048] As disclosed further herein, this information sharing can facilitate, in the presently disclosed subject matter, sharing of resources among flying objects, including accessing resources residing on remote flying objects and controlling them.

[0049] Further to the illustrative example of the figure, and more generally, the heterogenous nature of one flying object 190 and at least some other flying objects 180, 170, 150, 160, comprises, in some examples, one or more of the following characteristics, detailed in the following paragraphs:

[0050] (a) The flying object and at least some other flying objects are different types of object. For example, a helicopter or a balloon vs an airplane; or they are different categories of airplane (propellor vs jet plane, tanker vs surveillance aircraft etc.); or they are of different manufacturers / models of airplane etc. Thus, one heterogenous formation can be three helicopters, one of manufacturer A and two of manufacturer B, where the latter two comprise one of model XYZ1 and one of model ABC6. By definition, different categories or models of flying objects typically have different flight and functional capabilities. Similarly, the flying objects can be of different sizes, which can impact payload capabilities, and the ability to carry different sensors / computers on the flying object.

[0051] (b) There is a difference in at least one payload of the flying object and at least one other payload of at least some other flying objects. A flying object / vehicle can contain / hold various types of payloads, and sometime carry more than one type in a single flight / mission. Non-limiting example categories / types of payloads include the following:a. "substance delivery" payloads / components, which deliver materials / substances / items / products / objects. Examples include water for firefighting, fire retardant materials of various types for firefighting, rescue equipment, rafts etc. to drop / deploy, and recovery equipment / hooks. These are in some examples the effectors disclosed above.b. payloads carrying sensors and data capturing functions / capabilities - see more detail further herein.c. payloads carrying communications and / or computing functions - details are discussed below.d. differing abilities to carry people / staff and equipment. For example, the ability to carry different weights of payload, e.g. 3 tonnes vs 2 tonnes.

[0052] Note that also two payloads of the same type can still differ (and thus be heterogeneous), e.g. having different capacities. For example, aircraft 160 carries W liters of water, while aircraft 150 carries X liters of water. As another example, payloads of the same type can be deployed at different ranges (shooting water to a distance of Y meters vs Z meters). Similarly, the differing fire retardant and water payloads 260, 220, in addition to being of different types, can also be of different capacities / sizes / volumes.

[0053] (c) The flying object 190 and at least some other flying objects 180, 170 have a difference in at least one sensor capability. For example, they may different types or categories of sensor: e.g. electro-optic imaging / cameras, vs Infra-Red (IR) imaging, various types of RADAR, LIDAR, acoustic sensors etc. similarly, even sensors of the same type can have, in different flying objects, different capabilities: e.g. resolutions, ability to capture accurately in certain motion conditions, effective distance of capture, ability to deal with sensing line-of-sight issues, working well in different types of lighting / weather etc. Note also the sensing capabilities can be used to monitor / " see" e.g. one or more of: targets 120, 140, 115, other objects 170 in the array / formation, and features of the environment around the array (other than the targets), e.g. trees 130.

[0054] Non-limiting examples of targets, in the presently disclosed subject matter, are the locations of fire(s) 125 (e.g. burning buildings / structures 145, portions of a forest 130 / field / open space), people 115 who need rescuing (from e.g. a fire, a flood, a vehicle crash), vehicles 140 trapped e.g. in snow, criminals 115 to be chased / apprehended etc.

[0055] (d) The flying object and the at least some other flying objects have a difference in at least one communications capability. An example of a communications capability is that provided by long distance radio 270. Non-limiting example differences include these: with how many other systems 230, 280 can a particular object 190 communicate well, differences in communication ranges, communication bandwidth, communication frequency bands, quality and / or level of encryption and / or data security, which communication protocols does the object 190 use, ability to deal with environmental interference, and the ability of a particular communications capability to deal with communication line-of-sight issues.

[0056] (e) The flying object and at least some other flying objects have a difference in at least one computer capability. Non-limiting examples of such capabilities are computer processing power and memory. For example, the figure shows processor 283 being relatively stronger than processor 232. In some examples, a particular processor 283, on one vehicle / object 255, is configured such that it is better at performance of a certain function(s) than is a processor 232 of another object 205 - while the processor 232 of the other object is better suited than is 283 for different functions. Similarly, the computer systems 230, 280 of different objects can have different types of processors, each of which can be better at performance of specific functions than are other processors of other objects. Another example is differences in computer storage space, e.g. for non-transientstorage (disks etc.). Similarly, different flying objects can be associated with different databases 239, 387. Another example is the level of access of a particular object 160 to particular required information. Another example is whether the object is associated with artificial intelligence / machine learning databases that support functions such as detection / classification / identification of EO images (or sound, or RADAR images etc.). Still another example is having different cyber functions, e.g. different cyber protection methods and abilities. Another example is whether computerized system 280 has access to the relevant data for a certain task or functionality.

[0057] (f) The flying object 190 and at least some other flying objects 180, 170 have a difference in data quality of at least one item of information. This refers, for example, to the specific data that is stored in each vehicle, and / or that is gathered by each vehicle, different levels of recency of the data (how updated the data is), and the accuracy and / or reliability of the data.

[0058] (g) The flying object and at least some other flying objects have a difference in availability of a particular resource for performance of at least one task. As one example, object 205 has an excellent camera 213, but cannot use it for the task of imaging location A, because its "local resource" camera 213 is busy imaging location B. This could be a reason for object 205 to take control of remote camera 259, even if it is e.g. of lower quality than 213, in order to image location A. In another example, object 205 has resources of a particular type, but it has an insufficient amount - e.g. it has X processing capacity available (e.g. X is the limit of the processor's capability, or part of the overall capability is being used for another task), but a task requires 2X capacity, twice as much as is available. In still another example, the resource availability difference is based on object 205 not being available to perform a particular function or task. It has on it the required camera 213, but it is on west edge of geographic region 110, and it has been assigned a task associated with imaging the east side. Object 205 thus takes control of camera 257, located on object 255, which does have a view of the east side of the region.

[0059] (h) Another example is where the flying object and at least some other flying objects have a difference in efficient performance of at least one task. For example, the vehicle 205, or perhaps its computer 230, performs a particular function more efficiently (e.g. quicker, and / or using fewer overall resources, e.g. computing power) than do at least some other objects.

[0060] (i) There is a difference in the flight capabilities of the flying object and those of at least some other flying objects. Non-limiting examples of flight capabilities, including different performance characteristics, listed purely for illustrative purposes, include: a large vs a small vehicle; a propeller vs jet plane; they can fly at different speeds, e.g. maximum speeds; they have different turning abilities; they have different climbing abilities (e.g. rate of climb), they are configured to function optimally at different altitudes (or have different maximum altitudes); they have different flight ranges / fuel capacity. Another example is the ability to hover or not (i.e. must the vehicle constantly continue forward movement). Helicopters are an example of an object with the capability to hover. Having a hovering ability affects, for example, the ability to image or otherwise monitor a particular geographic space / area / region over an extended period of time.

[0061] (j) The flying object and at least some other flying objects have a difference in an ability to perform function(s) in adverse weather conditions. Examples of this are the ability to perform certain types of flight maneuvers, and / or to capture certain types of sensor data etc., in rain, snow stormy, or windy conditions, and or in poor light / fog / at night.

[0062] (k) The flying object and at least some other flying objects have a difference related to at least one of human flight control, and / or to a human presence on-board. For example, does the object have a human pilot / navigator / operator / crew member 290; does it instead have a "remote pilot", i.e. remote control by a human who is located on ground or in another flying object (rather than sitting in the flying object itself); or is the object autonomous, not requiring a human pilot / controller at all. For example, does the object / vehicle have a human passenger and / or crew (including e.g. pilot / navigator / operator etc.) 290 on board, or it does not. Note that if no human is on-board, the object can be assigned more "risky" tasks, e.g. getting closer to a fire, operating in a contaminated (e.g. contamination, dangerous smoke) environment etc.

[0063] Note also that in some examples, two flying objects have some functionalities, capabilities and / or resources in common, and some of them differ. Thus, it can be that it is the combination of multiple capabilities that differs between the two objects, that causes the heterogeneity. As an illustrative example, airplane 160 comprises a camera and a fire extinguisher, and airplane 190 comprises a camera (of the same model and abilities as that of 160) and a ladder. In another example, both airplanes are of the same model, with the same flight capabilities, but one has a RADAR installed, while the other has an IRsensor. Similarly, the formation can in some cases have some objects with identical capabilities (e.g. airplanes 160 and 190 are of identical models, with identical hardware components and identical configuration, and similarly 150 and 180 are identical to each other in capabilities), but there is still some heterogeneity (160, 190 do not have the same capabilities / resources as do 150, 180).

[0064] In some examples, the heterogeneity can be seen as, in general, encompassing three areas of function: gathering information of interest, processing the information (e.g. to help arrive at decisions), and actually performing mission tasks (put out fire, drop a ladder) based on the gathered information and on its processing. As disclosed herein, the objects of the heterogeneous formation work together to perform these functions more effectively and completely, by virtue of the heterogeneity.

[0065] The disclosure of the above figures mentions resources. Certain non-limiting examples of categories / types resources include the following:VII. data collection resources, e.g. the sensor(s) disclosed above;VIII. data processing resources, e.g. processors and memory;IX. data storage resources, e.g. memory and disks, holding data stores;X. machine learning resources - models, algorithms, neural networks etc.; XI. communication resources, e.g. the radio communications components disclosed above;XII. "mission-related" resource(s). These are referred to herein also as "payload resources", and effectors. The term is used in the sense that they are dependent on the mission. For example, water and fire-retardant materials and nozzles are relevant to firefighting, ladders and ropes are relevant to rescue, tear gas is relevant to catching a criminal etc. These resources are distinguished from those used for data collection, or decisions, planning, management, and / or data processing / storage / communication.

[0066] These example differences in capabilities, in nature of resources, and of heterogeneity of flying objects 160, are relevant to both embodiments 1 and 2 above, and to their variations, as well as to other example implementations of the present disclosed subject matter.

[0067] As disclosed above, each object is assigned one or more tasks to perform, as part of the overall mission. The next paragraphs disclose examples of types or categories of tasks:

[0068] (I) Data collection tasks, associated with the defined geographical region 110 and with the defined time frame, are performed e.g. using the sensors (RADAR 210, EO camera 259 etc.) or other data collection resources, along with e.g. processors 232 and memory to process and store the data. These are referred to herein also as data acquisition tasks and data gathering tasks.

[0069] (II) Data processing tasks, to process various data (e.g. collected data), e.g. to facilitate arriving at decisions. These are referred to herein also as computation or computing tasks. Examples include receiving data input and running an algorithm to derive an output, object detection based on received image data, or classification of an already detected object on an image. In some implementations, such tasks utilize machine learning. Data processing can also include tasks such estimating / evaluating risks / dangers and constraints, e.g. in real time, and e.g. predicting such.

[0070] In some implementations one or more of the vehicles has background knowledge. Each can have different abilities to bring updated information to all of the vehicles. System(s) 230 is in some cases configured to analyze the information associated with its own local object 205, and / or that of other object(s) 225. In some cases, each piece of information has an associated level of "updated-ness" / recency / recentness, a level of reliability, and a level of accuracy. The analysis in some cases considers these parameters when analyzing the information. It also validates the received data, for accuracy etc. In some examples, such data processing results in updated database(s), e.g. updated in real time, which are accessible to one or more objects which do not contain the database.

[0071] (III) " Action" tasks, associated with the defined geographical region and with the defined time frame. This refers to the actual actions, in the physical world, to accomplish the physical aspects. This in contrast to task associated with data gathering, planning, and managing / commanding. In some examples, this is distinct also from data processing / computing / computation. Examples of action tasks are delivery tasks, e.g. delivery of fire retardants or water onto a fire 120, rescue tasks such as lowering a rope or hook or ladder, playing a warning announcement to people 115, turning on a light(s) to illuminate an area for the people's use etc. In some examples, these include certain flight actions, e.g. instructing helicopter control surfaces to lower the helicopter towards the ground.

[0072] (IV) Mission planning tasks, associated with the defined geographical region and with the defined time frame. The computer(s) 230 perform tasks defining the mission, such as (for example): defining the objectives of the mission(s); defining how successfulperformance of each objective / task is defined; which target objects 125, 120, 115, 140, 145 will be handled / addressed, and in what order; what tasks must be performed, and what results are to be obtained, which flying object should be assigned each task (and at what time should they be assigned the task) etc. As will be disclosed, this in some cases is based at least partially on predictions of the future situation.

[0073] (V) Flight planning tasks, associated with the defined geographical region and with the defined time frame. The computer(s) 230 perform tasks defining flight aspects of the mission, such as (for example) planning flight paths / flight plans for one or more flying objects within the formation. This includes speeds and desired times of arrival of each object at a particular destination point (e.g. to arrive near person 115 at 10:03 AM). Thus, in some cases, flight planning is based on the mission planning.

[0074] In some examples, the planning considers constraints and risks / threats. Examples of constraints include the capabilities of various vehicles / flying objects, and the availability of those capabilities. Examples of risks include where there is a fire, how severe is the fire, how high are the flames, is there e.g. contamination in the area etc. In some examples, flight planning is done in automated fashion. For example, the flight planning uses prediction (based on Al or pseudo- Al algorithms) of e.g. future constraints and threats, to pick the best flight path. The prediction can be assisted by the collaborative data gathering by the formation. This synergy can help optimize the flight planning.

[0075] (VI) Mission management tasks, associated with the defined geographical region and with the defined time frame. These are referred to herein also as command tasks. One or more of the objects 170, 190 can be assigned to manage and supervise the performance of the mission. Such objects will be considered a mission manager / mission commander. For example, they will monitor performance of tasks and send commands to other flying objects. For example, they in some examples choose which targets 140, 115 to serve, and when to serve each - based on time, their range from the flying objects, and urgency (e.g. the type of threat, and level of threat, to a particular target). In some examples, some of these functions can be considered updates to the mission planning.

[0076] (VII) Verification tasks, associated with the defined geographical region and with the defined time frame. In some examples, one or more flying objects 160, e.g. using their computerized systems 230, verify performance of at least a portion of the mission. As indicate above, there can be one or more missions. One example is a mission to put out four fires. Verification in some examples includes verifying performance of specific tasks(e.g. Vehicle B flew from here to there, area W was imaged, Vehicle A delivered Y liters of water on point X in region 110). In some other examples, verification instead, or in addition, comprises performance of mission(s), that is accomplishment / achievement of mission results - Fire #1 120 was put out, Fire #2125 was put out, all four fires were put out etc. In some examples, mission verification is done at the end of the mission. In other examples, the objects / systems verify as the mission progresses, track completion of the mission, and modify the mission plan if needed. Note that in some implementations, verification itself comprises data collection and computing / processing tasks.

[0077] In some examples, the tasks in the mission workflow can be seen to comprise four general categories, four general stages of activity:a. Gather information, including updated informationb. Process the information, make decisions about tasks to do (both to perform actions relative to targets, and to gather additional information), and which system will do what. That is, create a plan of tasks / sub-tasks, and flight planning.c. Perform the tasks, i.e. implement the plan(s), e.g. performing delivery or other action tasks (while in parallel gathering more updated information, and making more decisions, to adapt the plan.) d. Verify completion of the mission(s), and / or of tasks / sub-tasks.

[0078] Note to, that in some examples, tasks such as mission planning and management tasks, flight planning, and verification tasks, are special cases of computing / data processing tasks, or they comprise computing / data processing tasks. Also, in some examples, the above stages are more complex than in this simple illustrative list, and they involve an iterative process of data gathering and re-gathering, planning and re-planning, implementation and verification in multiple stages.

[0079] Non-limiting illustrative examples of collaborative work of flying objects include the following:(a) An airplane and a helicopter work in coordination with each other. The airplane has stronger data processing and delivery payload capabilities. The helicopter is better at imaging. The airplane sends commands to the helicopter, concerning what, how and where to image. The helicopter captures the images, the airplane does the image processing on the images, and the airplane delivers the payload.(b) An automatic target recognition / data gathering example - a RADAR on object #1 might be effective at detecting certain target objects (e.g. ground vehicles - cars, trucks), but relatively poor at classifying objects. Therefore, object #1 detects a target and asks object #2 to use its electrooptic camera to image the target area, since such images are better for classification (e.g. because more machine-learning trained classification algorithms for images exist, as compared to those for RADAR images).Also, as the target moves, there may be a need to track the target. The camera is in some cases too slow to perform tracking. Therefore, sensors of a third object (or the radar of the 1stobject) can be used to track the movement.(c) The array decides to send an unmanned vehicle, instead of a manned vehicle, to a dangerous area.

[0080] Attention is now drawn to Fig. 3, schematically illustrating an example generalized schematic diagram 310 of a computerized mission support system 310, in accordance with some embodiments of the presently disclosed subject matter. In some non-limiting examples, computerized system 310 includes a computer. This computer 310 can be similar to, or identical to, the computers 230, 280 disclosed with reference to Fig.2. It may, by way of non-limiting example, comprise a processing circuitry 312. This processing circuitry may comprise a processor 314 and a memory 317.

[0081] The computerized system 310 is associated with a flying object 205. The system can be installed on the flying object, or it can otherwise be associated with it. For example, the computer can be external to the object 205, but the object can communicate with it.

[0082] This processing circuitry 312 may be, in non-limiting examples, general-purpose computer(s) specially configured for the desired purpose by a computer program stored in a non-transitory computer-readable storage medium. They may be configured to execute several functional modules in accordance with computer-readable instructions. In other non-limiting examples, this processing circuitry 312 may be a computer(s) specially constructed for the desired purposes.

[0083] Turning now to processor 314 of processing circuitry 312, it in some examples comprises an input / output (I / O) communications interface 345, enabling communications outside of the local flying object 205. E.g. it can be a radio system, orinterface to one (not shown). This module 345 can also interface to the physical components of the virtual bus 252, supporting virtual bus module 348.

[0084] In some examples processor 314 comprises virtual avionics bus module 348. In some examples, module 348 is configured to implement virtual avionics bus 252, which connects the various flying objects of formation 195. In some implementations, this module utilizes I / O communications interface 345. In some examples, this virtual bus module 348 is configured to interface between local resources 210, 220 of object 205 (e.g. using local resources interface 342) and the external I / O interface 345.

[0085] In some examples processor 314 comprises local resources interface 342. In some examples, module 342 is configured to interface between local resources 210, 220, 213 etc., and local resources control module 360. This interface is configured to e.g. transfer commands to the local resources, and / or to receive data captured by the local resources (and in some cases also remote resources).

[0086] In some examples processor 314 comprises local resources control module 360. In some examples, module 360 is configured to send commands to the local resources, and / or to receive data captured by them. In some examples, this module is also configured to send commands to, and receive data from, also remote resources 257, 260 associated with one or more other flying object(s) 255. This can be achieved, since the virtual avionics bus 252 can in some implementations virtualize all of the resources, and it can make both local and remote resources appear to an object 205 to be local. In other example implementations, there is a separate remote resources control module (not shown in the figure) configured to control those resources 257 that are remote to the local object 205.

[0087] In some examples processor 314 comprises sensor data processing module 340. In some examples, module 340 is configured to process data, e.g. which was captured or otherwise collected by sensors, and which was received e.g. via the interfaces 342, 345 and e.g. local resources control module 360 (or the remote resources control module, if such is used). It performs e.g. data processing / computing tasks, e.g. as disclosed elsewhere herein. Various computations are performed on the data, e.g. so as to support decisions by e.g. mission and flight planning modules 333, 337, and mission management and verification modules 330, 340, as well as resource assignments module 350. In one example, this module runs machine learning algorithms, e.g. neural networks, on the data.

[0088] In some examples processor 314 comprises machine learning training module 364. In some examples, module 364 is configured to train, and / or to re-train, machinelearning models using various data. In examples other than that of the figure, the training is performed on a separate system (not shown), which receives the relevant training data from computerized system 310. In some examples, this occurs in real time or in near real time, e.g. as disclosed further herein.

[0089] In some examples processor 314 comprises mission planning module 333. In some examples, module 333 is configured to perform mission planning tasks, e.g. as disclosed elsewhere herein.

[0090] In some examples processor 314 comprises flight planning module 337. In some examples, module 337 is configured to perform flight planning tasks, e.g. as disclosed elsewhere herein.

[0091] In some examples processor 314 comprises mission management module 330. In some examples, module 330 is configured to perform mission management tasks, e.g. as disclosed elsewhere herein.

[0092] In some examples processor 314 comprises mission verification module 340. In some examples, module 340 is configured to perform mission verification tasks, e.g. as disclosed elsewhere herein.

[0093] In some examples processor 314 comprises flight module 322. In some examples, module 322 is configured to receive flight plan / instruction information from a local or remote flight planning module 337, and to fly the aircraft / object, e.g. to send commands to control surfaces such as flaps and ailerons, adjust the engine(s) power / speed etc. In some examples, this is the standard avionics / control systems of an airplane, helicopter etc.

[0094] In some examples, processor 314 comprises resources assignments module 350.In some examples, module 350 is configured to perform decision making processes, e.g. regarding assignment of tasks, and / or regarding assignment of local and / or remote resources 210, 220, 259, 267 to various tasks, to be performed by various flying objects 160, 180. More detail on decision making, including resource assignment decisions, is disclosed further herein. Note that decision making, and resource assignment, can be considered in some examples as an additional category of task, e.g. an additional special case of data processing / computing tasks.

[0095] Note that the example system 310 of the figure illustrates a somewhat "high-function" version of a mission-support system 310 associated with an object 225, 180 -in that it comprises the full set of disclosed example modules. Such an object is capableof performing all of the example tasks disclosed herein. In some other examples, an object 225 is not configured to, or does not in practice, perform tasks such as mission planning, flight planning, resource assignments decisions, mission management, and / or mission verification - or alternatively performs only a sub-set of those tasks. " Simpler" flying objects may simply collect certain data using sensors, control the sensors and resources such as effectors 220, 267, and in some cases perform computation tasks related specifically to such sensors and other resources. Thus, the various flying objects can comprise systems 310 with various levels and degrees of functionality.

[0096] Example functions of the modules of processor 314 are disclosed further herein with reference to e.g. the flow charts Figs. 5 and 6 and related text.

[0097] In some examples, memory 317 of processing circuitry 423 is configured to store data associated with the mission support process, e.g. comparatively transitory data. Nonlimiting examples of data stored include: calculations performed on collected data, which are then used to make decisions, updates in model weights to support and AI application / algorithm etc.

[0098] In some examples, the computerized system 310 comprises data store 319. In some examples, more long-term and persistent data is stored in the data store. Nonlimiting examples shown include databases, containing data and / or model weights that are fed into machine learning training module 364.

[0099] In some examples, either or both of the two example databases 238, 387, shown in Fig. 2 as resources external to the computers, are instead comprised within the computerized mission support system 310, 230, 280, e.g. as data store 319.

[0100] Figs. 2 and 3 illustrates only general schematics of the system architecture, describing, by way of non-limiting example, certain aspects of the presently disclosed subject matter in an informative manner, merely for clarity of explanation. It will be understood that the teachings of the presently disclosed subject matter are not bound by what is described with reference to Figs. 2 and 3.

[0101] Only certain components are shown, as needed, to exemplify the presently disclosed subject matter. Other components and sub-components, not shown, may exist. Systems such as those described with respect to the non-limiting examples of Figs. 2 and 3 may be capable of performing all, some, or part of the methods disclosed herein.

[0102] Each system component and module in Figs. 2 and 3 can be made up of any combination of software, hardware and / or firmware, as relevant, executed on a suitabledevice or devices, which perform the functions as defined and explained herein. The hardware can be digital and / or analog. Equivalent and / or modified functionality, as described with respect to each system component and module, can be consolidated or divided in another manner. Thus, in some embodiments of the presently disclosed subject matter, the system may include fewer, more, modified and / or different components, modules and functions than those shown in Figs. 2 and 3. To provide one non-limiting example of this, in some examples mission management module 330 and mission verification module 340 are combined into one module. Similarly, mission planning module 333 and mission management module 330 can be combined. Similarly, as indicated above, the local resources control module 360 can be supplemented with a separate remote resources control module (not shown).

[0103] One or more of these components and modules can be centralized in one location, or dispersed and distributed over more than one location, as is relevant. In some examples, certain components utilize a cloud implementation, e.g. implemented in a private or public cloud.

[0104] Each component in Figs. 2 and 3 may represent a plurality of the particular component, possibly in a distributed architecture, which are adapted to independently and / or cooperatively operate to process various data and electrical inputs, and for enabling operations related to computerized machine learning model training. In some cases, multiple instances of a component may be utilized for reasons of performance, redundancy and / or availability. Similarly, in some cases, multiple instances of a component may be utilized for reasons of functionality or application. For example, different portions of the particular functionality may be placed in different instances of the component.

[0105] Communication between the various components of the systems of Figs. 2 and 3, in cases where they are not located entirely in one location or in one physical component, can be realized by any signalling system or communication components, modules, protocols, software languages and drive signals, and can be wired and / or wireless, as appropriate. The same applies to interfaces such as interface modules 345.

[0106] As disclosed above, the computer system 310 is configured to perform a portion of a distributed application within the flying formation 195. The distributed application is configured to perform a plurality of decisions associated with the flying formation. These decisions comprise at least one task assignment decision. The application isdistributed, in the sense that part of it is comprised in the modules of processor 314 associated with flying object 205, 150, disclosed with reference to Fig. 3, and other parts of it are comprised in similar modules (e.g. other instances of at least some of the same modules), running on similar processors (not shown) in computer systems 280 associated with other flying objects 255, 190, 180. The computer processing, decisions etc. occur across multiple platforms 230, 280, 205, 255.

[0107] The computer 280 associated with each flying object 255 thus participates in performance of the distributed application. In at least this sense, each computer 310, 230 facilitates / supports the operation of the distributed application within the flying formation. This facilitation utilizes the communication among the flying objects, which in turn is enabled e.g. by the virtual avionics bus 252. Recall that a computerized system 230 is configured to communicate with one or more other computerized systems 280. As will be disclosed, the communication across objects enables sharing of information, associated with one flying object 190, 205 with at least one other computerized system 280 associated with one or more other flying objects 180, 255. The sharing of information, as will be disclosed, in turn, enables the sharing of resources 220, 257, associated with one flying object 205, with one or more other flying objects 255. In turn, the sharing of resources facilitates performing, by each computer system 230, the portion of the distributed application.

[0108] Examples of decisions associated with the flying formation, that comprise at least task assignment decision(s), include at least those in the following paragraphs.

[0109] (A) A coordinated data collection decision, on a procedure for coordinated data collection across the flying formation 195. The coordinated data collection may in turn require a number of data collection decisions. These data collection decisions assign one or more data collection / data acquisition tasks, associated with the defined geographical region and with the defined time frame, across the flying formation, to one or more of the flying objects and / or to their associated computer systems 310. In combination, all of the data collection decisions provide the optimum data collection for the formation, in a coordinated manner, giving an optimum picture of the situation / environment, and thus facilitating optimum decisions on how to accomplish the mission.

[0110] (B) A data processing decision, of assigning one or more data processing tasks across the flying formation 195. In some examples, the data processing, e.g. of data gathered from a particular sensor 210, is split up - e.g. distributed algorithm performance,distributed data processing, shared computing. That is, the array 195 takes a particular computer processing task, and it splits up the sub-tasks of this task across systems 230, 280 of different objects. Note that the data processing will in some cases be needed before the action tasks (and in some examples also mission planning, flight planning etc.) can be defined and assigned.

[0111] One particular example of a data processing decision is a decision that a particular flying object 205 will be responsible for receiving the product / outcome of a particular task. For example, this object will verify that a task was completed, e.g. will determine that the fire 125 at location X has been extinguished - which can also be considered part of a mission verification task. Another example is that the object 205 (using its system 230) will verify the identification / classification of a target, which was possibly performed for another object 255.

[0112] (C) A mission planning decision, of assigning one or more mission planning tasks across the flying formation 195.

[0113] (D) A flight planning decision, of assigning one or more flight planning tasks across the flying formation 195.

[0114] (E) An action tasks decision, of assigning one or more action tasks, associated with the defined geographical region and with the defined time frame, across the flying formation 195.

[0115] (F) A mission management decision, of assigning one or more mission management tasks, associated with the defined geographical region and with the defined time frame, across the flying formation 195. The mission management could be performed in an automatic fashion, in some cases. In other cases, it can be assigned to a particular human crew member 290 located in a particular flying object(s) 255. In some examples, there are multiple mission managers, multiple computers 310 on multiple vehicles 160, 170. Each can manage a sub-set of the total set of tasks. In some examples, the mission manager can change dynamically. For example, a certain threat is detected, and a particular object 180 is assigned to now be the mission manager / commander / controller. Thus, in some implementations there is distributed / decentralized command, control and management of the mission(s).

[0116] (G) A mission verification decision, of assigning one or more mission verification tasks, associated with the defined geographical region and with the defined time frame, across the flying formation 195.

[0117] (H) A flight-characteristics decision, determining respective flight characteristics of flying objects 180, 190 of the formation. A decision is made about the behavior of the formation. Example decisions include the following: how and where to fly, which flying object flies first and last, which of them fly on the outside and on on the inside of the formation. Another example is should a slower object 160 start flying now, and faster objects 150 will start later and will quickly catch up. In some cases, some object(s) are instructed to arrive at the region 110 before the others, and to start collecting data (e.g. while hovering over a target 120) while the other flying objects are still on their way to the region.

[0118] Decisions are in some examples made based on flying capabilities of each object, and on protection characteristics of each object. For example, an unprotected aircraft is in some cases kept relatively far from the fire or the contamination. By contrast, the more protected vehicles, and / or the unmanned vehicles, may be sent to the more dangerous parts of the defined region 110. In some examples, decisions are made as to how each object will fly - speed(s), flight path and altitude(s) etc. These flight-characteristics decisions are in some examples based on the flight planning. In some examples, flying the objects 160, 180 with the respective flight characteristics will enable coordinated flight of the objects of the flying formation 195, thereby facilitating performance of the various tasks.

[0119] In some examples, the decision(s) on how to perform e.g. data collection and action tasks can affect the decision on the flight, and vice versa. For example, it is best to deliver fire retardant materials onto the fire 120 from the west, so plane 150 is instructed to fly to the west. Note also, that if a particular task will change the location of a flying object, if two (or more) different tasks must be done, and if the second should be done at the current location of the flying object 180, it can be that two different objects 180, 190 are assigned the two different tasks - since one object cannot be at both locations simultaneously.

[0120] (I) A decision to optimize mission parameters. Non-limiting examples of optimizing mission parameters include the following: maximize surveillance time; maximize area coverage; and / or maximize processing throughput. Such a decision may in turn involve multiple specific other decisions, e.g. assigning data collection tasks, assigning data processing tasks, deciding to change flight characteristics of various flying objects 180 etc.

[0121] Note that the above decision "numbering", first second, etc., is only for clarity of exposition. These do not imply the order in which decisions are made, nor their relative importance, nor dependence between them. These decisions can be made independently of each other.

[0122] In different implementations, and / or for different decisions to be made, there are different ways to perform / make a plurality of decisions. Non-limiting examples of participating in decision making are disclosed in the following paragraphs:

[0123] (i) The computerized system 230 makes a particular decision, itself.

[0124] (ii) System 230 proposes a decision to another computerized system(s) 280, and it receives from the other system a confirmation of the decision.

[0125] (iii) System 230 receives from other computerized system(s) 280 a proposal for the decision, and it provides the confirmation of the decision to the other system(s) 280.

[0126] (iv) System 230 performs the enabling of the sharing of resources, e.g. sharing of a processor 314, 232, a memory 317, and / or a data store 238, 319. This thereby facilitates the making of the decision by other computerized system(s) 280, which access these shared resources of system 230. For example, the shared resources comprise information relevant to the decision. In this particular case, the local computer system / processing system 230 does not make a decision at all. Its role in the decision-making process is to share information / resources with other objects 225, which then made the decision.

[0127] The above functions related to decision- making (task and resource assignment, flight characteristics decisions etc.) are performed by the local computer system 230, associated with one flying object 205, utilizing the access to the information associated with the other object(s) 225. In some cases, the resources 217, 260, functions and data 238, 387 can be seen as virtually shared. Thus, at the virtual layer, the local system 230 knows that there are various functions etc., and where in space each is located (based on where each object 255 is), their capabilities and their availability status (e.g. free, occupied, X% occupied). Thus, each flying object 230 has access to functionalities of a varied nature, which it itself does not possess. This can help it perform its own functionalities.

[0128] In some other examples, the local system 230 of object A 205 does not itself know that resource R 267 sits on object B 255.

[0129] The system 230 is thus configured to participate in a decision(s) to assign specific capabilities of the object 205 for performance of specific tasks associated with the definedgeographical region and with the defined time frame. Also, in some examples, the system 230 can participate in a decision to assign specific capabilities of other object(s) 280 for performance of specific tasks. The local system 230 can assign the capability / resource for use of the local object 205 itself, or for the use of remote / other object(s) 255. In some examples, these decisions, in combination, thus make a plan as to what tasks should be performed, and which object does what task.

[0130] In some cases, the task assignment decision(s) comprises a decision that a particular task is to be performed, by the flying object, jointly with at least one other object. Such a task is referred to herein also as a joint task. For example, the object 205 decides it cannot do the task alone, and it asks that another object 255 also perform it, jointly. One example of joint performance of a task is that each object performs an action task in a portion of a geographical sub-region of the larger region / area 110, e.g. so that together the entire sub-region is covered in terms of performance of the task. For example, the fire 120 is large. One object 205 is unable put it all out. Therefore, first object 205 drops material on the west 60% of the area, and second object 255 drops on the east 40% of it. In some cases, the objects may perform their portion of the task in somewhat overlapping sub-areas. In another illustrative example, each object performs the action task in a portion of a time period, so that the task is in total performed over the entire time period. For example, object 205 delivers material for the first 5 minutes, and 255 delivers for the next 10 minutes. In some cases, the objects may perform their portion of the task in somewhat overlapping time sub-periods. In some examples, the split is over both time and geography.

[0131] Some example methods for making decisions in the formation include those in the following paragraphs:

[0132] (1) Centralized decision-making - one system 230 (one flying object 205) acts as the resource manager, a master decider, and it makes final decisions (if it is capable of it), about all task and resource assignments - or final decisions for specific decisions / assignments. All of the other objects 280 are slaves regarding these decisions. In some implementations, one object makes all of the decisions. In other examples, different objects are the "centralized decision makers" - e.g. each is response for different types of decision - flying arrangements, data collection tasks etc.

[0133] (2) In some other cases, the decisions are made by vote by two or more systems 230, 280 of two or more of the flying objects 205, 255.

[0134] (3) A system 230 / vehicle 205 decides for itself, and it notifies the other object(s) 255. Alternatively, the other object(s) see / access the decision, over e.g. the virtual bus 252. There is no master decider (at least for the specific decision).

[0135] (4) Decisions are made collaboratively. E.g. flying object A 205 proposes that it perform task T using resource R of object B 255, and the other object(s) agree to the proposal (or reject it). Again, there is no master decider. Another example of collaborative decision-making is system 230 making a decision, jointly with at least one other computerized system 280. Such a decision is referred to herein also as a joint decision.

[0136] (5) A first computer system 230 / first object 205 tells a second computer system 280 / second object 255, that it will not provide a functionality / capability / resource for the use of the second object 255 - e.g. that the first object needs the functionality / resource, and it will not release it for use by the other object 255.

[0137] Thus, the process of decision making, e.g. in light of the formation's awareness of the situation, can be distributed and / or collaborative and / or centralized; and it is based on at least two of the flying objects of the formation have different abilities / features / resources. The decisions make use of the advantages of this heterogeneous nature of the formation, and of intra-formation communication enabled by e.g. the virtual bus. In some implementations, the decision making is distributed in that more than one system / object in the formation makes a decision during the entire mission, or even at a particular stage of the mission (deciding on data gathering and related assignments, deciding on action tasks assignments etc.) - using any or all of the methods disclosed above (deciding alone, suggestions, voting etc.). In some such implementations, all of the objects in the formation are configured to make decisions, and all of them make decisions during a mission.

[0138] Some example bases, on which decisions are made in the formation, include the following:a. The decisions are based at least partly on rules, e.g. on deterministic rules, e.g. on configurable rules.b. The decisions are based at least partly on adaptive artificial intelligence / machine learning-based algorithms, e.g. which are known or visible to all of the systems 230, 280.c. The decisions can be based on priorities. For example, if a functionality or resource 283 is not fully available, but rather it has a queue (not shown) (e.g. a queue for who can use certain CPU (central processing unit) 283power, who can point a sensor 213 in a particular direction to capture particular data), the tasks can be associated with configured / assigned priorities. Also, a newly arrived higher priority task can jump ahead in the queue, over other existing tasks.

[0139] In some implementations, the particular system 230 of flying object 205 will also be updated as to assignment decisions performed by other systems 280 of other flying object(s) 255.

[0140] In some examples, the distributed application is further configured to perform a plurality of updated decisions, in response to changes in at least one of:a. collected data; andb. a flight situation of the flying formation.

[0141] In some examples, updated decisions and actions are performed in real time (e.g. handled and analyzed as it is generated / received, without delay) or in near real time (e.g. with no significant delays or minimal delays), to meet mission requirements. In some examples, they are performed in a time interval on the order of milliseconds or seconds. In some examples, decisions and actions for tracking objects are performed within milliseconds, and those relating to flight should occur within seconds. Note that real time and / or near-real time performance of various actions disclosed herein is in some cases required in order to bring the various flying objects to their appropriate destinations, and to perform missions in the defined time frame, and more so when the formation is functioning independently of external systems (e.g. ground systems).

[0142] For example, as the objects continue to fly, and e.g. some do or do not get to their destination on time, and as the systems 230, 280 collect more data during the mission (e.g. objects of the formation get closer to the fire 120 and capture certain images for the first time), the formation can dynamically change one or more of the decisions. This also includes the verification function - if the data collected for verification shows that e.g. fire 120 was not put out by the planned time T, the formation can make new decisions to solve that problem. In some examples, the decisions update is performed dynamically.

[0143] Once decisions are made, flying objects of the formation 190 implement the decisions, e.g. perform the decided-on actions / tasks. In some examples, a system 230 of an object 205 sends one or more instructions to the flying object 205, 255, to fly with flying object flight characteristics based on the mission management decision and / or on the flight characteristics decision. For clarity, this instruction is referred to herein also asa first instruction. In some examples, a system 230 of an object 205 sends one or more instructions to the flying object 205, 255, to perform one or more tasks, based on at decision(s) associated with the distributed application. In some examples, the task(s) comprises at least one of:(a) a data collection task;(b) an action task;(c) a mission management task;(d) a verification task.

[0144] For clarity, this instruction is referred to herein also as a second instruction, to distinguish it from the first instruction regarding flight characteristics. The second instruction is commanding on-board components / systems 210, 260, 283 of the object (and / or of other flying objects) to perform the assigned task using the assigned capability (e.g. an assigned resource, such as CPU 283, sensor 213, delivery payload 220 etc.)

[0145] The instructions can be sent by the object 205 itself, and / or by another object 255, which made a decision. That is, there can be distributed decisions and instructions, and / or decisions / instructions by one central object.

[0146] In some implementations, the method of the above-disclosed Embodiments 1 and 2 includes also the following: the system 230 of a flying object 205 makes a determination that at least one other flying object 255 is unable to perform at least one of the following:A. start performance of at least one assigned task, which had been assigned to that other flying object 255 per the task assignment decision(s) process; andB. finish performance of this assigned task(s).

[0147] Responsive to such a determination concerning the other object, the system 230 realizes that this task must be reassigned. It therefore repeats, at least once, the steps of enabling sharing of information, enabling sharing of resources, and performing a portion of the distributed application within the formation / array 195. The result is an update to the least one task assignment decision(s) made earlier, which becomes the new task assignment decision(s).

[0148] As disclosed above, in some examples computerized system(s) 230, 310 is configured to communicate with one or more other computerized systems 280, 310. This thereby can facilitate the enabling of the sharing of the information, the sharing of the resources, and / or the performing of a portion of the distributed application.

[0149] Sharing of information can be accomplished in more than one way. In some cases, the enabling of the sharing of the information comprises that the processing circuitry 312 of system 230 is configured to obtain information (also referred to herein as second information) stored 387 in the other ("remote") computerized system(s) 280. In some cases, the enabling of the sharing of the information comprises that the processing circuitry is configured (additionally, or alternatively) such that the other computerized system(s) 280 is capable of obtaining information (also referred to herein as first information) stored in the local computerized system 230, associated with the local flying object 205. Both can be true for a particular pair of objects and for particular information: a first object can read other's (second object's) data, and / or the other can read the data of the first object.

[0150] Two extreme situations of the above are a "leader / master vehicle" and a "slave vehicle". The leader vehicle 205 can gather information on what other objects 255 do, and on what they know. However, and it does not share information with the other systems / objects. Similarly, a slave vehicle 255 shares its data with 205, makes it available to the others, but cannot it read the other's data. In an extreme situation of "all to all" sharing, all flying objects in the formation 195 provide information to all of the other objects, and they all obtain information from all of the others. That is, all objects have access to information of all other objects in the formation.

[0151] Examples of information shared include one or more of the following. An object 205 can have access to information of the capabilities of at least some of the other objects 255, 160, and / or at least some of the other systems 280 can have access to information of the capabilities of the first object 205. In another example, there is access to information about the availability of a particular resource 210 (e.g. is it installed / configured, is it functioning correctly, does it have free capacity and / or is it already in use for another task), and / or about availability of an object 160 to perform a certain task or function. In another example, there is access to data collected by sensors 257, 259 of other vehicles 255, 180. In another example, the computer 280 of one object shares e.g. database information with the system 230 of another object, e.g. to tell the other object how a particular target particularly behaves, so that the other object can take action. In another example, the currently collected sensor data, acquired during this mission, is shared with another flying object 205, so that object 205 can use the data to e.g. to make real-time decisions as to what to do.

[0152] In some examples, the access is in real time or near real time. In some examples, the system is configured so that access is within a time interval on the order of milliseconds or seconds. In some examples, access related to for tracking objects is performed within milliseconds, and that relating to flight should occur within seconds.

[0153] In some examples, the communicating utilizes a virtual avionics bus 252. Virtual avionics bus 252 can be utilized to access the sensors 257, payloads 260 etc. on other vehicles 255, so as to perform tasks and to gather data. The decision-making functions, among other, are performed utilizing the access to the information associated with the other objects 255. In some examples, the sharing of information is achieved by enabling access to a database 238, 287, e.g. makes it accessible via the bus.

[0154] Some additional examples of types of data access, and how a flying object 205 can access info on other flying objects 255, include the following:i. the system 230 accesses the information, e.g. the databases 387 and the sensors 259, using the virtual avionics bus 252. For example, the system pulls or reads the information off of the bus.ii. at least one flying object has a relevant database 238, which the other objects can access. In some examples, each of the computer systems 230, 280 has access to the databases 238, 287 of all of the other computer systems.iii. the systems 230, 280 have access to a virtual shared database, comprising the databases 238, 287 of multiple computer systems of multiple flying objects 170, 160, 150.iv. the databases sit in a decentralized cloud, spanning the formation 195. v. the system 230 pulls data from other system(s) 280, and / or the system 230 pushes its own local data to other system(s) 230.vi. a system 230 broadcasts to the other(s) 280 the capabilities of its associated object 205, and the availability status of the capabilities / resources 210, 232.

[0155] Sharing of resources can be accomplished in more than one way. In some implementations, a computerized system 230 of one object monitors an availability of resources 260 of at least one other flying object 205, utilizing e.g. local resource control module 360, a remote resources control module, and / or a monitoring module (both not shown in Fig. 3). In some example cases, the sharing of resources comprises enablingcontrol, by other flying object(s) 255, of a resource of the first flying object 205. This can thereby facilitate performance of an assigned task(s) by the other flying object(s) 255. The resources of this first object are referred to also as first resources. In some example cases, the sharing of resources comprises enabling control, by the flying object 205, of a resource of the other flying object(s) 255. This can thereby facilitate performance of an assigned task(s), by the first object 205. The resources of the other object(s) are referred to herein also as second resources. Thus, a first flying object can control and use resources of a second flying object, and / or vice versa. The assignment decisions (which objects collects data, perform actions, manage missions etc.) in some examples make use of the ability of an object to control remote resources.

[0156] In some examples, the communication capabilities within the formation 195, e.g. the virtual avionics bus 252, can be utilized not only to access information / data across the objects, but also to control remote resources - e.g. to access the sensors 257, payloads 267 and other systems 283, 387 etc. on other vehicles 255, so as to perform tasks and to gather data (and additional data) as needed. In some implementations, local system(s) 230 sees various remote resources 283 as accessible to it, and it does not know that they belong to another remote object 255.

[0157] Of course, in some implementations, an object 205 can of course also assign or otherwise enable a local resource 210 for the object's own use, in performance its own task(s).

[0158] As disclosed above with reference to embodiment 2, the enabling of the resource sharing in some cases comprises the following specific implementation, performed e.g. by processing circuitry 312:A. computer system 230 determines that a task, which is assigned for performance by its associated flying object 205, requires use of a required type of resource, e.g. an IR camera 257;B. computer system 230 determines that all local resources 210, 213, 217, 220 that are present on the flying object 205 are of resource types that are not of the required type of resource (e.g. are not IR cameras). Its resources ("first resources") do not correspond to the required resources, in that they are not of identical types as are needed.C. system 230 determines, utilizing the sharing of the information, that a remote resource 257 ("second resource"), present on another flying object 255, is of the required type of resource;D. system 280 takes control of the resource, thereby facilitating performance of the task.

[0159] In some cases, the system 230 and / or object 205 then performs the task utilizing the second resource. For example, a first object has been assigned to image the fire, and it controls the camera on a remote object - telling the remote camera when to capture an image, with what frequency, what resolution to use, in what direction should the camera point etc. Rather than the remote object controlling its own camera, the first object is controlling it. The same types of control also applies to control of the performance of computer tasks (including machine learning model re-training, disclosed further herein), of delivering water / dropping ladders and other such actions on the physical environment etc. In some examples, the task comprises making a decision, based at least on the taking control of the resource.

[0160] In some examples, these above three determinations, and in some examples also the taking control, are performed in either real time or near-real time, to meet mission requirements. In some examples, they are performed in a time interval on the order of milliseconds or seconds. In some examples, determinations and taking control related to tracking an object or changes in the targeting are performed within milliseconds, and those relating to flight coordination should occur within seconds or more.

[0161] In some examples, the above steps A to D are repeatedly performed, as is relevant, and as is needed, until completion of a mission. This repeated performance thereby facilitates a coordinated performance of the mission by the flying formation 195, in that one flying object(s) utilizes remote resource(s) of other flying object(s) to perform mission tasks. In some examples, multiple objects 160, 180 are utilizing resources of other objects 170, 150 etc. to perform the missions. At different stages of the mission, it can be that different objects are controlling a particular remote resource(s), and an particular object is taking control of different remote resources.

[0162] Thus, each flying object 160, 205 has access to functionalities and resources 257, 270, 263 of a varied nature, which it itself does not possess. This can help that flying object perform its own functionalities and assigned tasks.

[0163] Note that the communications between objects of the formation is not used only to share information, e.g. on targets 115, 120, and to coordinate the flying of the objects (e.g. an acrobatic formation flying in a particular formation shape), but also to enable work procedures - to affect decision making and task assignments, utilizing sharing of e.g. heterogeneous resources.

[0164] In some example implementations, the distributed application, e.g. running on processor 314, is configured to function independent of communication between the flying formation and external systems. The distributed application is configured to be capable of functioning fully, utilizing only information that is communicated only internally to (within) the flying formation 195. For example, the system(s) 230, 310 of each flying object 205 is capable of making the various types of decisions, based on communications only with the systems 280 of the formation. Thus, the formation is configured to be able to function in an autonomous manner.

[0165] In some examples, the various shared access to all information and resources, disclosed herein, alone or in various combinations, enable the formation 195 to have enough information and capabilities to perform the mission(s) autonomously and independently. As disclosed herein, the intra-formation communication, e.g. utilizing virtual avionics bus 252, enable this shared access and thus the autonomous function. In addition, a combination of heterogeneous components / resources, sufficiently varied in their capabilities, can allow allows efficient and sufficiently fast performance of tasks, without relying on an external system. For example, because a certain object 205 has the required database 238 for the tasks, of sufficient capacity and having stored the required data items, and another object 255 has a processor of sufficient capacity, all of the calculations / processing can be performed within the formation itself, and all of the required data / information is comprised within the formation. The formation need not send a request to external systems to perform a particular calculation, and / or to provide certain lacking historical data. This also applies to machine learning, disclosed further herein. Note that if the formation was not heterogeneous, and / or did not share information and resources, this might not be possible. A homogenous flying array might have no objects 160 which hold the required database, and a heterogeneous formation without resource sharing might not be capable of providing database information from one object to another.

[0166] This autonomous capability thus enables the formation / array 195 to function without the need to receive external information / data, input, commands or functional assistance, that is from systems outside of the formation. Examples of external systems are ground stations, waterborne stations, and flying objects that are not members of the formation (all not shown). This autonomous capability provides at least certain example technical advantages. For example, the formation is capable of relatively faster response and decisions, to function within a defined geographic region 110, as compared to a time interval required if the formation (or specific flying objects 160) had to communicate with external systems (whether centralized external systems or distributed external systems). The autonomy also facilitates increased efficiency and increased overall abilities of formations. Multiple formations can do more tasks, since there is comparatively less load on the central (or distributed) external system(s): the external systems need provide less attention to the formation (thus using less processor and memory capacity), and there is also less use of external communications resources (not shown) between the formation 195 flying objects and the external system(s). Also, the application is configured to function also in a situation of absence of communication between the flying formation and the external system(s) -- e.g. the formation is functioning out of range of the external systems, the communications are overloaded, and / or there is e.g. radio interference.

[0167] In some examples, processing circuitry 312 utilizes a data structure comprising:• an entity-definition layer;• a meta-data layer;• a calculated information layer; and• a prediction layer.

[0168] Attention is now drawn to Fig. 4, schematically illustrating an example generalized view of a data structure, in accordance with some embodiments of the presently disclosed subject matter. The figure depicts a conceptual view of an example coreset data structure 400.

[0169] Entity-definition layer 410 defines a particular entity, a particular piece of information. Metadata layer 430 defines metadata associated with an entity - e.g. the source of the item information, time information such as timestamps, the relative priority of one entity compared to others, an entity's connection to other entities etc. The calculated information layer 450 holds calculated information associated with the entity, for example: number of entities within a time frame, position of an entity or an object, themain source of the information, statistical characteristics (e.g. average and standard deviations) of data within the entity. In some cases, each piece of information has an associated level of "updated- ness" / recency / recentness, a level of reliability, and a level of accuracy. Prediction layer 470 contains predicted information concerning an entity, e.g. where will fire 125 spread to in ten minutes, where will vehicle 140 be in 5 minutes etc. Another example of prediction is the state of resources of vehicle(s), e.g. how much fuel and / or water / fire retardant materials will be left in vehicle X. Predictions in some cases utilize machine learning models of historical behavior, and which are trained also on newly gathered data, e.g. collected during the mission itself. In some instances, predictions are shared between vehicles / objects, so as to improve the predictions.

[0170] In some examples, there is a shared data structure across the formation 195. The data format(s) is known to all vehicles 160, 180 in the formation, thus facilitating the sharing of information.

[0171] In some implementations, at least some systems 310, associated with at least some flying objects of the formation, objects comprise one or more machine learning (ML) functionalities, e.g. which utilize machine learning / artificial intelligence model(s) / algorithms, e.g. using neural networks. In some examples, one or more of the task assignment decisions, disclosed above, is at least partly based on a situational awareness that is determined utilizing the machine learning functionality (s). These ML functionalities are an example of resources, which can be shared across the formation. In some such implementations, at least some of the machine learning functionalities utilize two levels of machine learning training data, in re-training the models which contribute to the situation awareness. The machine learning functionality is trained on at least two types of data. These two types are in addition to the initial training data, which were used to build the initial model / functionality. These two levels are based on data from two different time frames:

[0172] (I) The first level is past data. These comprise sensor data and / or calculations data. The system(s) store 319 data from e.g. past missions, of different types, including sensor 213 data from past missions, and calculations performed in the past by e.g. processor 232. Such data is referred to herein also as historical data, in that it was gathered and / or calculated over past missions. This data is also referred to as "production" sensor / calculations data, in the sense that they are gathered when the machine learning modelsare in their "production stage", in which the models are being used in actual missions — that is in a stage after the "development / initial model construction" stage.

[0173] (II) The second level is current-mission sensor 213 data, collected during the function of the flying formation 195 in the current mission(s). In some examples, updated training of the machine learning functionality (s), is performed during the function of the flying formation 195, during the current mission(s), using the current-mission sensor data (i.e. captured during the current mission). For example, a weights matrix / table in an ML model is updated, during the mission itself.

[0174] Embodiments 1 and 2 can both utilize this two-level machine learning functionality. The heterogeneity of the formation, and the sharing of resources and information within the formation, can enable improved mission performance using the ML functionalities. Consider an example case in which flying object 160 has the assigned task to make a certain decision, as to the best way to put out fire 120. Its computerized system 310 sees (using information sharing) that object 205 comprises a trained ML model 237 of how forest fires spread in the relevant type of forest. It also sees that vehicle 255 comprises a history database 387 of calculations and sensor measurements associated with forest fires from the previous several months, and that it comprises a strong processor 283 capable of performing retraining of model 237. Per the presently disclosed method, object 160's computer 310 can take control of these resources, and instruct processor to re-train model 237 using the historical production data 387. In another example of this scenario, computer 310 also sees that e.g. new sensor data is being captured in the current mission, about current fire 120, by sensors 210, 214, 257, 259 of multiple vehicles 205, 255. It instructs that also this new data should be fed into the retraining of model 237, e.g. as it is collected.

[0175] In one example, a second object 205 has ML training resources 237, 232. The first object 255 instructs the object 205 to do in-mission training or re-training of the ML model 237, to support the object 255's own tasks. In the example of Fig.2, the model 237 already resides on object 205. In another example, the model resides elsewhere, on a third object 160, but second object 205 has sufficient resources 232 to perform the updated training (and e.g. to write the results to the third object 160, for storage). In still other examples, the vehicle 205 instructs its own processor 232 to re-train ML model 237, to support object 205's own tasks.

[0176] These re-trainings provide a more up-to-date, and thus improved, situational awareness, a picture of how (for example) fire 120 is behaving and is expected / predicted to spread / behave / change in the future. This example illustrates an example technical advantage of the heterogeneous formation 195. Object 160 did not have the resources 237, 387, 283 to train or retrain an ML model about fires, and itself it could not predict e.g. the behavior of the fire. Even an entire formation of identical objects 160 could not do this, due to the lack of the relevant resources. However, the fact that formation 195 is heterogenous, comprising objects having different resources, enabled one object 160 to utilize resources of other objects to perform machine learning and to obtain new information which it otherwise not have, in e.g. near real time or real time during the mission flight itself -- and thus to make certain decisions and perform certain tasks in an improved manner, with a more informed and updated situation awareness, updated in some cases to real time. This ability to access and share the resources is in turn enabled by intra-formation 195 inter-object communication, such as is provided by virtual avionics bus 252, which enables information sharing. In some examples, each object 160, 170 is trained and retrained on various data, comprising various models, in an ongoing continual process over time, based on historical and / or current mission data and calculations, thus improving situation awareness and thus improving decision making of multiple objects of the formation.

[0177] Note that in embodiment 2, a first flying object takes control of a second resource of a second flying object. In the above example of machine learning functionality, the taking control can comprise the first computerized system 230 instructing the other computerized system(s) 280 of the other object 255 to perform training, and / or updated training, of the ML functionality. In some cases, the first computerized system 230 is further configured to perform a task based on this updated training.

[0178] In another example, a particular object 160 is relatively weak in the ability to perform fusion of data from multiple sources. A particular database 238 can assist it in performing fusion. Therefore, the object accesses, e.g. in real time, database(s) of other objects, with "long-term" data - e.g. machine learning data that describes what different target objects look like.

[0179] As discussed above, the steps of the methods, of embodiments 1 and 2, are in some cases repeated at a next point in time. In some cases, data is collected, computations are made, decisions are made, tasks are assigned and are implemented - and some or all ofthese steps are repeatedly performed by computer system 310, 230, as is relevant, and as is needed, and the process continues, until completion of a mission. This can include making additional assignment decisions, and performing additional tasks, based at least on additional data, acquired at a later time, e.g. by the sensors 210 of the formation 195.Over time, and as the objects 160, 150 fly to the mission and within the mission, new data is gathered, and the surrounding conditions and the environment change (e.g. the fire spreads in an unpredicted manner). Also, it can be that previous tasks have succeeded or failed - e.g. airplane 150 succeeded in putting out fire 125, but tanker 180 did not succeed in putting out fire 120 as was assigned. Thus, the planning, decisions and assignments can change over time. These updated utilize updates to the information accessed / shared across the objects 160, 150.

[0180] Thus, in some examples the combination of flying objects in the heterogeneous flying formation gathers data, e.g. in real time, and jointly performs analysis of the various gathered data. It plans the performance of the mission, including its tasks, based on the results of this analysis. The implementation of the mission, and the division of labor between objects (which one does what, utilizing what local and remote resources) can be updated continually, based on the data gathered "in the field" in e.g. real time. Such a formation can be autonomous, and adaptive in performance of the mission, based on the progress of the mission (e.g. completion / non-completion of various tasks at various points in time.)

[0181] Thus, in some examples, the methods of embodiments 1 and 2 further comprise: making updated decision(s), in response to occurrence of situation changes. This can include making additional assignment decisions. As a result, additional and / or different tasks can be performed. Examples of situation changes include the following:G. changes in collected data. E.g. the fire direction and / or the location of the center of the fire moved; the measured humidity or wind direction changed; a new fire broke out in a different location.H. changes in relative positions of flying objects of the flying formation. E.g. winds cause changes in the direction and / or speed of objects 160, 150. E.g. this causes the route 155 of a flying object to change. Note that in some cases, these can also be detected in sensor data changes.I. changes in relative velocities of flying objects of the flying formation - e.g, in speed and / or direction of flight.J. non-arrival of at least one flying object at a planned point in space at a planned point in time. For example, flying object(s) 150 missed a planned flight waypoint, and did not arrive at the waypoint by 11:30 AM.K. a new flying object joining the flying formation.L. a flying object leaving the flying formation.M. changes in position or angle of target objects in the region 110 (e.g. on the ground, or in the water), as they move, and changes in their relative positions and distances one from the other. E.g. automobile 140 has driven closer to house 145, and thus one flying object 190 can assist both of them, instead of sending a different object to assist each of the two targets.N. changes in resource availability. A certain camera is now broken, a certain memory or data storage is now full / near full etc.

[0182] In some implementations, the computer 310 is configured to monitor for the occurrence of these situation changes. In some cases, the monitoring is performed in a continuous manner, checking continually. In some cases, the systems(s) reacts to these above changes, and updates the decisions, e.g. in either real time or near-real time. In certain cases, certain missions and tasks have not previously been defined, and their need is determined. The system(s) can optionally decide to play a part in mission / task planning, alone or together with other objects, for these newly needed missions / tasks.

[0183] In some implementations of either of embodiments 1 and 2, the method further comprises the computerized system performing the following: responsive to a new flying object joining the flying formation, enabling the sharing, with the new flying object, of the resources associated with the flying object. In some implementations of these embodiments, the enabling of the sharing of resources comprises enabling control, by the flying object, of a resource of the new flying object. For clarity of exposition, the resource(s) of a newly arrived / joining object are referred to as a third resource, to distinguish them from first and second resources of the objects which are already in the formation.

[0184] For example, airplane 150 joins the formation 195, and airplane 190 shares its resources with new object 150 of the formation, utilizing the computerized systems 230, 280. For example, computer 230 provides information to the computer 280 of the new object 150, or it provides the computer 280 access to the information present locally on computer 230. In some implementations, local computer 230 can also access informationalso from the computer 280 of the new object, e.g. to perform a task assigned to local object 190. For example, computer 230 takes control of a third resource 257 of the new object 150.

[0185] Thus, the process of situation awareness and decision-making is in some examples made on a continual basis, and it is affected by the surrounding environment and by changes in it. The situation is checked (using e.g. sensors), and decisions updated, e.g. in real time or near real time. This is enabled by the intra-formation communication, e.g. utilizing virtual avionics bus 252. This can facilitate implementing the mission(s) in an optimal manner, as compared to an implementation where the situational awareness is not up to date.

[0186] Purely for clarity of exposition, two tables are presented below. The first shows non-limiting illustrative examples of differing flying objects and their often-differing capabilities / functionalities / resources, exemplifying flying object heterogeneity within a formation 195. The second illustrates examples of tasks, at what point in the mission is the need for each task determined / identified, to which resources (and on which flying object) is the task assigned, and how the decision of assignment is made. The table illustrates the various methods of deciding, and different possibilities of which objects are involved in each decision, and how. It also shows various flying objects taking control of remote resources of other object, to perform their assigned tasks.

[0187] Table 1: Capabilities List:Vehicle / Object Capability / Functionality / ResourcesJet plane #1 High altitude, low-res camera with view of wide region Jet plane #1 RADAR of type ABCDJet plane #1 High speed flightJet plane #1 High-capacity computer (processor and memory) Jet plane #1 Large database (DB)Tanker Plane Medium speed, large turn radiusTanker Plane Large water tankTanker Plane Medium performance computerTanker Plane Medium size DBPropeller plane #1 History informationPropeller plane #1 Low speed flightPropeller plane #1 Long distance radio communicationPropeller plane #1 RADAR of type ABCDPropeller plane #1 Human pilot with permissions to make decisions Small propellor plane Small payload of fire retardant materialsSmall propellor plane Low-resolution EO CameraSmall propellor plane Small turn radiusSmall propellor plane LIDAR sensorQuadcopter IR thermal sensorsQuadcopter High resolution electro-optical (EO) camera Quadcopter Ability to stand in place (Hovering ability) Quadcopter Ability to stay in region for a relatively long time Helicopter Hovering abilityHelicopter Ability for long flight (large tank)Helicopter Rescue laddersHelicopter High resolution EO cameraHelicopter Processor with strong data processing power

[0188] Table 2: Task List:TASK When Task is Task Uses Which How Decide to Determined Object / Resource Assign the Task Manage the Early stage of Processor and DB, Pre-configured data mission mission Tanker planeDetermine Up front, and Processor, Jet Plane Negotiation - tanker flight order of modify as needed #1. requests, Jet plane flying objects #1 agrees Determine Up front, and Processor, Jet Plane Negotiation - tanker speed of flight modify as needed #1. requests, Jet plane of each vehicle agrees Determine Up front, and Processor, Jet Plane Negotiation - tanker altitudes of modify as needed #1. requests, Jet plane agreesflight of eachvehicleImage the entire Early stage Camera, Jet plane #1 Jet Plane #1 decides regionIdentify areas of After imaging the High-cap. processor, Jet Plane #1 decides interest in the larger region and Large DB, Jetlarger region plane #1.Obtain close-up After identifying Low-res Camera, Tanker decides. pictures of area areas of interest Small propellor plane Tanker takes control #1 within large region of camera.Identify and After obtaining Medium performance Tanker decides classify objects close-up pictures computer and med.in area #1 DB, Tanker.Obtain static After identifying Hi-res camera, Negotiation - pictures of area areas of interest quadcopter. Jet plane quadcopter #2 #1 takes control of proposes, other this camera. objects confirm. Identify and After capturing Processor and large Negotiation - classify objects static images DB, Jet Plane #1. quadcopter suggests in area #2 to Jet Plane #1, Jet plane agrees.Capture thermal After identifying IR sensors, Tanker decides images areas of interest quadcopterDetect and After capturing Processor, Jet Plane Negotiation - Jet characterize thermal images #1. plane offers the fires based on Medium DB, Tanker processor, Tanker thermal images. offers DB, other vehicles agree Obtain RADAR After identifying RADAR, Jet plane #1 Assigned by Tanker images areas of interestDetect and After obtain Processor and Large Assigned by Tanker classify objects RADAR images DB, Jet Plane #1.based on (in parallel withRADAR images detecting fires)Put out detected After detect and Large water tank, Negotiation - large fire characterize fires Tanker Tanker proposes, others confirm Put out detected After detect and Fire retardant Tanker decides, after small fire characterize fires materials payload, assigning handling Small propellor plane of large fire Rescue person After identify and Rescue ladders, Tanker decides #1 classify objects HelicopterRescue person After identify and Rescue ladders, Tanker decides #2 classify objects Helicopter

[0189] One example summary of a firefighting scenario (an example of a mission(s)) includes the following features, disclosed in more detail herein:i. The mission is based on using a heterogeneous array / formation to put out a forest file;ii. An algorithm based on a data base and sensor data is used to analyze behavior of the fire;iii. This information is used to plan the use of the various flying objects in the most efficient / optimal manner to put out the fire(s);iv. The mission is broken into a workflow comprising stages: e.g.stopping spread of the fire(s), putting out the fire, preventing it from igniting / starting again;v. The varying capabilities of each of the flying objects are utilized in order to perform the various tasks and complete the mission(s); vi. Possibly distributed / decentralized command, control and management of the mission(s).

[0190] Attention is drawn to Figs. 5A-5D, schematically illustrating a generalized flow chart diagram 500 of a flow of a process or method, for supporting an aerial mission, in accordance with some embodiments of the presently disclosed subject matter. This mission process 500 is, in some examples, carried out by systems such as those disclosed with reference to Figs. 2, 3 and 4. The flow 500 starts at 505.

[0191] According to some examples, a flying object 150 arrives at a defined geographical region 110, or in its vicinity (block 505). In the example of the figure, it joins an existing flying formation 195. In other implementations, the entire formation / array 195 fly jointly towards region 110.

[0192] According to some examples, a flying object 150 establishes communication with other objects 190, 170 of the formation 195 (block 510). In some examples, this is performed utilizing computerized system 310, e.g. utilizing its input / output communications interface 345, virtual bus module 348 and / or virtual bus 252.

[0193] According to some examples, a flying object 150 establishes data / information sharing with other objects 190, 170 of the formation 195 (block 515). In some examples, this is performed utilizing computerized system 310, e.g. utilizing its input / output communications interface 345, virtual bus module 348 and / or virtual bus 252. Sensor 210, 259 data is sent between computer systems 230, 280, as is data stored in data bases / data stores 238, 287, 319 and memories 317. Additionally, or alternatively, a system of an object makes its data available for reading by the systems of the other objects.

[0194] According to some examples, operation of the distributed application is enabled within the flying formation 195 (block 520). Further disclosure regarding components / modules of the distributed application is presented e.g. with reference to Fig. 3.

[0195] Note that at any point in the flow 500, a new flying object 170 can join 505 the formation 190. In some cases, it would then perform at least steps 510, 515, 520, so as to be able to participate in all aspects of the distributed application - decision making functions, task assignment receipt and implementation, resource sharing etc.

[0196] According to some examples, local computer system 310, 230 participates in one or more decisions, as part of the distributed application (block 530). Participation is exemplified further herein with reference to Fig. 3. Example decisions that are in some cases typically performed at this stage include the following: assignment of mission management tasks and mission planning tasks, optimizing of mission parameters, decisions on a procedure for coordinated data collection across the formation 195, assignment of data collection tasks and data processing tasks, and determination of the respective flight characteristics of one or more of the flying objects 190, 170. In some cases, these decisions are shared locally across the formation 195, e.g. using data sharing disclosed with respect to steps 510, 515. In some examples, this is performed utilizing resource assignments module 350 of the system 310 of the relevant object(s), or someother module. In some examples, various decisions are taken at other points in flow 500, not as shown in the example of Fig. 5.

[0197] The flow continues A to Fig. 5B. According to some examples, sharing of resources is enabled with the formation 195 (block 540). In some examples, this is performed utilizing local resources control module 360, local resources interface 342, a remote resources control module (not shown in Fig. 3), virtual bus module 348, I / O interface 345 and / or virtual bus 252. Example of sharing resources, per e.g. embodiments 1 and 2, are disclosed further herein. In some examples, this sharing comprises the local object 250 enabling other flying objects 255 to control local resources 217 of the object 205. In some examples, this sharing comprising local object 205, using e.g. computer 230, to control remote resources 257 of other / remote object(s) 255. More examples of specific access to resources are disclosed with reference to other steps of this flowchart. A particular example implementation of resource sharing and access, with reference to Embodiment 2, is disclosed further herein with reference to Fig. 6.

[0198] According to some examples, monitoring the availability of resources of flying object(s) 255, 190 is started (block 542). In some examples, this is performed utilizing e.g. local resource control module 360 of object 205, a remote resources control module, and / or a monitoring module (both not shown in Fig. 3). This can be helpful when e.g. a task is assigned to object 205, the object has no resource available to do the task, and the monitoring facilitates it knowing that another object 255 has the required resource. In other implementations, resource availability information is shared in other ways, e.g. object 205 asks other objects when it needs a resource, or other objects push availability information to object 205. In some implementations, virtual bus 252 enables local object 205 to see the resource usage and availability of other objects e.g. at any time.

[0199] According to some examples, mission planning task(s) are performed (block 545). In some examples, this is performed utilizing mission planning module 333 of computer 230. In some examples, this planning includes predicting future states, e.g. the future spread, height and / or other state of fire 120. In some examples, this prediction and planning uses machine learning functionalities, e.g. as disclosed further herein. In some examples, mission planning includes flight planning, e.g. utilizing flight planning module 337 - while in other implementations flight planning is a separate step (not shown in the figure). Systems 230 can in some cases access other objects’ 255 resources 283 as needed.

[0200] Note that throughout this flowchart, accessing other objects’ 255 resources is performed, in some examples, as disclosed herein, including in some implementations taking control of the remote resources 283. Similarly, as part of performing a task, the system in some implementations sends instructions, where relevant, to other computer systems 280. These optional functions are noted in the flowchart blocks.

[0201] According to some examples, object 205 flies based on the determined flight characteristics (block 550). In some examples, these determined characteristics are based on the flight planning, which is in some cases part of the mission planning. In some examples, this is performed utilizing flight module 322 of computer 230, 310. In some cases, where relevant, system 230 sends flight instructions to control surfaces, engines etc. of local object 205, and / or to computer system(s) 280 of other objects 255, and / or receives flight instructions from the computer system(s) 280 of the other objects. Purely for simplicity of exposition, the flying decisions, activities, and instructions are shown as occurring after mission planning 545. Obviously, the flight continues as other tasks are performed. Thus, in some cases this flow is not strictly in order as shown, and changes in flying characteristics can occur again at various stages and steps throughout the mission.

[0202] According to some examples, mission management task(s) are begun (block 553).In some examples, this is performed utilizing mission management module 330 of computer 230. In some examples, mission management continues, on an ongoing basis, through later steps - in some cases until completion of the mission(s).

[0203] The flow continues B to Fig. 5C. According to some examples, data collection / acquisition task(s) are performed (block 555). In some examples, this is performed utilizing local resource control module 330, and / or remote resource control module, of computer 230.

[0204] According to some examples, data processing task(s) are performed (block 557).In some examples, this is performed utilizing sensor data processing module 340 of computer 230. In some examples, the data processing comprises training and / or retraining of machine learning functionalities using the collected data. The system(s) 230 can thereby obtain an updated situational awareness.

[0205] According to some examples, local computer system 310, 230 participates in one or more decisions, as part of the distributed application (block 570). Participation is exemplified further herein with reference to Fig. 3. These decisions are in addition to those disclosed with reference to step 530. Example decisions that are in some casestypically performed at this stage include the following: assigning action task(s), possible modified decision(s) about assigning data collection tasks (that are performed in step 555), and possible modified decision(s) that determine respective flight characteristics of flying objects 205, 255 (that are performed in step 550). In some examples, this is performed utilizing resource assignments module 350 of the system 310 of the relevant object(s), or some other module. In some cases, these decisions are shared locally across the formation 195, e.g. using data sharing disclosed with respect to steps 510, 515.

[0206] The rationale of the particular order, of the example flow 500 of the figure, is that after data is processed and analyzed in step 570, the computer(s) 230, 280 can decide on actions to take - and can optionally change the flight characteristics and / or collect other / additional data, based on the data analysis. In some other examples, various decisions are taken at other points in flow 500, not as shown in the example of Fig. 5.

[0207] The flow continues C to Fig.5D. According to some examples, actions task(s) are performed (block 575). More disclosure concerning action tasks is provided with reference to Fig. 2. In some examples, this is performed utilizing local resource control module 330, and / or remote resource control module, of computer 230. In some examples, the computerized system 230 commands on-board components / systems of the object, and / or components / systems of other flying objects, to perform the assigned task using the assigned capability / resource.

[0208] According to some examples, additional data collection task(s) are performed (block 580). In some cases, these additional data acquisitions are related to the action tasks performed in step 575. In some examples, this is performed utilizing local resource control module 330, and / or remote resource control module, of computer 230. System(s) 230 can in some cases access other objects’ 255 resources (e.g. sensors) 210, 257 as are needed for data collection. As part of the data collection, the system in some implementations sends instructions, where relevant, to other computer systems 280.

[0209] According to some examples, a determination is made, whether there is a need to update decisions, e.g. the decisions made in steps 530 and / or 570 (block 582). In some examples, this is performed utilizing mission management module 330, and / or some other module (e.g. not shown). Example criteria for updating decisions are disclosed herein with reference to Figs. 3 and 4.

[0210] In some examples, responsive to a determination at block 582 that Yes, decision(s) should be updated, the flow proceeds to block 587. In some examples, decisions areupdated, and the relevant task(s) are performed, as needed (block 587). These can be e.g. tasks disclosed with reference to blocks 545, 550, 553, 555, 557, 575, and / or 580. The process than loops back to the determination of step 582.

[0211] Responsive to a determination at block 582 that No, decisions need not be updated, in some examples the flow proceeds to block 584.

[0212] In the non-limiting illustrative example 500 of the figure, the updated decisions are shown as being done in one step, after a full cycle of planning, data collection, analysis, decisions, assignment, actions, additional data collection etc. This was done only for ease of description. In some cases, the updated decisions can instead be done instead at any point before this, as well, dynamically, as changes to the situation are detected which warrant them.

[0213] According to some examples, performance of at least part of a mission(s) is verified (block 584). In some examples, this is performed utilizing mission verification module 340, and / or some other module (e.g. not shown). The verification in some examples includes additional data collection (e.g. EO camera and IR images show that fires are indeed out).

[0214] In the non-limiting illustrative example 500 of the figure, the mission(s) verification is shown as being done in one step, after a full cycle of planning, data collection, analysis, decisions, assignment, actions, additional data collection, updated decisions and tasks etc. This was done only for ease of description. In other examples, verification can be done at various steps, as the mission progresses. Also, a failed verification 584 can lead to updated decisions 582. In some examples, block 584 is performed before block 582.

[0215] Similarly, although not shown in the example flowchart 500, in some other examples the system(s) 230 are configured to continue to perform, in a repeated manner, the steps (e.g. from 530 on), or variations of them and possibly in varying orders, e.g. as disclosed herein, until completion of a mission(s) - thereby facilitating a coordinated performance of the mission(s) by the flying formation 195._Thus, in some examples, step 575 loops back to step 530 (decisions) on Fig. 5A, such that decisions 530 takes into consideration performance of action tasks in step 575. In addition, in some cases a larger portion of the flow, including also steps 505-520, is performed repeatedly, as flying objects join, or leave, the flying formation.

[0216] It should be pointed out that, similar to that disclosed with reference to the example computer 310 of Fig. 3, this flow chart 500 assumes that a particular example computer 230, 310 of a particular flying object 230 performs all of the various tasks shown in the figure - mission planning and management, resource monitoring, data collection and processing, action tasks, verification etc. This is done purely for exposition purposes, to show a large set of varying decisions, tasks and actions that can be performed by objects 170 of a formation 195 during a mission. As indicated elsewhere herein, in many implementations one particular computer 230 of an object performs only some of these tasks and decisions (based e.g. on the specific task assignments). Thus, the flowchart 500 can in some cases be read such that different steps are performed by different computers / objects of a formation, in any possible combination and division. As indicated herein, the heterogeneous nature of the formation enables various objects of the formation to perform various tasks, so as to, in combination, complete the mission(s).

[0217] Attention is drawn to Fig. 6, schematically illustrating a generalized flow chart diagram 600, of a flow of a process or method, for accessing resources, in accordance with some embodiments of the presently disclosed subject matter. While the flow of Fig.5 applies to both embodiments 1 and 2, Fig. 6 describes an example flow applicable to embodiment 2. As shown in the figure by the dashed rectangle, flow 600 gives an example implementation of any or all of the blocks 540, 545, 555, 557, 575, 580, 584, 587, 530, 570, that is of sharing resources, accessing resources and making decisions (which may in some cases require accessing resources).

[0218] This mission process 600 is, in some examples, carried out by systems such as those disclosed with reference to Figs. 2, 3 and 4. In some examples, this is performed utilizing at least resource assignments module 350, local resource control module 360, remote resource control model, local resources interface 342, I / O communications interface 345, virtual bus module 348, virtual avionics bus 252, and / or some other module or component (whether shown or not shown). The flow 600 starts at 610.

[0219] According to some examples, it is determined that a task, which is assigned for performance by the flying object 205, requires use of a required type of resource (e.g.260) (block 610).

[0220] According to some examples, it is determined that all resources that are present on the flying object 205 are of resource types that are not of the required type of resource (block 630).

[0221] According to some examples, it is determined that a resource 260, present on another flying object 225 of the formation 195 (i.e. a remote resource), is of the required type of resource (block 650). In some cases, the determination utilizes sharing of information, e.g. utilizing virtual avionics bus 252. Note that this determination implies that the flying object and the other flying object are of different (heterogenous) natures.

[0222] According to some examples, local computerized system 230 takes control of the remote resource (block 630). In some cases, this thereby facilitating performance of the task.

[0223] In some embodiments, one or more steps of the flowcharts exemplified herein (Figs. 5, 6) may be performed automatically. The flow and functions illustrated in the flowchart figures may for example be implemented in systems 230, 280, 310, and in processing circuitries 312, and they may make use of components described with regard to Figs. 2, 3, 4. It is also noted that whilst the flowchart is described with reference to system elements that realize steps, such as for example systems 230, 280, 310, and processing circuitries 312, this is by no means binding, and the operations can be carried out by elements other than those described herein.

[0224] It is noted that the teachings of the presently disclosed subject matter are not bound by the flowcharts illustrated in the various figures. For example, some of the operations or steps can be integrated into a consolidated operation, or can be broken down into several operations, and / or other operations may be added. As a non-limiting example, in some cases blocks 510 and 515, and / or 540, and 542, can be combined. As another example, steps 530 and / or 570 can be each broken into several steps.

[0225] In embodiments of the presently disclosed subject matter, fewer, more and / or different stages than those shown in the figures can be executed. As a non-limiting example, certain implementations do not include one or more of blocks 505, and / or 582, 587, 584. Similarly, in some examples repetition is performed, while in others it is not performed. Similarly, in some implementations, the operations can occur out of the illustrated order. One or more stages illustrated in the figures can be executed in a different order and / or one or more groups of stages may be executed simultaneously. As one example, block 584 can be performed before block 582. Similarly, steps 555, 557 and 570 can be performed at least partially in parallel. As another example, block 650 can be performed before or in parallel with block 650.

[0226] In the claims that follow, alphanumeric characters and Roman numerals, used to designate claim elements such as components and steps, are provided for convenience only, and do not imply any particular order of performing the steps.

[0227] It should be noted that the word “comprising” as used throughout the appended claims, is to be interpreted to mean “including but not limited to”.

[0228] While there has been shown and disclosed examples in accordance with the presently disclosed subject matter, it will be appreciated that many changes may be made therein without departing from the spirit of the presently disclosed subject matter.

[0229] It is to be understood that the presently disclosed subject matter is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The presently disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Hence, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the present presently disclosed subject matter.

[0230] It will also be understood that the system according to the presently disclosed subject matter may be, at least partly, a suitably programmed computer. Likewise, the presently disclosed subject matter contemplates a computer program product being readable by a machine or computer, for executing the method of the presently disclosed subject matter, or any part thereof. The presently disclosed subject matter further contemplates a non-transitory machine-readable or computer-readable memory tangibly embodying a program of instructions executable by the machine or computer for executing the method of the presently disclosed subject matter or any part thereof. The presently disclosed subject matter further contemplates a non-transitory computer readable storage medium having a computer readable program code embodied therein, configured to be executed so as to perform the method of the presently disclosed subject matter.

[0231] Those skilled in the art will readily appreciate that various modifications and changes can be applied to the embodiments of the invention as hereinbefore described without departing from its scope, defined in and by the appended claims.

Claims

1. CLAIMS:

1. A computerized method, performed by a processing circuitry of a computerized system associated with a flying object, the method comprising:a. enabling sharing of information, associated with the flying object, with at least one other computerized system associated with one or more other flying objects,wherein the object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame,wherein the flying object and at least some other flying objects are of a heterogenous nature,wherein the heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having non-identical capabilities;b. enabling sharing of resources, associated with the flying object, with the one or more other flying objects; andc. performing a portion of a distributed application within the flying formation,wherein the distributed application is configured to perform a plurality of decisions associated with the flying formation,the plurality of decisions comprising at least one task assignment decision.

2. The computerized method of claim 1, wherein the plurality of decisions are made based at least partly on the heterogeneous nature.

3. The computerized method of any one of claims 1 to 2, wherein the at least one task assignment decision comprisesa data collection decision of assigning a plurality of data collection tasks, associated with the defined geographical region and with the defined time frame, across the flying formation.

4. The computerized method of any one of claims 1 to 3, wherein the at least one task assignment decision comprisesa data processing decision of assigning a plurality of data processing tasks across the flying formation.

5. The computerized method of any one of claims 1 to 4, wherein the at least one task assignment decision comprisesan action tasks decision of assigning a plurality of action tasks, associated with the defined geographical region and with the defined time frame, across the flying formation.

6. The computerized method of any one of claims 1 to 5, wherein the at least one task assignment decision comprisesa mission management decision of assigning at least one mission management task, associated with the defined geographical region and with the defined time frame, across the flying formation.

7. The computerized method of any one of claims 1 to 6, wherein the plurality of decisions comprisesa flight-characteristics decision determining respective flight characteristics of flying objects of the formation.

8. The computerized method of any one of claims 1 to 7, wherein the plurality of decisions comprisesa coordinated data collection decision on a procedure for coordinated data collection across the flying formation.

9. The computerized method of any one of claims 1 to 8, wherein the plurality of decisions comprises a decision to optimize mission parameters.

10. The computerized method of any one of claims 1 to 9, wherein the method further comprises performing the following:(d) sending at least one first instruction to the flying object, to fly with flying object flight characteristics based on the mission management decision.

11. The computerized method of any one of claims 1 to 10, wherein the method further comprises performing the following:(e) sending at least one second instruction to the flying object, to perform at least one task, based on at least one decision associated with the distributed application, wherein the at least one task comprises at least one of:i. a data collection task;ii. an action task; andiii. a mission management task.

12. The computerized method of any one of claims 1 to 11 wherein the method further comprises performing the following:(f) repeatedly performing said steps (a) to (e) until completion of a mission, thereby facilitating a coordinated performance of the mission by the flying formation.

13. The computerized method of any one of claims 1 to 12,wherein the distributed application is configured to function independent of communication between the flying formation and external systems.

14. The computerized method of any one of claims 1 to 13, wherein the method further comprises:(g) responsive to a determination that at least one other flying object, of the one or more other flying objects, is unable to perform at least one of the following: A. start performance of at least one assigned task,the at least one assigned task having been assigned to the at least one other flying object per the at least one task assignment decision; andB. finish performance of the at least one assigned task,repeating the performance of said steps (a) to (c) at least once, wherein an update to the at least one task assignment decision constitutes the at least one task assignment decision.

15. The computerized method of any one of claims 1 to 14, wherein the enabling of the sharing of resources comprises enabling control, by the at least one other flying object, of a first resource of the flying object,thereby facilitating performance of an assigned task by the at least one other flying object.

16. The computerized method of any one of claims 1 to 15, wherein the enabling of the sharing of resources comprises enabling control, by the flying object, of a second resource of the at least one other flying object,thereby facilitating performance of the at least one task.

17. The computerized method of any one of claims 1 to 16, wherein at least one computerized system associated with at least some flying objects comprise at least one machine learning functionality,wherein the at least one task assignment decision is based on a situational awareness that is determined utilizing the at least one machine learning functionality,wherein the at least one machine learning functionality is trained on at least the following types of data:i. past data, comprising at least one of sensor data and calculations data; and ii. current-mission sensor data, collected during the function of the flying formation,where an updated training of the at least one machine learning functionality, on the current-mission sensor data, is performed during the function of the flying formation.

18. The computerized method of claim 17, wherein the sharing of resources comprises the computerized system requesting the at least one computerized system to perform the updated training, wherein the computerized system is further configured to perform a task based on the updated training.

19. The computerized method of any one of claims 1 to 18, wherein the performance of the plurality of decisions comprises performance of following by the processing circuitry: making a decision of the plurality of decisions.

20. The computerized method of any one of claims 1 to 19, wherein the performance of the plurality of decisions comprises performance of the following by the processing circuitry: making the decision of the plurality of decisions, jointly with the at least one other computerized system, the decision constituting a joint decision.

21. The computerized method of any one of claims 1 to 20, wherein the performance of the plurality of decisions comprises performance of the following by the processing circuitry:proposing the decision; andreceiving from the at least one other computerized system a confirmation of the decision.

22. The computerized method of any one of claims 1 to 21, wherein the performance of the plurality of decisions comprises performance of the following by the processing circuitry:receiving from the at least one other computerized system a proposal for the decision; and providing the confirmation of the decision to the at least one other computerized system.

23. The computerized method of any one of claims 1 to 22, wherein the performance of the plurality of decisions comprises performance of the following by the processing circuitry: the enabling of the sharing of resources,thereby facilitating the making of the decision by the at least one other computerized system.

24. The computerized method of any one of claims 1 to 23, wherein the method further comprises performing the following:(h) communicating with the at least one other computerized system,thereby facilitating the enabling of the sharing of the information, the sharing of the resources, and the performing of the portion of the distributed application.

25. The computerized method of claim 24, wherein the communicating utilizes a virtual avionics bus.

26. The computerized method of any one of claims 1 to 25, wherein the enabling of the sharing of the information comprises:the processing circuitry is configured to obtain information stored in the at least one other computerized system.

27. The computerized method of any one of claims 1 to 26, wherein the enabling of the sharing of the information comprises:the processing circuitry is configured such that the at least one other computerized system is capable of obtaining information stored in the computerized system.

28. The computerized method of any one of claims 1 to 27, wherein the method further comprises:(i) monitoring an availability of resources of the at least one other flying object.

29. The computerized method of any one of claims 1 to 28, wherein the method further comprises:(j) verifying performance of at least a portion of the mission.

30. The computerized method of any one of claims 1 to 29,wherein the method further comprising:(k) making at least one updated decision, in response to occurrence of situation changes, the situation changes comprising at least one of:A. changes in collected data;B. changes in relative positions of flying objects of the flying formation;C. changes in relative velocities of flying objects of the flying formation; and D. non-arrival of at least one flying object at a planned point in space at a planned point in time;E. a new flying object joining the flying formation;F. a flying object leaving the flying formation.

31. The computerized method of claim 30, further configured to monitor for the occurrence of the situation changes.

32. The computerized method of any one of claims 30 to 31, wherein the method further comprises:(1) responsive to the new flying object joining the flying formation, enable the sharing, with the new flying object, of the resources associated with the flying object.

33. The computerized method of any one of claims 30 to 32,wherein the at least one updated decision is performed in one of real time or near- real time.

34. The computerized method of any one of claims 1 to 33, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:I. the flying object and the at least some other flying objects are different types of object.

35. The computerized method of any one of claims 1 to 34, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:II. there is a difference in at least one payload of the flying object and at least one other payload of the at least some other flying objects.

36. The computerized method of any one of claims 1 to 35, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:III. the flying object and the at least some other flying objects have a difference in at least one sensor capability.

37. The computerized method of any one of claims 1 to 36, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:IV. the flying object and the at least some other flying objects have a difference in at least one communications capability.

38. The computerized method of any one of claims 1 to 37, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises at least one of the following:V. the flying object and the at least some other flying objects have a difference in at least one computer capability; andVI. the flying object and the at least some other flying objects have a difference in data quality of at least one item of information.

39. The computerized method of any one of claims 1 to 38, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises at least one of the following:VII. the flying object and the at least some other flying objects have a difference in availability of a particular resource for performance of the at least one task; andVIII. the flying object and the at least some other flying objects have a difference in efficient performance of the at least one task.

40. The computerized method of any one of claims 1 to 39, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:IX. there is a difference in flight capabilities of the flying object and of the at least some other flying objects.

41. The computerized method of any one of claims 1 to 40, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises the following:X. the flying object and of at least some other flying objects have a difference in an ability to perform at least one function in adverse weather conditions.

42. The computerized method of any one of claims 1 to 41, wherein the heterogenous nature of the flying object and of the at least some other flying objects comprises:XI. the flying object and the at least some other flying objects have a difference related to at least one of human flight control and human presence on-board.

43. The computerized method of any one of claims 1 to 42, wherein the resources comprise at least one of:I. at least one sensor;II. at least one mission-related resource;III. data processing resources;IV. machine learning resources;V. data storage resources; andVI. communication resources.

44. The computerized method of any one of claims 1 to 43, wherein the flying object is one of an airplane, a drone, a helicopter, a quadcopter and a balloon.

45. The computerized method of any one of claims 1 to 44, wherein the processing circuitry utilizes a data structure comprising:• an entity-definition layer;• a meta-data layer;• a calculated information layer; and• a prediction layer.

46. The computerized method of any one of claims 1 to 45, wherein databases sit in a decentralized cloud, spanning the flying formation, thereby facilitating the sharing of the information.

47. A computerized system configured to support mission performance, the computerized system being associated with a flying object and comprising a processing circuitry,the processing circuitry configured to perform the following method:(a) enabling sharing of information, associated with the flying object, with at least one other computerized system associated with one or more other flying objects,wherein the object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame,wherein the flying object and at least some other flying objects are of a heterogenous nature,wherein the heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having non-identical capabilities;(b) enabling sharing of resources, associated with the flying object, with the one or more other flying objects; and(c) performing a portion of a distributed application within the flying formation,wherein the distributed application is configured to perform a plurality of decisions associated with the flying formation,the plurality of decisions comprising at least one task assignment decision.

48. A non-transitory computer readable storage medium tangibly embodying a program of instructions that, when executed by a processing circuitry of a computerized system associated with a flying object, cause the processing circuitry to perform a method comprising:(d) enabling sharing of information, associated with the flying object, with at least one other computerized system associated with one or more other flying objects,wherein the object and the one or more other flying objects are configured to fly and to function as a flying formation, within a defined geographical region and in a defined time frame,wherein the flying object and at least some other flying objects are of a heterogenous nature,wherein the heterogenous nature of the flying object and the at least some other flying objects comprises the flying object and the at least some other flying objects having non-identical capabilities;(e) enabling sharing of resources, associated with the flying object, with the one or more other flying objects; and(f) performing a portion of a distributed application within the flying formation,wherein the distributed application is configured to perform a plurality of decisions associated with the flying formation,the plurality of decisions comprising at least one task assignment decision.