The present invention relates in general to a device for lifting a boat, and more particularly, to various embodiments for providing an apparatus for lifting and securely storing a boat.
The present invention is directed to an apparatus for lifting boats that satisfies the need for boat owners to lift their boats easily, affordably, and reliably with a boat lift that is easy to install, operate, and maintain. The apparatus comprises a boat lift that is attached to two parallel supports, such as box beams, that are suspended above the water at a distance apart from one another that allows for the desired length of boat.
A pulley is attached to one end of each of the two supports with sheave hanger plates, these ends of the supports are referred to as the pulley ends. A pair of hanger brackets is attached to one of the supports facing each other on the opposite end from the pulley end and a gear housing hanger bracket is paired with a hanger bracket attached to the end of the other support on the opposite end from the pulley end, these ends of the support are referred to as the drive ends.
The hanger brackets and the gear housing hanger bracket have bores through them to allow a driveline to passthrough the hanger brackets and gear housing hanger bracket. The driveline comprises a shaft that extends the distance between the supports. A grooved winding section is attached at each end of the driveline and extends the distance between the bores in the paired sheave and gear housing hanger brackets.
The grooved winding sections allow the winding of cables at each end of the driveline. The driveline has two ends, one is the passive end and the other is the dynamic end. The dynamic end interfaces with the gear housing hanger bracket. A gear housing is attached to the gear housing hanger bracket and interfaces with the dynamic end of the driveline through stages of gears to rotate the driveline within the bores of the hanger bracket and gear housing hanger bracket.
The driveline interfaces with the three hanger brackets with rollers, made from bearing grade carbon fiber and graphite resins, or brass bushings and the driveline interfaces with the gear housing hanger bracket with a gear hub placed between two tapered bearings. The advantages of the embodiment of the invention that includes bearing grade carbon fiber and graphite resin rollers is that these rollers do not require the lubricants that brass bushings or traditional bearings require that can drip into and contaminate the water below the lift. The rotation of the driveline winds one end of a cable around the grooved winding section (one cable at each grooved winding section). The other end of each cable threads through pulleys on the pulley end of the supports from the respective grooved winding section and returns from the pulleys to the grooved winding section in such a way that this other end of each cable winds around the grooved winding sections in the opposite direction than the first end of the cable—in short, both ends of each cable wind around the same grooved winding section of the driveline in opposite directions from each other at their respective ends of the driveline. An embodiment includes a brace or strap that is positioned at the center of the cables at each end of the boat lift in order to allow the strap or brace interface with the bottom of the boat, to protect the bottom of the boat from any damage that a cable might cause while the boat is lifted or lowered.
An embodiment includes a computer usable program product. The computer usable program product includes a computer-readable storage device, and program instructions stored on the storage device.
An embodiment includes a computer system. The computer system includes a processor, a computer-readable memory, and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory.
Thus, in addition to the foregoing exemplary method embodiments, other exemplary apparatus, systems, and computer product embodiments are provided.
In order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
The following detailed description of the invention merely provides exemplary embodiments and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description of the invention.
Before the disclosed embodiments are described, it is to be understood that this disclosure is not limited to the particular structures, process steps, or materials disclosed herein, but is extended to equivalents thereof as would be recognized by those ordinarily skilled in the relevant arts. It should also be understood that terminology employed herein is used for the purpose of describing particular examples or embodiments only and is not intended to be limiting. The same reference numerals in different drawings represent the same element. Numbers provided in flow charts and processes are provided for clarity in illustrating steps and operations and do not necessarily indicate a particular order or sequence.
Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of layouts, distances, network examples, etc., to provide a thorough understanding of various technology embodiments. One skilled in the relevant art will recognize, however, that such detailed embodiments do not limit the overall inventive concepts articulated herein, but are merely representative thereof.
As used in this specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a gear” includes a plurality of such gear.
Reference throughout this specification to “an example” means that a particular feature, structure, or characteristic described in connection with the example is included in at least one invention embodiment. Thus, appearances of the phrases “in an example” or the like in various places throughout this specification do not necessarily all refer to the same embodiment.
As used herein, a plurality of items, structural elements, compositional elements, and/or materials can be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various invention embodiments and examples can be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as defacto equivalents of one another, but are to be considered as separate and autonomous representations under the present disclosure.
Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of layouts, distances, network examples, etc., to provide a thorough understanding of invention embodiments. One skilled in the relevant art will recognize, however, that the technology can be practiced without one or more of the specific details, or with other methods, components, layouts, etc. In other instances, well-known structures, materials, or operations may not be shown or described in detail to avoid obscuring aspects of the disclosure.
In this disclosure, “comprises,” “comprising,” “containing” and “having” and the like can have the meaning ascribed to them in U.S. Patent law and can mean “includes,” “including,” and the like, and are generally interpreted to be open ended terms. The terms “consisting of” or “consists of” are closed terms, and include only the components, structures, steps, or the like specifically listed in conjunction with such terms, as well as that which is in accordance with U.S. Patent law. “Consisting essentially of” or “consists essentially of” have the meaning generally ascribed to them by U.S. Patent law. In particular, such terms are generally closed terms, with the exception of allowing inclusion of additional items, materials, components, steps, or elements, that do not materially affect the basic and novel characteristics or function of the item(s) used in connection therewith. For example, trace elements present in a composition, but not affecting the compositions nature or characteristics would be permissible if present under the “consisting essentially of” language, even though not expressly recited in a list of items following such terminology. When using an open ended term in this specification, like “comprising” or “including,” it is understood that direct support should be afforded also to “consisting essentially of” language as well as “consisting of” language as if stated explicitly and vice versa. For example, the Term “comprises” and grammatical equivalent thereof, are used herein to mean that other components are optionally present. For example, an article “comprising” (or “which comprises”) components A, B, and C can consist of (i.e., contain only) components A, B, and C, or can contain not only components A, B, and C but also one or more other components.
The terms “first,” “second,” “third,” “fourth,” and the like in the description and in the claims, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that any terms so used are interchangeable under appropriate circumstances such that the embodiments described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Similarly, if a method is described herein as comprising a series of steps, the order of such steps as presented herein is not necessarily the only order in which such steps may be performed, and certain of the stated steps may possibly be omitted and/or certain other steps not described herein may possibly be added to the method.
As used herein, comparative terms such as “increased,” “decreased,” “better,” “worse,” “higher,” “lower,” “enhanced,” “improved,” and the like refer to a property of a device, component, or activity that is measurably different from other devices, components, or activities in a surrounding or adjacent area, in a single device or in multiple comparable devices, in a group or class, in multiple groups or classes, or as compared to the known state of the art. For example, a process that provides “improved” efficiency is a process that requires less time or energy to perform the process than to perform the same or a similar state of the art process. A number of factors can cause such increased risk, including location, fabrication process, number of program pulses applied to the region, etc.
As used herein, the term “substantially” refers to the complete or nearly complete extent or degree of an action, characteristic, property, state, structure, item, or result. For example, an object that is “substantially” enclosed would mean that the object is either completely enclosed or nearly completely enclosed. The exact allowable degree of deviation from absolute completeness may in some cases depend on the specific context. However, generally speaking the nearness of completion will be so as to have the same overall result as if absolute and total completion were obtained. The use of “substantially” is equally applicable when used in a negative connotation to refer to the complete or near complete lack of an action, characteristic, property, state, structure, item, or result. For example, a composition that is “substantially free of” particles would either completely lack particles, or so nearly completely lack particles that the effect would be the same as if it completely lacked particles. In other words, a composition that is “substantially free of” an ingredient or element may still actually contain such item as long as there is no measurable effect thereof.
As used herein, the term “about” is used to provide flexibility to a numerical range endpoint by providing that a given value may be “a little above” or “a little below” the endpoint. However, it is to be understood that even when the term “about” is used in the present specification in connection with a specific numerical value, that support for the exact numerical value recited apart from the “about” terminology is also provided.
Numerical amounts and data may be expressed or presented herein in a range format. It is to be understood that such a range format is used merely for convenience and brevity and thus should be interpreted flexibly to include not only the numerical values explicitly recited as the limits of the range, but also to include all the individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly recited. As an illustration, a numerical range of “about 1 to about 5” should be interpreted to include not only the explicitly recited values of about 1 to about 5, but also include individual values and sub-ranges within the indicated range. Thus, included in this numerical range are individual values such as 2, 3, and 4 and sub-ranges such as from 1-3, from 2-4, and from 3-5, etc., as well as 1, 1.5, 2, 2.3, 3, 3.8, 4, 4.6, 5, and 5.1 individually.
This same principle applies to ranges reciting only one numerical value as a minimum or a maximum. Furthermore, such an interpretation should apply regardless of the breadth of the range or the characteristics being described.
An initial overview of technology embodiments is provided below and then specific technology embodiments are described in further detail later. This initial summary is intended to aid readers in understanding the technology more quickly, but is not intended to identify key or essential technological features nor is it intended to limit the scope of the claimed subject matter. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
As a preliminary matter, it is important to know that boat owners lift their boats and store them out of the water when not in use. Metallics, woods and fiberglass can be damaged by exposure to water; further corrosion will occur at worrisome speeds if left unchecked. In addition to damage to the hull, mechanical parts, such as the engine, props, and other mechanical parts exposed to the water, whether they are found outside the hull of the boat or in areas of the boat where water can reach through various inlets in the hull.
Lifting their boat also allows owners to clean the hull and check leaks, changing the oil and filter, and inspecting other parts for routine maintenance. These routine maintenance checks can allow the owner to reduce the amount of dirt, waterborne organisms, and grime that builds up on the hull, which can eventually cause significant damage. Lifting and drying a boat can prevent the accidental transfer or invasive species from one body of water to another. Finally, lifting a boat can allow for the ease of transport and increasing the available options for transporting the boat as another vehicle doesn't need to enter the water to retrieve the boat.
Boat owners should take the necessary precautions to protect their boat from water damage. This includes regularly lifting and storing their boats out of the water when not in use. By doing this, you can help to extend the life of your boat and avoid costly repairs down the road.
Due to the importance of lifting a boat, a need exists for a simple, lightweight, efficient, and reliable apparatus for lifting a boat and easy to install, easy to operate, more affordable, lightweight, and easy to maintain and repair that is available to owners and marina.
Thus, as provided herein, the present invention provides for a boat lifting system. The boat lifting system may include A boat lift apparatus, comprising a driveline having grooved winding sections near each end of the driveline; one or more pairs of hanger brackets coupled to one or more ends of the driveline, wherein the grooved winding sections are located between the one or more pairs of hanger brackets coupled to the one or more ends of the driveline; a gear housing coupled to the driveline, where the gear housing includes one or more gears to rotate the driveline, where the gear housing surrounds a designated section of the driveline; and a motor connected to the gear housing, where the motor delivers power to the gear housing to rotate the driveline.
In one example, the boat lift apparatus may include a gear housing with a bearing assembly and a gear housing hanger bracket to secure the gear housing.
In an additional example, the boat lift apparatus may include a bearing assembly that may have a double tapered gear hub and on each tapered section is a tapered bearing to help the driveline that passes through the gear hub to rotate within the gear housing.
In an additional example, the boat lift apparatus may have a gear housing that may include a power transmission system coupled a motor.
In an additional example, the driveline of the boat lift apparatus may have a first end and a second end, where the first end and the second end both include the grooved winding sections; and a center shaft coupled to and positioned between the first end and the second end.
In an additional example, the boat lift apparatus may have one or more cables coupled to the grooved winding sections on both the first end and the second end of the driveline for lifting, lowering, and supporting a boat.
In an additional example, the boat lift apparatus may have a boat lift computing device configured to send and receive one or more commands both to and from the driveline, the gear housing, the motor, a bearing assembly, a plurality of cables, a power transmission, or a combination thereof, where the boat lift computing device is an internet of things (IoT) computing device; and one or more sensor devices that communicates with the boat lift computing device; where the one or more sensor devices collect, monitor, and track data relating to the driveline, the gear housing, the motor, a bearing assembly, a plurality of cables, and a power transmission system; where the one or more sensors communicate with the boat lift computing device, one or more user equipment (“UE”), a global positioning satellite (“GPS”) device, or a combination of such equipment or sensors.
In an additional example, the present invention may provide for a boat lifting system. The boat lifting system may include A boat lift apparatus that may have a driveline with a dynamic shaft, a center shaft, a static shaft, wherein the dynamic shaft and the static shaft, on each end of the center shaft, include grooved winding sections configured to receive and wind one or more cables for lifting, lowering, and supporting a boat, where the center shaft is greater in length than the dynamic shaft and the static shaft; a gear housing having one or more gears to rotate the driveline, wherein the gear housing surrounds a portion of the center shaft that interfaces with the dynamic shaft; a motor connected to the gear housing, where the motor delivers power to the gear housing; and a first pair of hanger brackets coupled to the dynamic shaft of the driveline, where the first pair of hanger brackets secure the dynamic shaft of the driveline to one or more fixed objects, where the grooved winding section of the dynamic shaft is located between the first pair of hanger brackets; and a second pair of hanger brackets coupled to the static shaft of the driveline, where the second pair of hanger brackets secure the static shaft of the driveline to one or more fixed objects, where the grooved winding sections of the static shaft are located between the second pair of hanger brackets.
In an additional example, the boat lift may include a plurality of split bushing positioned around the dynamic shaft and the static shaft interfacing with the hanger brackets. Or, the boat lift apparatus may include a plurality of rollers positioned around the dynamic shaft and the static shaft interfacing with the hanger brackets.
In an additional example, the boat lift apparatus may have a gear housing that has a bearing assembly associated with a bottom section of the gear housing, where the bearing assembly may have a double tapered gear hub, where the double tapered gear hub is a single gear having a tapered sleeve on one or more ends of the single gear; and two tapered bearings, wherein the tapered bearings are coupled to the tapered sleeves.
In an additional example, the boat lift apparatus may have a gear housing that may include a power transmission system, where the power transmission system includes one or more gears and the gear housing and the power transmission system are coupled to a motor.
In an additional example, the boat lift apparatus may include a plurality of cables, where one or more of the cables are coupled to the grooved winding sections of the dynamic shaft and the static shaft for lifting, lowering, and supporting a boat.
In an additional example, the boat lift apparatus may include a boat lift computing device configured to send and receive one or more commands both to and from the driveline, the gear housing, the motor, a bearing assembly, a plurality of cables, a power transmission, or a combination thereof, where the boat lift computing device is an internet of things (IoT) computing device; and one or more sensor devices communicate with the boat lift computing device; wherein the sensor devices collect, monitor, and track data relating to the driveline, the gear housing, the motor, a bearing assembly, a plurality of cables, and a power transmission system; where the one or more sensors are communicate with the boat lift computing device, one or more user equipment (“UE”), a global positioning satellite (“GPS”) device, or a combination of UE or GPS devices.
In an additional example, the present invention may provide for a boat lifting system. The boat lifting system may include a driveline having a dynamic shaft, a center shaft, a static shaft, wherein the dynamic shaft and the static shaft include grooved winding sections configured to receive and wind one or more cables for lifting, lowering, and supporting a boat, where the center shaft is greater in length than the dynamic shaft and the static shaft; a gear housing having one or more gears to rotate the driveline, where the gear housing surrounds a portion of the center shaft that interfaces with the dynamic shaft; a bearing assembly associated with the gear housing; a motor connected to the gear housing, where the motor delivers power to the gear housing; a plurality of cables, wherein one or more of the plurality of cables are coupled to the grooved winding sections of the dynamic shaft and the static shaft; and a first pair of hanger brackets coupled to the dynamic shaft of the driveline, where the first pair of hanger brackets secure the dynamic shaft of the driveline to one or more fixed objects, where the grooved winding sections of the dynamic shaft are located between the first pair of hanger brackets; and a second pair of hanger brackets coupled to the static shaft of the driveline, where the second pair of hanger brackets secure the static shaft of the driveline to one or more fixed objects, where the grooved winding sections of the static shaft are located between the second pair of hanger brackets.
In one example, the boat lift system may include one or more split bushing or rollers, wherein the dynamic shaft and the static shaft operates on one or more split bushing or rollers, where the one or more split bushings or rollers are configured to be removed and replaced without removing the plurality of cables from the driveline.
In an additional example, the bearing assembly may include a double tapered gear hub, wherein the double tapered gear hub is a single gear having a tapered sleeve on one or more ends of the single gear; and two tapered bearings, wherein the tapered bearings are coupled to the tapered sleeve on one or more ends of the single gear.
In an additional example, the boat lift system may include a plurality of box beams each having a drive end and a pulley end, each of the plurality of box beams having an inside wall and an outside wall, and each of the plurality of box beams being arranged in such a way that the inside walls of each of the plurality of box beams face one another and are spaced apart in distance sufficient to receive a boat and a plurality of hanger brackets coupled to the drive ends of the plurality of box beams.
In an additional example, the plurality of hanger brackets may include a first hanger bracket of the plurality of hanger brackets coupled to an outside wall of a first box beam of the plurality of box beams; and a pair of the plurality of hanger brackets coupled to an alternative box beam of the plurality of box beams with the pair of the plurality of hanger brackets on an inside and outside walls of the alternative box beam, wherein the pair of the plurality of hanger brackets are longitudinally aligned along the alternative box beam at a drive end of the alternative box beam.
In an additional example, the boat lift system may include a gear housing hanger bracket. In one example, the gear housing hanger bracket may be connected to an inside wall of the first box beam opposed to the first hanger bracket, where the first hanger bracket and the gear housing hanger bracket are longitudinally aligned along the first box beam at the drive end of the first box beam, where the plurality of hanger brackets and the gear housing hanger bracket include a bore to permit the driveline to pass through each of the plurality of hanger brackets and the gear housing hanger bracket.
For further example,
The boat lifting apparatus 102 includes one or more pairs of hanger brackets 110, 112 (sometimes referred to as securing brackets herein, the terms hanger brackets and securing brackets are used synonymously herein) that may be coupled to one or more ends of the driveline 104. In one example, one pair of hanger brackets such as, for example, pair of hanger brackets 112 includes a gear housing hanger bracket 113, which interfaces with a gear housing 116. The gear housing 116 is further described in
The boat lifting apparatus 102 includes the gear housing 116 coupled to the driveline 104. The boat lifting apparatus 102 includes a motor 114 connected to the gear housing 116. In one example, the motor 114 delivers power to the gear housing 116 to rotate the driveline 104.
In one example, grooved winding sections 106, 108 may be located between the one or more pairs of hanger brackets 110, 112 coupled to the one or more ends of the driveline 104. Each of, or one or the other of the grooved winding sections 106, 108 may include one or more gears to rotate the driveline 104, where the gear housing 116 surrounds a designated section of the driveline (e.g., a dynamic shaft 101).
For further example,
The dynamic shaft 101 is located at a first end section 107 of the driveline 104. The dynamic shaft 101 is the section of the driveline 104 that is connected to the gear housing 116 and the motor 114. In other words, the motor 114 is coupled to the gear housing 116 that is coupled to the dynamic shaft 101 of the driveline 104. In operation, as power is delivered to the gear housing 116 from the motor 114, one or more gears within the gear housing 116 rotates dynamic shaft 101 of the driveline 104. The dynamic shaft 101 may be coupled to the one or more pairs of hanger brackets 110, 112 such as, for example, the pair of hanger brackets 112. The pair of hanger brackets 112 coupled to the dynamic shaft 101 may include a gear housing hanger bracket 113 that is coupled to the gear housing 116. Again, the dynamic shaft 101 may also the grooved winding sections 106.
The static shaft 105 is located at a second end section 109 of the driveline 104. The static shaft 105 is the section of the driveline 104 that is not connected to the gear housing 116 and the motor 114. Rather, the static shaft 105 may be coupled to the one or more pairs of hanger brackets 110, 112 such as, for example, the pair of hanger brackets 110. Center shaft 103 is of the length that allows for the desired length of boat so that the center shaft 103 positions the static shaft 105 and dynamic shaft 101 at either end of the desired length boat. Again, the static shaft 105 may also the grooved winding sections 108.
It should be noted that when the driveline 104 interfaces with the pair of hanger brackets 110 and one of the hanger brackets in 112 (see
For further example,
For further example,
The gear housing 116 may also include one or more bores (e.g., “bore holes”) such as, for example, bores 202, 210 that house one or more gears that transfer power to the bearing assembly 204. For example, the gear housing 116 may house a first gear 208 (e.g., worm gear) that may be attached, connected, and/or associated with the bearing assembly 204 (also included in the gear housing) to deliver power to the bearing assembly 204 for rotating the driveline 104 of
In an additional example, the gear housing 116 may include a bore such as, for example, bore 210 for maintenance and access to the internal components (e.g., the bearing assembly 204, the first gear 208, etc.).
For further example,
For further example,
In one aspect, the driveline 104 having grooved winding sections 106, 108 near each end of the driveline 104, may be connected to one or more pulley systems such as, for example, pulley system 420 and 422 having one or more pulleys. The pulley system 420 and 422 may be connected to one or more box beams such as, for example, a pair of box beams 404 and 405. In one example, each of the pair of box beams 404, 405 of
In one example, each box beam may have pulley end 450 and drive end 455. In one example, the pulley end 450 may include one or more pulleys such as, for example, pulleys 424, 426 and one or more sheave hangers such as, for example, sheave hangers 430, 432. The drive end 455 may the boat lifting device 102.
In one example, the pulley system such as, for example, the pulley system 420 and 422 may include one or more pulleys (e.g., pulleys 424, 426) and the sheave hangers (e.g., sheave hangers 430, 432, which may also be referred to herein as sheave hanger plates). In one example, the one or more pulleys (e.g., pulleys 424, 426) may be connected to one or more cables such as, for example, cables 407, 409.
In one example, a pulley such as, for example, pulleys 424, 426 may be attached to one end of each of the two box beams 404, 405 with sheave hanger plates 430, 432, and these ends of the box beams 404, 405 may be referred to as the pulley ends 450.
A pair of the sheave hangers such as, for example, sheave hangers 430, 432 may be attached to one of the two box beams 404, 405 on the pulley end 450, which is opposite from the drive end 455.
In one example, the drive end 455 may include the gear housing hanger bracket 406 (which is also the gear housing hanger bracket 113 of
The driveline 104, having grooved winding sections 106, 108, may be coupled to one or more cables 402 and 403. It should be noted that the cables 402 and 403 may be coupled to a lifting braces/straps 460, 462 (e.g., for holding the boat). Additionally, the one or more pulleys (e.g., pulleys 424, 426) may also be connected to one or more cables such as, for example, cables 407, 409. Thus, the lifting braces/straps 460, 462 (e.g., for holding the boat) may be coupled to both the cables 403 and 407, 402 and 409 respectively.
Thus, in operation, when the driveline 104 has power delivered thereto, the rotation of the driveline 104 winds one end of one or more cables such as, for example, cables 402 and 403 around the grooved winding section 108 and 106 respectively. The other end of each cable such as, for example, cables 409 and 407, threads through the one or more pulleys (e.g., pulleys 424, 426) of the box beams 404, 405 from the respective grooved winding sections 108 and 106 through the one or more pulleys down to the lifting braces/straps 462 and 460. As the driveline 104 winds the one or more cables such as, in this example, cables 402, 403, 409, and 407 (it is to be noted that the nature of the winding sections cause the cables on the pulley end 450 to wind in an opposite direction than the cables on the drive end 455, as in this example where cables 402 and 409 both wind around the grooved winding section 108 in opposite directions from each other—one clockwise and the other counterclockwise—and cables 403 and 407 both wind around the grooved winding section 106 in opposition directions from each other—one clockwise and the other counterclockwise—around the grooved winding section (two cables at each grooved winding section), the boat may be lifted upward in a level fashion and stored in a fixed position. As the driveline 104 rotates and unwinds the one or more cables such as, for example, cables 402, 403, 407, and 409 from around the grooved winding section (two cables at each grooved winding section), the boat may be lowered in a level fashion to place the boat back into a body of water or to a fixed position.
The driveline 104 interfaces with the three hanger brackets (e.g. the pair of hanger brackets 110 and the hanger bracket 112) with brass bushings or rollers and the driveline interfaces with the gear housing hanger bracket with a double tapered gear hub placed between two tapered bearings. The rotation of the driveline winds one end of the cables around the grooved winding section (two cables at each grooved winding section). One of the cables at each grooved winding section attaches to one side of lifting braces/straps and the other cables thread through pulleys on the opposite end of the box beams from the respective grooved winding section to the other side of the lifting braces/straps.
For further example,
The functional components 500 may include an intelligent boat lift device service 502 (or “Smart Boat Lift”), having a features and parameters component 504, a monitoring component 510, an Internet of Things (“IoT”) sensor component 530, a calibration component 540, and a machine learning component 555.
The intelligent boat lift device service 502 may be in communication with one or more computing devices such as, for example, device 520 (e.g., user equipment “UE”), such as a desktop computer, laptop computer, tablet, smartphone, and/or another electronic device or Internet of Things (“IoT”) device, that may have one or more processors and memory.
The boat lift device service 502 may also be in communication with one or more IoT devices, such as cameras 560A, 560B via one or more communication networks as described herein. The boat lift device service 502 may gather and collect collaborative data from each of the one or more IoT devices, such as images or videos from cameras 560A, 560B in a plurality of mixed types of IoT devices in an IoT network to derive a holistic view of customer satisfaction.
The intelligent boat lift device service 502, the device 520, and the cameras 560A, 560B may each be associated with and/or in communication with each other, by one or more communication methods, such as a computing network. In one example, the intelligent boat lift device service 502, the device 520, and the cameras 560A, 560B may be controlled by an administrator, a user, customer, or technician/administrator associated with the computing environment 500. In another example, the intelligent boat lift device service 502, the device 520, and the cameras 560A, 560B may be completely independent from the administrator, the user, the customer, or the technician/administrator of the computing environment 500.
In one aspect, the computing environment 500 may provide virtualized computing services (i.e., virtualized computing, virtualized storage, virtualized networking, etc.) to the intelligent boat lift device service 502, the device 520, and the cameras 560A, 560B. More specifically, the computing environment 500 may provide virtualized computing, virtualized storage, virtualized networking and other virtualized services that are executing on a hardware substrate.
In some implementations, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may, individually or collectively, collect the data from one or more sensors 550 and all neighboring sensors connected to the one or more sensors associated with the intelligent boat lift device service 502. In some implementations, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 monitor physical and environmental conditions based on measurements received from one or more sensors and all neighboring sensors connected to the one or more sensors.
In some implementations, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may learn physical and environmental conditions based on measurements received from one or more sensors and all neighboring sensors connected to the one or more sensors using the one or more forecasting or prediction models. The monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may classify the forecast as an anomalous forecast.
In other implementations, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may generate a model representation of physical and environmental conditions. In some implementations, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may determine one or more anomalies from current physical and environmental conditions based on the model representation of physical and environmental conditions.
Also, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may process data and update one or more parameters of a machine learning model.
That is, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may enable one or more reading systems (IoT sensors) for capturing environmental conditions data. The monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may reduce the time to detect an anomaly (e.g., detection of unfavorable or non-ideal weather conditions or the presence of an intruder, etc.) through the collaboration between the sensors 550 and/or cameras 560A, 560B and implement an early corrective measures as a result of the measured data.
For example, the IoT sensor component 530 may detect the presence of high wind speed and send a single to intelligent boat lift device service 502 to automatically raise a boat to its highest and most secured position to prevent excess movement of a boat, which may be processed by the machine learning component 555. The computer system 612 may then communicate with the device 520 via display 522 indicating such actions that are taking place to notify a user.
In an additional example, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may learn particular times of a day, month, year, or season, there is excess wind and water turbulence based on changing temperatures, shading, or other environmental factors. This data may be processed and stored in and used to build and assist with the artificial intelligence of computer system 612 for predicting future environmental conditions or activities of lowering, raising, and supporting a boat. For example, the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555 may alert the device 520 that based on observed weather patterns, water/wave patterns, and/or other environmental factors, a boat should now be raised by the boat lift device 102.
In additional examples, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may identify, detect, and/or record the environmental conditions (e.g., temperature, light, water, air flow, hazardous air quality, hazardous air particulates, pollution levels, chemicals (e.g., pesticides, insecticides, or other potentially hazardous chemicals may impact a boat and/or the boat lifting device lifting and supporting a boat, and/or physical properties (e.g., height, weight, activity levels, absence or presence of a target object (e.g., measure a weight of a boat, measure humidity, and/or detect a presence of human or animal).
In some implementations, the IoT sensor component 530, using one or more sensors, may identify, detect, and/or record the environmental conditions in selected time intervals and communicate that information at various selected periods of time or in real-time (e.g., immediately upon identifying, detecting, and/or recording the environmental conditions). In an additional aspect, the IoT sensor component 530 may be associated with one or more smart sensors 550 for collecting, recording, and measuring environmental and physicals conditions, properties, and other data that may be collected using a sensor.
For example, the IoT sensor component 530, using one or more sensors 550, may identify, detect, and/or record may identify the presence of a bird, wasp, or other dangerous intruder and alert the device 520. In other examples, the IoT sensor component 530, using one or more sensors 550, may identify, detect, and/or record the presence of an unwanted intruder and alert the device 520. Alternatively, the IoT sensor component 530, using one or more sensors 550, may identify, detect, and/or record a boat lifted and supported by the boat lift device (e.g., the boat lift device 102 of
The features and/or parameters may be a combination of features, tuning parameters, environmental characteristics (e.g., characteristics of temperature, light, water, air flow, air quality, chemicals, etc.), energy consumption data, temperature data, historical data, tested and validated data, or other specified/defined data for testing, monitoring, validating, detecting, learning, analyzing and/or calculating various conditions or diagnostics relating to lifting, supporting, and raising a boat by the boat lift device such as, for example, the boat lift device 102 of
That is, different combinations of parameters may be selected and applied to the input data for learning or training one or more machine learning models of the machine learning component 555. The features and/or parameters 504 may define one or more settings of the IoT sensors (e.g., one or more sensors 550) associated with the IoT sensor component 530 to enable the collecting, recording, and measuring of environmental conditions. The one or more the IoT sensors 550 (e.g., smart sensors) associated with the IoT sensor component 530 may be coupled to and/or in communication with the intelligent boat lift device system 502 at one or more defined distances from alternative IoT sensors.
The intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may each associated with the machine learning module for training and learning one or more machine learning models and also for applying multiple combinations of features, tuning parameters, environmental characteristics, normalized/standardized environmental readings/values, previously estimated environmental readings/values, temperature data, physical data, or a combination thereof to the machine learning model for providing enhanced be forecasting of environmental conditions for providing a bee nest identification and prediction service.
The intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may incorporate data from received from one or more data sources into a graph neural network and generate a forecast of one or more current and future conditions based the graph neural network using one or more machine learning and forecasting models.
Additionally, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may identify psychophysical data, atmospheric data, environmental data, physical gestures of a user, an emotion of the use, a speech of the user, an interaction detected between the user and a service, product, or person, or a combination thereof collected from the one or more of the plurality of types of IoT devices, such as cameras 560A, 560B or device 520.
The collected data may be used to calibrate by the calibration component 540 each machine learning module to learn and understand various physical and environmental conditions, emotions, states, audible data, physiological movements and gestures, and/or biological data of an entity. Once a machine learning model is calibrated and tuned by the calibration component 540, the emotional state, mood, stress level, facial expression, speech patterns, voice tone, and/or body language, such as an angry or happy customer, expression less entities, etc. may be used and applied for determining customer satisfaction.
In addition to calibrating data, such as calibrating the one or more machine learning models using the calibration component 540 and/or the machine learning component 555, the machine learning models may be validated and adjusted by observing repeated moods, one or more stimuli, atmospheric data, environmental data, physical gestures of the customer, various types of emotions and stimuli that produces the emotions, speech patterns, facial gestures, facial expressions, biological data, voice inflections and tones, an interaction detected between the customer and a service, product, or person, emotional state, mood, stress level, and/or body language, or a combination thereof, for individuals, groups, and/or other organizations on different occasions.
In this way, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may recognize a user of the intelligent boat lift device service 502 such as, for example, voice recognition or facial recognition, and immediate activate and/or de-active the boat lift device 102. For example, a user's voice may be recognized via the intelligent boat lift device service 502 and activate the lowering or raising of a boat by the boat lift device 102 upon detecting the user issued a commend “lower the boat.”
Alternatively, the intelligent boat lift device service 502, may fail to identify the identify (e.g., voice or facial recognition) of a user and de-active the boat lift device 102 based on an unauthorized command. In some instances, the intelligent boat lift device service 502 may learn (e.g., via machine learning) and determine a boat is to be raised and stored during certain periods of time (e.g., from 10 p.m. to 6 a.m. each day) and may automatically issue an alarm/notification to the device 520 and de-activate the boat lift device 102 (e.g., turn off the engine/power) to prevent the boat lift device 102 from lowering a boat during this time based on any attempt to lower the boat. An authorized user may override and reject such de-activation based on one or more authorization commands and codes.
In other examples, the intelligent boat lift device service 502 may identify an object beneath, above, or withing a predetermined distance and stop/terminate the lower or raising of a boat by the boat lift device 102 as a safety precaution. For example, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may identify a person is now underneath the boat being lowered and immediate issue a “shut off” command to the boat lift device 102 as a safety precaution to prevent the boat from lowering onto the detected person in the water below the boat.
In one aspect, the intelligent boat lift device service 502, using one or more of the monitoring component 510, the IoT sensor component 530, the calibration component 540, and the machine learning component 555, may communicate information (e.g., the alarm or notification that the lift has been prematurely stopped based on a safety precaution) to the GUI 522 of a computing device or mobile (e.g., device 520).
In one aspect, the machine learning component 555 may include a knowledge domain that may be an ontology of concepts representing a domain of knowledge. For example, the monitoring component 510, calibration component 540, and/or IoT sensor component 530 may parse through the knowledge domain having an ontology of psychophysical responses and behaviors according to one or more stimuli, atmospheric data, environmental data, physical gestures of the customer, various types of emotions and stimuli that produces the emotions, speech patterns, facial gestures, facial expressions, biological data, voice inflections and tones, an interaction detected between the customer and a service, product, or person, emotional state, mood, stress level, and/or body language, or a combination thereof to assist the IoT devices in improving the customer experience and satisfaction in a service based industry using the mixed types of IoT devices in the IoT network.
A thesaurus or ontology may be used as the domain knowledge of the machine learning component 555 and may also be used to identify semantic relationships between observed and/or unobserved variables. In one aspect, the term “domain” is a term intended to have its ordinary meaning. In addition, the term “domain” may include an area of expertise for a system or a collection of material, information, content and/or other resources related to a particular subject or subjects. For example, a domain can refer to physical phenomena, atmospheric, biological, physiological, environmental, scientific, industrial, educational, statistical data, medical, commercial, health, manufacturer information, biomedical-specific information, one or more stimuli and response types in a variety of applications, physical gestures of the customer, various types of emotions and stimuli that produce the various emotions, speech patterns, facial gestures, facial expressions, biological data, voice inflections and tones, an interaction detected between the customer and a service, product, or person. A domain can refer to information related to any particular subject matter or a combination of selected subjects.
The term ontology is also a term intended to have its ordinary meaning. In one aspect, the term ontology in its broadest sense may include anything that can be modeled as ontology, including but not limited to, taxonomies, thesauri, vocabularies, and the like. For example, an ontology may include information or content relevant to a domain of interest or content of a particular class or concept. The ontology can be continuously updated with the information synchronized with the sources, adding information from the sources to the ontology as models, attributes of models, or associations between models within the ontology.
The intelligent boat lift device service 502 may include using one or more heuristics and machine learning based models for performing one or more of the various aspects as described herein. In one aspect, the machine learning component 555 and machine learning based models may be performed using a wide variety of methods or combinations of methods, such as supervised learning, unsupervised learning, temporal difference learning, reinforcement learning and so forth. Some non-limiting examples of supervised learning which may be used with the present technology include AODE (averaged one-dependence estimators), artificial neural network, backpropagation, Bayesian statistics, naive bays classifier, Bayesian network, Bayesian knowledge base, case-based reasoning, decision trees, inductive logic programming, Gaussian process regression, gene expression programming, group method of data handling (GMDH), learning automata, learning vector quantization, minimum message length (decision trees, decision graphs, etc.), lazy learning, instance-based learning, nearest neighbor algorithm, analogical modeling, probably approximately correct (PAC) learning, ripple down rules, a knowledge acquisition methodology, symbolic machine learning algorithms, sub symbolic machine learning algorithms, support vector machines, random forests, ensembles of classifiers, bootstrap aggregating (bagging), boosting (meta-algorithm), ordinal classification, regression analysis, information fuzzy networks (IFN), statistical classification, linear classifiers, fisher's linear discriminant, logistic regression, perceptron, support vector machines, quadratic classifiers, k-nearest neighbor, hidden Markov models and boosting. Some non-limiting examples of unsupervised learning which may be used with the present technology include artificial neural network, data clustering, expectation-maximization, self-organizing map, radial basis function network, vector quantization, generative topographic map, information bottleneck method, IBSEAD (distributed autonomous entity systems based interaction), association rule learning, apriori algorithm, eclat algorithm, FP-growth algorithm, hierarchical clustering, single-linkage clustering, conceptual clustering, partitional clustering, k-means algorithm, fuzzy clustering, and reinforcement learning. Some non-limiting example of temporal difference learning may include Q-learning and learning automata. Specific details regarding any of the examples of supervised, unsupervised, temporal difference or other machine learning described in this paragraph are known and are considered to be within the scope of this disclosure.
For further example,
Referring now to
In cloud computing node 610 there is a computer system/server 612, 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 612 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held 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 612 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 612 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 618 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 Interconnects (PCI) bus.
Computer system/server 612 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 612, and it includes both volatile and non-volatile media, removable and non-removable media.
System memory 628 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 630 and/or cache memory 632. Computer system/server 612 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 634 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 618 by one or more data media interfaces. As will be further depicted and described below, system memory 628 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 640, having a set (at least one) of program modules 642, may be stored in system memory 628 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 642 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
Computer system/server 612 may also communicate with one or more external devices 614 such as a keyboard, a pointing device, a display 624, etc.; one or more devices that enable a user to interact with computer system/server 612; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 612 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 622. Still yet, computer system/server 612 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 620. As depicted, network adapter 620 communicates with the other components of computer system/server 612 via bus 618. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 612. 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.
Referring now to
Referring now to
Device layer 855 includes physical and/or virtual devices, embedded with and/or standalone electronics, sensors, actuators, and other objects to perform various tasks in a cloud computing environment 750. Each of the devices in the device layer 855 incorporates networking capability to other functional abstraction layers such that information obtained from the devices may be provided thereto, and/or information from the other abstraction layers may be provided to the devices. In one embodiment, the various devices inclusive of the device layer 855 may incorporate a network of entities collectively known as the “internet of things” (IoT). Such a network of entities allows for intercommunication, collection, and dissemination of data to accomplish a great variety of purposes, as one of ordinary skill in the art will appreciate.
Device layer 855 as shown includes sensor 852, actuator 853, “learning” thermostat 856 with integrated processing, sensor, and networking electronics, camera 857, controllable household outlet/receptacle 858, and controllable electrical switch 859 as shown. Other possible devices may include, but are not limited to various additional sensor devices, networking devices, electronics devices (such as a remote control device), additional actuator devices, so called “smart” appliances such as a refrigerator or washer/dryer, and a wide variety of other possible interconnected objects.
Hardware and software layer 860 includes hardware and software components. Examples of hardware components include: mainframes 861; RISC (Reduced Instruction Set Computer) architecture based servers 862; servers 863; blade servers 864; storage devices 865; and networks and networking components 866. In some embodiments, software components include network application server software 67 and database software 68.
Virtualization layer 870 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 871; virtual storage 872; virtual networks 873, including virtual private networks; virtual applications and operating systems 874; and virtual clients 875.
In one example, management layer 880 may provide the functions described below. Resource provisioning 881 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 882 provides cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 883 provides access to the cloud computing environment for consumers and system administrators. Service level management 884 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 885 provides pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.
Workloads layer 890 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 891; software development and lifecycle management 892; virtual classroom education delivery 893; data analytics processing 894; transaction processing 895; and, in the context of the illustrated embodiments of the present invention, various workloads and functions 896 for implementing an intelligent bee nest device. In addition, workloads and functions 896 for implementing an intelligent bee nest device may include such operations as data analytics, data analysis, and as will be further described, notification functionality. One of ordinary skill in the art will appreciate that the workloads and functions 896 for implementing an intelligent bee nest device of environmental conditions may also work in conjunction with other portions of the various abstractions layers, such as those in hardware and software 860, virtualization 870, management 880, and other workloads 890 (such as data analytics processing 894, for example) to accomplish the various purposes of the illustrated embodiments of the present invention.
Turning now to
Sensor data may be received by a computer system (e.g., computer system 612) from a boat lifting device (e.g., boat lifting device 102), as in block 904. The collected sensor data from the boat lifting device may be analyzed, as in block 906.
One or more environmental factors/conditions physical factors/conditions may be identified that may negatively or positively impact the boat lifting device (e.g., excess winding is causing excess rocking of the boat), as in block 908. One or more actions (e.g., raise or lower boat to prevent or minimize the movement of the boat while being stored by the boat lifting device) may be implemented to address the environmental factors/conditions physical factors/conditions that may negatively or positively impact the bee nest device, as in block 910. The functionality 900 may end, as in block 912.
In one aspect, in conjunction with and/or as part of at least one blocks of
The operations of method 900 may generate a model representation of physical and environmental conditions using the edge-based prediction model and determine one or more anomalies from current physical and environmental conditions based on the model representation of physical and environmental conditions associated with the bee nest device.
Turning now to
A command may be received from a user by a boat lifting system, as in block 1004. The received command from the user may be analyzed in relation to a boat lifting device associated with the boat lifting system, as in block 1006.
A boat lifting device may be activated by the boat lifting system to lower or raise a boat secured by the boat lifting device, as in block 1008. The functionality 1000 may end, as in block 1010.
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 flowcharts 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 flowcharts 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 flowcharts and/or block diagram block or blocks.
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 the flowcharts 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 illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, 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 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.