Embodiments of the present disclosure generally relate to window washing systems for cleaning the exterior of a window of a building (e.g., residential or commercial).
Cleaning the external-facing side of windows in residential and commercial settings can be a difficult, labor-intensive task that is also dangerous when working on windows that are at elevated heights. Window washing is generally performed as a manual task regardless of the height of the building and reaching each window of a building may require a ladder or other device (a Bosun's chair) suspended by ropes or cables from the roof of the building to help a window washer reach and manually wash the window.
Window washing systems of the prior art are generally bulky, with some including entirely separate, large carts that house the motor, pump, and other control equipment. Other window washing systems spray cleaning solution from a fixed position at the top of the window. However, this method does not evenly apply the cleaning solution to the entire window, resulting in missed spots and an unevenly cleaned surface when a wiper blade or sponge finally wipes the fluid away.
Accordingly, there is a need for an automated window washing system for cleaning an external surface of a window pane that has a low-profile (e.g., is hidden) as well as effectively and evenly cleans the window pane surface.
In various embodiments, a window washing assembly includes a first roller bar affixed within a first side of a window frame that is surrounding a window pane. The assembly further includes a second roller bar affixed within a second side of the window frame. The assembly further includes a first pulley disposed within a third side of the window frame where the first pulley is coupled to the first roller bar and the second roller bar. The assembly further includes a second pulley parallel to the first pulley and disposed within a fourth side of the window frame where the second pulley coupled to the first roller bar and the second roller bar. The assembly further includes a wiper arm extending from a first end to a second end and having a length therebetween. The first end of the wiper arm is coupled to the first pulley and the second end of the wiper arm is coupled to the second pulley. The wiper arm includes at least one spray nozzle disposed along the length. The assembly further includes a wiper blade in contact with the window pane and at least one magnet affixed to the wiper arm. The assembly further includes a motor rotatably coupled to the first roller bar or the second roller bar such that, upon activation, the motor rotates the first roller bar and the second roller bar thereby causing the wiper arm to translate in a direction parallel with the window. The assembly further includes a first magnetic stop disposed between a first edge of the window pane and the first roller bar. The assembly further includes a second magnetic stop disposed between a second edge of the window pane and the second roller bar. The assembly further includes a cleaning fluid reservoir fluidly coupled to the one or more spray nozzles of the wiper arm. A distance between the first magnetic stop and the second magnetic stop defines a translation distance of the wiper arm and, when the one or more magnet of the wiper arm contacts the first magnetic stop or the second magnetic stop, the motor is configured to stop and/or reverse translation of the wiper arm.
A window washing assembly includes an assembly frame having a first side, a second side opposite the first side, a third side adjacent to the first side and the second side, and a fourth side adjacent to the first side and the second side. The fourth side is opposite the third side. The assembly further includes a first roller bar affixed along the first side of the frame. The assembly further includes a second roller bar affixed along the second side of the frame. The assembly further includes a first pulley disposed along the third side of the frame where the first pulley is coupled to the first roller bar and the second roller bar. The assembly further includes a second pulley parallel to the first pulley and disposed along the fourth side of the frame where the second pulley coupled to the first roller bar and the second roller bar. The assembly further includes a wiper arm extending from a first end to a second end and having a length therebetween. The first end of the wiper arm is coupled to the first pulley and the second end of the wiper arm is coupled to the second pulley. The wiper arm includes a wiper blade. The assembly further includes a motor rotatably coupled to the first roller bar or the second roller bar such that, upon activation, the motor rotates the first roller bar and the second roller bar thereby causing the wiper arm to translate in a direction parallel with the third side and the fourth side. The assembly further includes a first plurality of spray nozzles disposed along the third side of the frame, a second plurality of nozzles disposed along the fourth side of the frame, and a cleaning fluid reservoir fluidly coupled to the first plurality of spray nozzles and the second plurality of spray nozzles.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and are intended to provide further explanation of the disclosed subject matter claimed.
The accompanying drawings, which are incorporated in and constitute part of this specification, are included to illustrate and provide a further understanding of the method and system of the disclosed subject matter. Together with the description, the drawings serve to explain the principles of the disclosed subject matter.
A detailed description of various aspects, features, and embodiments of the subject matter described herein is provided with reference to the accompanying drawings, which are briefly described below. The drawings are illustrative and are not necessarily drawn to scale, with some components and features being exaggerated for clarity. The drawings illustrate various aspects and features of the present subject matter and may illustrate one or more embodiment(s) or example(s) of the present subject matter in whole or in part.
Reference will now be made in detail to exemplary embodiments of the disclosed subject matter, an example of which is illustrated in the accompanying drawings. The method and corresponding steps of the disclosed subject matter will be described in conjunction with the detailed description of the system.
The present invention concerns that of a new and improved apparatus for use with windows on buildings. The apparatus would be an electronic system for automatically cleaning the exterior side of windows in buildings, preferably skyscrapers, which would be operated through a control panel located inside a room within the building. Each system would be specifically designed for only one window.
In various embodiments, a motor and/or one or more control modules may be housed on the first side 102a of the window frame 101. In other embodiments, the motor and/or control modules may be positioned on any suitable side, 102a, 102b, 102c, 102d of the window frame 101. In various embodiments, the window washing assembly may include a wiper arm 110 that extends along the length of the window pane 103. In various embodiments, the window washing assembly may include a track configured to retain the wiper arm and allow the wiper arm to translate along the window pane 103. In various embodiments, the track may be integrated into the sides 102c, 102d of the window frame 102. In various embodiments, the window 101 may include an access panel 104 disposed on an interior surface. In various embodiments, the access panel 104 may be configured to access the motor and/or control unit components, which may, for example, be positioned on the exterior surface of the window frame 102.
In various embodiments, the wiper arm may begin at the bottom edge of the window pane 103. In various embodiments, upon energizing the motor, the wiper arm may translate upwards from the first edge 103a of the window pane 103 to the second edge 103b of the window pane 103. In various embodiments, the wiper arm includes one or more (e.g., a plurality of) spray nozzles configured to provide (e.g., spray) a cleaning fluid on the window pane 103. In various embodiments, each side 102c, 102d includes one or more spray nozzles configured to provide (e.g., spray) a cleaning fluid on the window pane 103. In various embodiments, other sides 102a, 102b may include spray nozzles configured to provide (e.g., spray) a cleaning fluid on the window pane 103. In various embodiments, while translating upwards, the wiper arm may be configure to spray a cleaning solution on the window pane 103. In various embodiments, prior to the wiper arm translating, the cleaning fluid may be sprayed onto the window pane 103. In various embodiments, the window washing assembly includes a cleaning fluid reservoir. In various embodiments, the window washing assembly 100 may further include a pump for pumping cleaning fluid from the cleaning fluid reservoir to the one or more nozzles.
In various embodiments, when the wiper arm reaches the second edge 103b of the window pane 103, one or more magnet on the wiper arm will activate an upper relay (e.g., a magnetic stop) at the second edge 103b, to thereby stop the motor and stop the spraying of cleaning fluid. In various embodiments, the control module may then activate the motor to reverse direction and push the wiper arm down the glass thereby wiping away any fluid on the surface of the window pane 103. In various embodiments, when the wiper arm reaches the first edge 103a of the window pane 103, the one or more magnet on the wiper arm may activate a lower relay (e.g., a magnetic stop), to thereby stop the motor. In various embodiments, the process may repeat one or more times. In various embodiments, the system may stop and await a future command, for example, from a user-controlled mobile application.
In various embodiments, the window washing system may be configured as an internet-of-things (IOT) device. In various embodiments, the window washing system may be operable via a smart phone application to control window washing of an individual or preset number of windows. In various embodiments, the application may provide for intelligent control of the window washing process. For example, a user may set the window washing process to start at a particular location (e.g., all windows on a highest story) and proceed down each story after the windows on the upper story(ies) have finished the window washing process. In various embodiments, a user may schedule automated cleanings via the mobile application so that one or more windows are cleaned at a predetermined time and for a predetermined number of windows (e.g., all windows of a single building). For example, a user may schedule window cleanings to occur weekly on Sundays at 8 am, beginning with the top-most windows and ending with the ground-level windows.
In various embodiments, components of the window washing system (e.g., track, pulleys, etc.) may be hidden within the window frame. In various embodiments, components of the window washing system may be housed within a housing. For example, the entire pulley system (gears, chains, etc.) can be enclosed to shelter from inclement weather conditions. In various embodiments, the housing may include similar colors and/or textures as the window frame and/or building to make the window washing system profile as discreet as possible. In various embodiments, the system may include a gasket or seal (e.g., weather stripping) configured to hide one or more parts of the system. For example, the side tracks may include polymer (e.g., nylon) bristles configured to hide the side tracks but allow the wiper arm to translate up and down.
In various embodiments, a window washing system may include a central cleaning fluid reservoir fluidly coupled to two or more window washing assemblies on a single building. In various embodiments, the central cleaning fluid reservoir may supply all window units with window washing fluid.
In various embodiments, a window washing system may include a central power supply configured to supply power to all window washing assemblies in a single building.
In various embodiments, rather than a pulley, the window washing assembly may include any suitable mechanism that converts rotational motion from a motor into linear motion capable of translating the wiper arm 310. In various embodiments, each end of the wiper arm 310 may be coupled to a linear screw actuator (also called a linear slide). In various embodiments, a screw (e.g., acme screw) of the linear slide may receive the rotation from the motor and convert the rotational motion into translational motion where the wiper arm is coupled to a carriage plate of the linear screw actuator. In various embodiments, the wiper arm 310 may be coupled to one or more linear screw actuator. In various embodiments, each end of the wiper arm 310 may be disposed inside a belt that wraps around the pulleys (e.g., the belt may be integrally formed around the ends of the wiper arm 310 or each end of wiper arm 310 may be inserted into a pocket within the belt). In various embodiments, the belt may be designed to accept the wiper arm inside of it with some room to rotate slightly allowing an angle against the window pane. In various embodiments, to accommodate a hose to supply the nozzles with cleaning fluid, the wiper arm 310 may include an integrated fitting configured to hold the wiper arm in place against the respective belt and allow attachment of the cleaning solution hose. In various embodiments, where the wiper arm 310 translates sideways (left-to-right or right-to-left, where the wiper arm extends from a top side of the window frame to a bottom side of the window frame), the hose that supplies the cleaning fluid may be coupled to the wiper arm 310 at the top side.
In various embodiments, a motor 320 may be operably coupled to at least one of the roller bars 306a, 306b. As shown in
As shown in
In various embodiments, the wiper arm 310 includes one or more magnets 312. In various embodiments, the one or more magnets 312 may be positioned at a center of the wiper arm along its length. In various embodiments, the one or more magnets 312 may be positioned in any suitable location along the length of the wiper arm 310 such that the one or more magnets 312 can engage a corresponding magnetic stop 313 at the edges of the window pane (the distance therebetween defining a linear travel distance of the wiper arm 310). In various embodiments, each magnetic stop 313 may be electrically coupled to the controller 325 to thereby provide a control signal to the controller 325 for stopping and/or reversing the direction of the wiper arm 310. In various embodiments, the one or more nozzles 311 may include a first subset of nozzles 311a positioned on one side (e.g., left side) of the one or more magnets 312 and a second subset of nozzles 311b on the other side (e.g., right side) of the one or more magnets 312. In general, locating the spray nozzles on the wiper arm may deliver the best results as the entire window surface can be coated during the cleaning process. Spraying from the top only may cause streaks as the wiper arm would lose solution the further it travels. In various embodiments, spraying from the side may also be suitable as long as side nozzles are configured (e.g., adjusted to spray at different angles) to cover the entire window. Additionally, the nozzles 311 may be equipped to spray liquid (e.g. water and/or cleansing solution) as well as air to facilitate streak-free drying of the window pane. In some embodiments, a refillable canister of compressed air can be housed within the wiper arm to supply pressurized air to the nozzle orifices. The nozzles can dispense pressurized air in a pulsed or continuous fashion. Also, the nozzles orientation or direction can be adjusted during the dispensing of an air jet to provide a vector or column of air the forcefully remove any water (or debris) that may be present on the window.
In various embodiments, a protrusion may be provided on the wiper arm 310 such that the protrusion activates a switch (e.g., a button) or completes a circuit (e.g., via contact between two metal ends) to provide a signal to a controller via relay wire 314 and thereby stop the linear travel of the wiper arm 310 and/or reverse the linear direction of travel of the wiper arm 310. In various embodiments, an infrared distance sensor may be used to determine when the wiper arm is nearing the edge of the window pane 303 to provide a control signal to the control unit and thereby stop and/or reverse the direction of travel of the wiper arm 310. In various embodiments, the wiper arm may include one or more (e.g., two) stop points at which the wiper arm stops and reverses direction when contacted. In various embodiments, this may be achieved by programming in the central processing unit that counts revolutions of the pulley, a timed interval, and/or rotations of a motor. In various embodiments, an advantage of the magnetic stops is that stops can be used to adjust for changes in the cycle of the wiper arm. In various embodiments, if the wiper arm is out of calibration (e.g., translates too far or not enough), the system can correct itself by running through a cycle and finding the stop and start points denoted by the magnetic stops. In various embodiments, without a stop to define stopping points of the wiper arm, if the wiper arm were to lose calibration, the system may require manual service.
As shown in
In various embodiments, the cleaning fluid relay 330 may be electrically coupled to the controller 325 and receive control signals from the controller 325. In various embodiments, the cleaning fluid relay 330 may adjust a flow rate of the cleaning fluid based on control signals received from the controller 325. For example, the controller 325 may instruct the pump to begin pumping cleaning fluid to the one or more nozzles 311 on the wiper arm 310. In various embodiments, the cleaning fluid relay 330 may track cleaning fluid levels and provide fluid level updates to the controller, which may then be provided to a server running a mobile application so that a user can access their window cleaning system status and view cleaning fluid levels. In various embodiments, the mobile application may provide a user an alert when cleaning fluid levels are low (e.g., enough fluid for one more cleaning operation).
In various embodiments, as shown in
In various embodiments, similar to
In various embodiments, the removable window washing assembly 400 includes one or more spray nozzles 411 (e.g., a plurality of nozzles) disposed along the length of one or more sides 402a-402d of the frame (e.g., both vertical sides 402c, 402d). In various embodiments, the one or more spray nozzles 411 may be equally-spaced along the length of each side 402a-402d. In various embodiments, the one or more spray nozzles 411 may be unevenly-spaced along the length of each side 402a-402d. For example, the one or more spray nozzles 411 may be closer together towards the top side 402b and have greater spacing towards the bottom side 402a.
In various embodiments, similar to
In various embodiments, similar to
In various embodiments, the pump 430a may be electrically coupled to the controller 425 and receive control signals from the controller 425. In various embodiments, the pump 430a may adjust a flow rate of the cleaning fluid based on control signals received from the controller 425. For example, the controller 425 may instruct the pump to begin pumping cleaning fluid to the one or more nozzles 411.
In some embodiments the window cleaning system disclosed herein can include a heating element to preheat the cleaning fluid, and or de-ice the nozzles. For example, the reservoir of cleaning fluid can include an electrical conductor (e.g., copper wire) circumscribing the reservoir to elevate the temperature of the cleaning fluid contained there prior to dispensing from the nozzles on the wiper arm. Additionally or alternatively, the nozzles can include thermally conductive elements to deliver heat directly to the nozzle structure, thereby ensuring ice does not occlude the nozzle.
Furthermore, in some embodiments the wiper arm does not contact the window directly; instead the cleaning fluid ejected from the nozzles is the only material that directly engages the window pane. In some embodiments, the wiper arm can include a protruding (and flexible) lip which serves as a squeegee to engage the window pane and direct the cleaning fluid (and debris) off/down the window pane and into a collection reservoir.
Additionally, the nozzles can dispense cleaning fluid under constant pressure and/or temperature for the duration of the spray period. Alternatively, the nozzles can dispense cleaning fluid in a pulsed manner, with each nozzle operating at differing pressure/temperature. Furthermore, each nozzle can articulate over a range of motion (e.g., 180° with respect to a vertical axis, and 180° with respect to a horizontal axis) to vector the dispensed cleaning fluid to a particular target/location (e.g., where debris is known to be present on the window pane).
Referring now to
As shown in
In various embodiments, each screw drive 903 may be positioned within a containment track that is built into the window, thereby hiding the screw draft 903 within the window frame. In various embodiments, the wiper arm may engage (e.g., contact) the window pane through a portion of the traveler 908 cycle and not engage the window pane on another portion of the traveler 908 cycle. In various embodiments, the connecting hose may include a joint configured to revolve 360 degrees (e.g., a rotary or swivel joint). In various embodiments, a stop sensor may be positioned along the path of the wiper blade to provide a signal to the control unit that stops the motor. In various embodiments, a tensioning device may be coupled to the screw drive 903 and activate on the one part of the cycle (e.g., upward cycle) and push the wiper arm assembly off of the glass (e.g., as the wiper arm travels upwards). In various embodiments, screw drive 903 is sealed from the elements by a weather shield protector 902. Weather shield protector 902 may be a series of walls arranged to cover at least one side of the screw drive 903, such as the lateral sides of screw drive 903 (left and right). The weather shield protector 902 may be configured to cover the whole of a screw drive 903 and allow the traveler 908 to pass up and down within the weather shield protector 902. For example, bristles may be configured to cover a side of the screw drive 903 and seal against water ingress, but allow the traveler 908 to pass through and push the bristle aside as it passes.
In various embodiments, the washer arm 909 includes one or more magnets 904. In various embodiments, the one or more magnets 904 may be positioned at a center of the traveler 908. In various embodiments, the one or more magnets 904 may be positioned in any suitable location along the length of the washer arm 909 or traveler 908 such that the one or more magnets 904 can engage a corresponding magnetic stop at any suitable edge of the window pane (the distance therebetween defining a linear travel distance of the washer arm 909). In various embodiments, any magnetic stop may be electrically coupled to the controller to thereby provide a control signal to the controller for stopping and/or reversing the direction of the washer arm 909. In various embodiments, the one or more nozzles may include a first subset of nozzles positioned on one side (e.g., left side) of the one or more magnets 904 and a second subset of nozzles on the other side (e.g., right side) of the one or more magnets 904. In general, locating the spray nozzles on the wiper arm may deliver the best results as the entire window surface can be coated during the cleaning process. Spraying from the top only may cause streaks as the wiper arm would lose solution the further it travels. In various embodiments, spraying from the side may also be suitable as long as side nozzles are configured (e.g., adjusted to spray at different angles) to cover the entire window.
In various embodiments, a protrusion may be provided on the washer arm 909 such that the protrusion activates a switch (e.g., a button) or completes a circuit (e.g., via contact between two metal ends) to provide a signal to a controller via control wires 901c and thereby stop the linear travel of the washer arm 909 and/or reverse the linear direction of travel of the washer arm 909. In various embodiments, an infrared distance sensor may be used to determine when the wiper arm is nearing the edge of the interior window 907 to provide a control signal to the control unit and thereby stop and/or reverse the direction of travel of the washer arm 909. In various embodiments, the wiper arm may include one or more (e.g., two) stop points at which the wiper arm stops and reverses direction when contacted. In various embodiments, this may be achieved by programming in the central processing unit that counts revolutions of the pulley, a timed interval, and/or rotations of a motor. In various embodiments, an advantage of the magnetic stops is that stops can be used to adjust for changes in the cycle of the wiper arm. In various embodiments, if the wiper arm is out of calibration (e.g., translates too far or not enough), the system can correct itself by running through a cycle and finding the stop and start points denoted by the magnetic stops. In various embodiments, without a stop to define stopping points of the wiper arm, if the wiper arm were to lose calibration, the system may require manual service.
In various embodiments, to accommodate a hose to supply the nozzles with cleaning fluid, the washer arm 909 may include an integrated fitting configured to hold the wiper arm in place against the traveler 908 and allow attachment of the cleaning solution hose via a washer fluid supply 905. In various embodiments, where the washer arm 909 translates sideways (left-to-right or right-to-left, where the wiper arm extends from a top side of the window frame to a bottom side of the window frame), the hose that supplies the cleaning fluid may be coupled to the washer arm 909 at the top or another suitable side.
Referring specifically to
Now referring specifically to
Now referring to
Referring now to
Continuous washer arm 1002 may be configured to travel up and down the pane 1001 via screw drive 1003. Screw drive 1003 may be encased as described herein (and as shown in
Still referring to
With continued reference to
Referring now to
In computing node 1110 there is a computer system/server 1112, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 1112 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.
Computer system/server 1112 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
Computer system/server 1112 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
As shown in
Bus 1118 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 1112 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 1112, and it includes both volatile and non-volatile media, removable and non-removable media.
System memory 1128 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1130 and/or cache memory 1132. Computer system/server 1112 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 1134 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 1118 by one or more data media interfaces. As will be further depicted and described below, memory 1128 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
Program/utility 1140, having a set (at least one) of program modules 1142, may be stored in memory 1128 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 1142 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
Computer system/server 1112 may also communicate with one or more external devices 1114 such as a keyboard, a pointing device, a display 1124, etc.; one or more devices that enable a user to interact with computer system/server 1112; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 1112 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 1122. Still yet, computer system/server 1112 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 1120. As depicted, network adapter 1120 communicates with the other components of computer system/server 1112 via bus 1118. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 1112. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain 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 the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or 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, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the 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 made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
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.
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, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart 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 the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
This application claims the benefit of priority under 35 USC 119(e) to U.S. Provisional Patent App. No. 63/255,204, filed on Oct. 13, 2021, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63255204 | Oct 2021 | US |