Data transfer workflow in a multi-machine ecosystem
Mobile data transfer vehicles address network failure issues by physically transporting encrypted data between machines, ensuring secure and efficient communication in unstable environments.
Patent Information
- Application Number
- JP2025517310
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-28
- Filing Date
- 2023-09-05
- Publication Date
- 2025-10-28
AI Technical Summary
Existing data transfer methods between machines are inefficient when traditional communication networks are not feasible, such as in unstable environments or network outages, leading to difficulties in machine-to-machine communication.
The system employs mobile data transfer vehicles, like drones or robotic machines, to proactively position themselves for efficient data transfer, collect encrypted data from machines, and physically transport it to target machines, ensuring secure communication even in network failures.
Enables secure and efficient data transfer between machines by physically transporting data, maintaining communication continuity and ensuring timely access to time-sensitive information even in unstable environments.
Smart Images

Figure 2025535666000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of data transfer, and more particularly to utilizing methods for transferring data between machines in a particular environment. Summary of the Invention
[0002] According to one aspect of the present invention, there is provided a method, computer program product, and / or system that performs the following operations (not necessarily in the following order): (i) providing a plurality of data transfer vehicles, each data transfer vehicle of the plurality of data transfer vehicles constructed and configured to transfer encrypted data from a first machine to a second machine; (ii) proactively positioning the plurality of data transfer vehicles around the first machine and the second machine such that data transfer operations can be efficiently performed; (iii) determining that a first condition exists that prevents the first machine from performing a data transfer operation to the second machine; (iv) in response to determining that the first machine cannot perform the data transfer operation to the second machine, collecting, by the first data transfer vehicle, a set of encrypted data stored in the first machine; and (v) transferring, by the first data transfer vehicle, the set of encrypted data stored in the first machine to the second machine.
[0003] According to one aspect of the present invention, there is a method, computer program product, and / or system that performs the following actions (not necessarily in the following order): (i) tracking a set of machines to determine whether each machine can communicate with each other to perform a machine-to-machine workflow; (ii) learning past network outage events and how each machine reacted during each past network outage event, tracking how each machine was affected based on the type of network problem and the duration of the event, predicting when to deploy each data transfer means of the set of data transfer means, and creating optimal movement routes for the set of data transfer means; (iii) in response to determining that a first machine is unable to perform a data transfer to a second machine due to a network connection problem, instructing the data transfer means to collect data from the first machine, physically travel to the second machine, and perform a data transfer of the data to the second machine to enable a machine-to-machine workflow; (iv) proactively positioning data transfer means around data generation sources based on the amount of data generated and the need for data transfer; and (v) during data transfer, receiving encrypted data from the first machine and the public key of the private key held by the second machine. [Brief explanation of the drawings]
[0004] [Figure 1] 1 is a block diagram of a first embodiment of a system according to the present invention; [Figure 2] 3 is a flowchart illustrating a method of the first embodiment that is performed at least in part by a system of the first embodiment. [Figure 3] FIG. 2 is a block diagram showing the machine logic (eg, software) portion of the system of the first embodiment. [Figure 4] FIG. 1 is a context diagram illustrating information useful in understanding embodiments of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0005] Facilitating data transfer from a first machine and / or computing system to at least a second machine and / or computing system when traditional data transfer methods (such as using a communications network) are not readily feasible is accomplished by identifying a triggering event for the physical transfer of data, collecting the data to be transferred, and transferring the data. Secure transfer of the collected data is achieved by encryption of the collected data. This "Detailed Description" section is divided into the following subsections: (i) Hardware and Software Environment; (ii) Exemplary Embodiments; (iii) Other Comments and / or Embodiments; and (iv) Definitions. I. Hardware and Software Environment
[0006] The present invention may be a system, a method, and / or a computer program product, which may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.
[0007] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, Random Access Memory (RAM), Read-Only Memory (ROM), Erasable Programmable Read-Only Memory (EPROM or flash memory), Static Random Access Memory (SRAM), portable Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disk (DVD), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as ridge structures in grooves in which instructions are recorded, and any suitable combination of the foregoing. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over an electrical wire.
[0008] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computing / processing device for storage.
[0009] The computer-readable program instructions that carry out the operations of the present invention may be source code or object code written in any combination of one or more programming languages, including assembler instructions, Instruction-Set-Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object-oriented programming languages such as Smalltalk, C++, and the like, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions to personalize the electronic circuit by utilizing state information of the computer-readable program instructions to perform aspects of the present invention.
[0010] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0011] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions, which can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, may also be stored on a computer-readable storage medium, such that the computer-readable storage medium having the instructions stored thereon comprises an article of manufacture containing instructions that perform aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0012] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device and cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0013] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions, that implement the specified logical function(s). In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of special-purpose hardware and computer instructions.
[0014] One embodiment of a possible hardware and software environment for software and / or methods according to the present invention will now be described in detail with reference to the figures. Figure 1 is a functional block diagram illustrating various portions of a networked computer system 100, including a server subsystem 102; client subsystems 104, 106, 108, 110, 112; a communications network 114; a server computer 200; a communications unit 202; a processor set 204; an input / output (I / O) interface set 206; a memory device 208; a persistent storage device 210; a display device 212; an external device set 214; a random access memory (RAM) device 230; a cache memory device 232; and programs 300.
[0015] Subsystem 102 is in many ways representative of various computer subsystems in the present invention, and therefore, several portions of subsystem 102 will now be described in the following paragraphs.
[0016] Subsystem 102 may be a laptop computer, tablet computer, notebook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, or any programmable electronic device capable of communicating with a client subsystem over network 114. Program 300 is a collection of machine-readable instructions and / or data used to create, manage, and control specific software functions that will be described in detail below in the "Exemplary Embodiments" subsection of this "Detailed Description of the Invention" section.
[0017] Subsystem 102 can communicate with other computer subsystems via network 114. Network 114 can be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and can include wired, wireless, or fiber optic connections. In general, network 114 can be any combination of connections and protocols that support communication between server and client subsystems.
[0018] Subsystem 102 is shown as a block diagram with multiple double-headed arrows. These double-headed arrows (without individual reference numbers) represent a communications fabric, which provides communication between the various components of subsystem 102. This communications fabric may be implemented using any architecture designed to communicate data and / or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communications fabric may be implemented at least in part using one or more buses.
[0019] Memory 208 and persistent storage 210 are computer-readable storage media. In general, memory 208 may include any suitable volatile or non-volatile computer-readable storage medium. It is further noted that, now and / or in the near future, (i) external devices 214 may be able to provide some or all of the memory for subsystem 102; and / or (ii) devices external to subsystem 102 may be able to provide memory for subsystem 102.
[0020] The program 300 is stored in persistent storage 210 and accessed and / or executed by one or more of the respective computer processors 204, typically through one or more memories in memory 208. Persistent storage 210 (i) is at least more persistent than signals in transmission; (ii) stores the program (including its soft logic and / or data) on a tangible medium (such as the magnetic or optical domain); and (iii) is substantially less persistent than permanent storage. Alternatively, data storage may be more persistent and / or permanent than the type of storage provided by persistent storage 210.
[0021] Program 300 may include both machine-readable and executable instructions and / or tangible data (i.e., the type of data stored in a database). In this particular embodiment, persistent storage 210 includes a magnetic hard disk drive. To name a few possible variations, persistent storage 210 may include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0022] The media used by persistent storage 210 may also be removable. For example, a removable hard drive may be used for persistent storage 210. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 210.
[0023] Communications unit 202, in these examples, provides for communication with other data processing systems or devices external to subsystem 102. In these examples, communications unit 202 includes one or more network interface cards. Communications unit 202 may provide communication through the use of either or both physical and wireless communications links. Any of the software modules described herein may be downloaded to a persistent storage device (such as persistent storage device 210) through a communications unit (such as communications unit 202).
[0024] The I / O interface set 206 enables data input and output with other devices that may be locally connected and in data communication with the server computer 200. For example, the I / O interface set 206 provides connection to an external device set 214. The external device set 214 typically includes devices such as a keyboard, a keypad, a touchscreen, and / or some other suitable input device. The external device set 214 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, such as the program 300, may be stored on such portable computer-readable storage media. In these embodiments, the associated software may (or may not) be loaded, in whole or in part, into the persistent storage device 210 via the I / O interface set 206. The I / O interface set 206 also connects to a display device 212 for data communication.
[0025] The display device 212 provides a mechanism for displaying data to a user, and may be, for example, a computer monitor or a smartphone display screen.
[0026] The programs described herein are identified based on the applications for which they are implemented in specific embodiments of the invention. However, it should be understood that any particular program names herein are used merely for convenience, and therefore the invention should not be limited to use in only any particular application identified and / or suggested by such names.
[0027] While the description of various embodiments of the present invention has been presented for illustrative purposes, the description is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been selected to best explain the principles of the embodiments, practical applications, or technical improvements to technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. II. Illustrative Embodiments
[0028] Figure 2 shows a flowchart 250 illustrating a method in accordance with the present invention. Figure 3 shows a program 300 for performing at least some of the operations of the method of flowchart 250. The method and associated software will now be described throughout the following paragraphs with general reference to Figure 2 (for the operational blocks of the method) and Figure 3 (for the software blocks).
[0029] Processing begins at operation S255 where a plurality of data transfer means are provided. In some embodiments of the invention, the data transfer means are constructed and configured to be sufficiently mobile in a range of potentially unstable environments (such as environments affected by natural disasters). In some embodiments, the data transfer means may include drones and / or automated robotic machines designed to traverse rough terrain (such as geographic areas affected by earthquakes).
[0030] Processing continues to operation S260, where a means location determination module ("mod") 305 proactively positions a plurality of data transfer means near the first machine and the second machine. In some embodiments of the present invention, mod 305 determines the optimal distribution and placement of data transfer means in a given environment to ensure that any transfer of data between machines is performed efficiently and effectively. In certain disaster recovery areas, it is essential that the data transfer means be able to quickly access certain time-sensitive data stored on machines to which the data cannot be transferred.
[0031] Processing continues to operation S265, where the data transfer condition mod 310 determines that a condition exists that prevents the first machine from transferring data to the second machine. In some embodiments of the present invention, the condition is a condition in which the data transfer capabilities of the machine are infeasible or impossible. For example, in one example, this condition may be as simple as the first machine being out of Near-Field Communication (NFC) range of the second device, or a natural disaster (or other less impactful event) preventing the first machine from easily traversing the terrain in which it is located. In another example, a natural disaster event may create a situation in which network connectivity in a given area is rendered non-functional.
[0032] Processing continues to operation S270 where the Encrypted Data Collection mod 315 collects the encrypted data from the first machine. Processing finally continues to operation S275 where the Encrypted Data Transfer mod 320 transfers the collected encrypted data (discussed in connection with operation S270 above) from the first machine to the second machine. III. Further Comments and / or Embodiments
[0033] To initiate machine-to-machine communication, a communication protocol such as Bluetooth, Wi-Fi, near field communication, etc. is usually required. In this case, the machines equipped with the communication protocol may include instruments and / or other automated machines. To perform coordinated activities, the machines communicate with each other. When the distance between the machines exceeds a critical value, machine-to-machine data transfer becomes impossible or difficult in poor network environments.
[0034] In various situations, machines that need to communicate with each other may be located outside of Bluetooth range, such as when there is no Wi-Fi communication or when an Internet connection is not available. In this scenario, the machines cannot communicate with each other to coordinate a given activity.
[0035] Embodiments of the present invention provide the following advantages, features, and / or characteristics.
[0036] (1) Physical Device Data Transfer (Device to Device): In any multi-machine ecosystem, if any machine and / or other data source is unable to transfer data to another machine and / or computing system due to network connectivity issues for any reason (e.g., out of range, no Wi-Fi available, etc.), some embodiments of the present invention use physical data transfer means to transfer data and information from one machine and / or computing system to another machine and / or computing system to perform machine-to-machine workflows.
[0037] (2) Transmitting physical devices to predicted and / or projected data points. Based on the amount of data generated from any machine and / or computing system and the need to transfer that data to another machine and / or computing system, according to some embodiments, a data transfer means is proactively positioned near the data generating source, collects the required data, and transfers the collected data to the data transfer means. In this way, the data transfer means can transmit the required data to the target machine and / or computing system.
[0038] (3) Data Encryption. According to some embodiments of the present invention, the sending machine and / or system encrypts the required data and assigns it a public key. Furthermore, the target machine and / or computing system receives a private key for verifying the encrypted data before transferring the required data from the data transfer means.
[0039] (4) Collection Device for Projection Data Interaction: According to some embodiments of the present invention, the data transfer means moves around a predetermined boundary to interact with different machines and / or systems of the multi-machine ecosystem and identifies which machine or system is generating the required data, to which machine to transfer the required data, and / or how much time is required to transfer the required data from the generating machine to the target machine.
[0040] Some embodiments of the present invention are directed to operation of data transfer means within a predetermined boundary that includes machines in a multi-machine ecosystem. According to some embodiments of the present invention, for any given data transfer means, a surrounding area is limited to a predetermined distance from another data transfer means. The predetermined distance may be the communication range of a designated active communication channel. In the case of two or more data transfer means, the surrounding area may be defined by the communication range limits of each included data transfer means, such that the surrounding boundary can take various shapes, as long as each data transfer means is within communication range of at least one other data transfer means. Ensuring that communication range is maintained enables coordinated data transfer activities.
[0041] (5) Predicted intelligent workflows of machines and / or devices in scope. Some embodiments of the present invention are directed to tracking whether machines and / or computing systems can communicate with each other to execute a given workflow. In some embodiments of the present invention, if the proposed system identifies that there is a network problem, a data transfer means is activated to initiate data transfer from the source machine to the target machine.
[0042] (6) Risk of network loss or machine failure due to device tasking. Some embodiments of the present invention are directed to learning based on past network failure events and how to reach target machines / systems under such conditions. Accordingly, some embodiments of the present invention are directed to tracking which machines and / or systems were affected based on the type of network problem and the duration of the event in order to predict the need for alternative data transfers and deploy data transfer means to designated source computers.
[0043] (7) Multiple Data Transfer Devices. Within a given predetermined boundary, multiple data transfer means may exist, allowing the data transfer means to cooperate with one another to create an optimized travel path that creates a viable journey for transferring data in the shortest possible time. Some embodiments of the present invention are directed to handovers for transferring collected data over distances that exceed the reference distance over which the data transfer means can communicate, such as beyond the connection range of a given Wi-Fi network. Through cooperation between data transfer means, a series of data transfer means operating within the boundaries of their respective Wi-Fi networks or other communication channel boundaries transfer collected data from one machine to another over longer distances than would be possible if limited by a specific communication range. Long-distance scenarios for transferring collected data may arise in situations where a preferred communication channel is inoperable and collected data must be transmitted from a data collection point or computing device to another computing device.
[0044] (8) Priority of Device Communications. Some embodiments of the present invention take into account assigned priorities of data communications in order to deploy data transfer means when one or more computing devices are unable to communicate over the network. This is to ensure that appropriate processes are completed in the order required by the underlying processes, rather than a simplistic First-In First-Out (FIFO) process.
[0045] (9) Data Transfer for Analysis. Some embodiments of the present invention extend to physically transferring the required data to a centralized station via an edge network or edge node (e.g., a computing node) so that the required data is available for analysis and to receive instructions in a particular multi-machine ecosystem.
[0046] The following acts provide a step-by-step detailed description of various aspects of the invention to provide helpful details about how some embodiments of the invention may be utilized.
[0047] (1) Setup - Some embodiments of the present invention are deployed when machine-to-machine communication is required to perform a particular task. In any multiple machine and / or computing system environment, machine-to-machine communication may be required while other activities requiring computing and / or communication networks are being performed.
[0048] (2) Setup—Device-to-Device Synchronous Workflow. In some embodiments of the present invention, machine-to-machine communication may be required to synchronize and execute certain tasks so that the tasks are performed in a sequential workflow.
[0049] (2)(a) According to some embodiments of the present invention, machines in the ecosystem have a machine-to-machine communication system where machines in a given environment can communicate with each other.
[0050] (2)(b) According to some embodiments of the present invention, the system identifies whether machine-to-machine communication is possible or whether the communication system functions within a given perimeter or predetermined area or boundary.
[0051] (3) Environmental Context: According to some embodiments of the present invention, the system identifies a task being performed in the surrounding area and identifies that machine-to-machine communication is required to complete the task.
[0052] (4) Surrounding area monitoring. In some embodiments of the present invention, a camera module is used to scan a surrounding area or a predetermined boundary to identify the relative positions of different machines in a multi-machine ecosystem.
[0053] (5) Image Analysis. According to some embodiments of the present invention, an image analysis module analyzes images captured by the cameras of the camera module to identify different machine types and their relative positions and distances to each other.
[0054] (6) Machines Performing Unique Tasks - Each machine may have unique data requirements. Each machine performing a task or subtask will identify the need to share specific data or information with other machines in the ecosystem.
[0055] (7) Anticipated Communications: Some embodiments of the present invention identify whether machine-to-machine communications are feasible in a particular situation.
[0056] (8) Data Transfer Mechanisms. Some embodiments of the present invention provide data transfer mechanisms for transferring necessary data from one machine to another within a designated multi-machine ecosystem.
[0057] (9) Video Feed for Transfer Means: According to some embodiments of the present invention, the data transfer means is fitted with a camera module for determining the relative positioning of the machine within the surrounding area.
[0058] (10) Intelligent Workflow - Identifying Requirements for Data Transfer Requests. According to some embodiments of the present invention, a multi-machine ecosystem provides for determining whether any digital communications need to be established between and / or among various machines in order to properly complete a given workflow.
[0059] (11) Machine Communication Requirements. According to some embodiments of the present invention, each machine signals or otherwise identifies whether a given machine needs to communicate with other machines in the ecosystem.
[0060] (12) Data Requirements for Transfer: Some embodiments of the present invention identify information or instruction sets that are transferred from one machine to another in the ecosystem.
[0061] (13) Video Feed - Location Identification and Feed Specification. Based on the information generated from the various camera modules, the relative locations of the various machines can be identified.
[0062] (14) Dynamic Mobility - Continuously mobile machines and devices. Peripheral data transfer means move around a predetermined boundary, communicating with each machine within the boundary, or in some instances, within the entire specified perimeter.
[0063] (15) Machine-to-machine data movement identification. Some embodiments of the present invention identify whether any machine needs to transfer data to any other system in the ecosystem.
[0064] (16) Network Awareness: Some embodiments of the present invention identify whether a communication network is available for establishing machine-to-machine communication.
[0065] (17) Data Transfer Failure - Suboptimal Mobility Patterns: According to some embodiments of the present invention, if communication is determined to be impossible, a data transfer vehicle travels within the ecosystem, carrying data necessary to facilitate machine-to-machine communication when the primary communication channel is down.
[0066] (18) Data Moving Device - Moves towards a target destination. According to some embodiments of the present invention, the data transfer means collects data from any machine in the ecosystem and moves towards a target machine where the required data is transferred.
[0067] Some embodiments of the present invention include the following characteristics, features, and / or advantages: (i) providing "risk events"; (ii) using an image analysis module that takes into account the vehicles typically placed in the environment based on an analysis of the logo on the vehicle; (iii) determining the optimal way to perform the data transfer based on the type and brand of vehicle that may have known and existing defects in the vehicle; and (iv) continuously collecting communication data and results of the communication to determine the exact terminology and signals used during the communication.
[0068] Diagram 400 of Figure 4 is a context diagram illustrating how various machines communicate with a data transfer mechanism. Diagram 400 includes components of machine 402, machine 404, machine 406, machine 408, data transfer mechanism 410, data transfer mechanism 412, data transfer mechanism 414, and data transfer mechanism 416.
[0069] Diagram 400 further illustrates that data transfer means receives data from one machine and transmits the same data to another machine using physical means (e.g., a drone or Spot robot). In one embodiment, data transfer means 410 (which may be a drone) is shown moving through the surrounding environment to better determine the need for data transfer. In one embodiment, machine 402 and machine 406 are shown to be sufficiently far away from each other such that the two machines are out of wireless communication range. In this case, data transfer means 410, 412, 414, and / or 416 can be used to transfer encrypted data from machine 402 to machine 406. In one embodiment, data transfer means 416 is shown transferring encrypted data received from another machine (not shown) to machine 408.
[0070] In some embodiments of the present invention, machines 402, 404, 406, and 408 comprise mobile means. However, in embodiments in which machines 402, 404, 406, and 408 are mobile means, these machines are not considered "data transfer means" for purposes of this specification. Additionally or alternatively, machines 402, 404, 406, and 408 are fixed computing systems (i.e., computing systems that are not constructed and configured to move under their own power from a first location to a second location, such as a standalone computing system, a set of cloud computing servers, etc.).
[0071] It is important to note that the use of the term "machine" (as used throughout this specification, such as machines 402, 404, and 408) is intended to be a conceptually distinct term from the term "data transfer means" (as used throughout this specification, such as data transfer means 410, 412, 414, and 416). IV. Definition
[0072] The present invention: The subject matter described by the term "the present invention" should not be taken as an absolute indication that it is covered by either the claims at the time of filing or any claims that may eventually be issued after patent prosecution; the term "the present invention" is used to help the reader get a general sense that the disclosures herein are believed to be potentially new, but as indicated by the use of the term "the present invention," this understanding is hypothetical and provisional, and is subject to change during the course of patent prosecution as relevant information develops, as the claims are potentially amended.
[0073] Embodiments: See definition of "present invention" above. A similar caution applies to the term "embodiments."
[0074] and / or: Inclusive or; for example, A, B "and / or" C means that at least one of A or B or C is true and applicable.
[0075] Including / include / includes: means "including but not necessarily limited to," unless expressly noted otherwise.
[0076] User / Subscriber: Includes, but is not necessarily limited to: (i) a single individual; (ii) an artificially intelligent entity with sufficient intelligence to act as a user or subscriber; and / or (iii) a group of related users or subscribers.
[0077] Data Communications: Any type of data communication method now known or later developed, including wireless communication, wired communication, and communication paths that include wireless and wired portions; data communications is not necessarily limited to (i) direct data communications; (ii) indirect data communications; and / or (iii) data communications in which the format, packetization status, medium, encryption status, and / or protocol remain constant throughout the course of the data communications.
[0078] Receive / Provide / Send / Input / Output / Report: Unless otherwise expressly specified, these words should not be construed as implying (i) any particular degree of directness regarding the relationship between their subject and object; and / or (ii) the absence of intervening intermediate components, actions, and / or things between their subject and object.
[0079] Without Substantial Human Intervention: A process that occurs automatically (often through the operation of machine logic such as software) with little or no human input; some examples that involve "without substantial human intervention" include (i) a computer performing a complex process and a grid power outage causes a human to switch the computer to an alternate power source so that the process continues uninterrupted; (ii) a computer is about to perform a resource-intensive process and a human confirms that the resource-intensive process should actually be performed (in this case, the confirmation process, considered in isolation, involves substantial human intervention, but the resource-intensive process does not involve any substantial human intervention, despite a simple yes-no style confirmation that must be made by a human); and (iii) using machine logic, a computer makes an important decision (e.g., a decision to ground all planes in anticipation of bad weather), but before implementing the important decision, the computer must obtain a simple yes-no style confirmation from a human source.
[0080] Automatic: Without any human intervention.
[0081] Module / Sub-Module: Any set of hardware, firmware, and / or software that is operable to perform a certain function, whether or not the module is (i) in a single local proximity; (ii) distributed over a wide area; (iii) in a single proximity within a larger software code; (iv) located within a single software code; (v) located within a single storage device, memory, or medium; (vi) mechanically connected; (vii) electrically connected; and / or (viii) connected by data communication.
[0082] Computer: Any device having significant data processing and / or machine-readable instruction reading capability, including, but not limited to, desktop computers, mainframe computers, laptop computers, field programmable gate array (FPGA)-based devices, smartphones, personal digital assistants (PDAs), body-worn or body-insertable computers, embedded device-style computers, and application-specific integrated circuit (ASIC)-based devices.
Claims
1. providing a plurality of data transfer means, each data transfer means of said plurality of data transfer means constructed and arranged to transfer encrypted data from a first machine to a second machine; proactively positioning the plurality of data transfer means around the first machine and the second machine so that data transfer operations can be efficiently performed; determining that a first condition exists that prevents the first machine from performing a data transfer operation to the second machine; collecting, by the first data transfer means, a set of encrypted data stored on the first machine in response to the determination that the first machine is unable to perform the data transfer operation to the second machine; and transferring the encrypted data set stored in the first machine to the second machine by the first data transfer means; A computer-implemented method (CIM) comprising:
2. 2. The CIM of claim 1, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is that Wi-Fi functionality of the first machine is impaired by a network failure event.
3. 2. The CIM of claim 1, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is the first machine being outside a threshold near field communication (NFC) range for communicating with the second machine.
4. 2. The CIM of claim 1, wherein said proactive positioning of said plurality of data transfer means is based at least in part on an amount of data that needs to be transferred.
5. 2. The CIM of claim 1, wherein said proactive positioning of said plurality of data transfer means is based at least in part on time dependencies of said data transfers.
6. 2. The CIM of claim 1, wherein said proactive positioning of said plurality of data transfer means is based at least in part on the availability of said data transfer means.
7. a machine-readable storage device; and computer code stored on the machine-readable storage device, the computer code causing one or more processor sets to: providing a plurality of data transfer means, each data transfer means of said plurality of data transfer means constructed and arranged to transfer encrypted data from a first machine to a second machine; proactively positioning said plurality of data transfer means around said first machine and said second machine so that data transfer operations can be efficiently performed; determining that a first condition exists that prevents the first machine from performing a data transfer operation to the second machine; collecting, by the first data transfer means, a set of encrypted data stored on the first machine in response to the determination that the first machine is unable to perform the data transfer operation to the second machine; and transferring the encrypted data set stored in the first machine to the second machine by the first data transfer means; instructions and data for performing operations including A computer program product (CPP) comprising:
8. 8. The CPP of claim 7, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is that Wi-Fi functionality of the first machine is impaired by a network failure event.
9. 8. The CPP of claim 7, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is the first machine being outside a threshold near field communication (NFC) range for communicating with the second machine.
10. 8. The CPP of claim 7, wherein said proactive positioning of said plurality of data transfer means is based, at least in part, on the amount of data that needs to be transferred.
11. 8. The CPP of claim 7, wherein the proactive positioning of the plurality of data transfer means is based, at least in part, on time dependencies of the data transfers.
12. 8. The CPP of claim 7, wherein said proactive positioning of said plurality of data transfer means is based, at least in part, on the availability of said data transfer means.
13. one or more processor sets; a machine-readable storage device; and computer code stored on the machine-readable storage device, the computer code causing the one or more processor sets to: providing a plurality of data transfer means, each data transfer means of said plurality of data transfer means constructed and arranged to transfer encrypted data from a first machine to a second machine; proactively positioning said plurality of data transfer means around said first machine and said second machine so that data transfer operations can be efficiently performed; determining that a first condition exists that prevents the first machine from performing a data transfer operation to the second machine; collecting, by the first data transfer means, a set of encrypted data stored on the first machine in response to the determination that the first machine is unable to perform the data transfer operation to the second machine; and transferring the encrypted data set stored in the first machine to the second machine by the first data transfer means; instructions and data for performing operations including A computer system (CS) comprising:
14. 14. The CS of claim 13, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is that Wi-Fi functionality of the first machine is impaired by a network failure event.
15. 14. The CS of claim 13, wherein the first condition that prevents the first machine from performing a data transfer operation to the second machine is the first machine being outside a threshold near field communication (NFC) range for communicating with the second machine.
16. 14. The CS of claim 13, wherein the proactive positioning of the plurality of data transfer means is based, at least in part, on the amount of data that needs to be transferred.
17. 14. The CS of claim 13, wherein the proactive positioning of the plurality of data transfer means is based, at least in part, on time dependencies of the data transfers.
18. 14. The CS of claim 13, wherein the proactive positioning of the plurality of data transfer means is based, at least in part, on the availability of the data transfer means.