Transportation device sharing system
11481695 · 2022-10-25
Assignee
Inventors
Cpc classification
Y02T90/16
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G08G1/202
PHYSICS
Y02T10/72
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G08G1/123
PHYSICS
B60L53/68
PERFORMING OPERATIONS; TRANSPORTING
B60L53/62
PERFORMING OPERATIONS; TRANSPORTING
Y02T10/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60L53/66
PERFORMING OPERATIONS; TRANSPORTING
Y02T90/12
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60L53/57
PERFORMING OPERATIONS; TRANSPORTING
B60L53/30
PERFORMING OPERATIONS; TRANSPORTING
G07B15/00
PHYSICS
Y02T10/7072
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
B60L53/62
PERFORMING OPERATIONS; TRANSPORTING
G08G1/123
PHYSICS
G07C5/08
PHYSICS
B60L53/30
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Systems and devices related to a transportation device sharing system including vehicles with integrated docking ports are disclosed. In one embodiment, a vehicle includes a docking system for a transportation device, including a docking port, adapted to receive the transportation device and secure the transportation device, a communication device to wirelessly transmit and receive data, one or more processors, and a memory communicably coupled to the one or more processors and storing a status module including instructions that when executed by the one or more processors cause the one or more processors to determine whether the transportation device is present in the docking port and cause the communication device to transmit location data indicating a location of the vehicle, and status data, indicating at least the presence or absence of the transportation device in the docking port, to an external receiver.
Claims
1. A vehicle including a docking system for a transportation device, comprising: a docking port configured to receive the transportation device and to secure the transportation device; a communication device configured to wirelessly transmit and receive data; one or more processors; and a memory communicably coupled to the one or more processors and storing: a status module including instructions that when executed by the one or more processors cause the one or more processors to: determine whether the transportation device is present in the docking port, and cause the communication device to transmit: location data indicating a location of the vehicle, transactional data indicating both a time and a location of a retrieve transactional event and a return transactional event, and status data indicating at least a presence or an absence of the transportation device in the docking port, to an external receiver.
2. The vehicle of claim 1, wherein the docking port is electrically connected to a battery of the vehicle, adapted to draw power from the battery, and further adapted to recharge the transportation device using the power drawn from the battery.
3. The vehicle of claim 1, wherein the docking port is accessible from an exterior side of the vehicle.
4. The vehicle of claim 1, wherein the status module further includes instructions to determine a battery charge level of the transportation device and to include an indication of the battery charge level in the status data.
5. The vehicle of claim 1, wherein the external receiver is a cloud server that tracks locations and statuses of a plurality of vehicles.
6. The vehicle of claim 1, wherein the memory further stores a maintenance module including instructions that when executed by the one or more processors cause the one or more processors to execute a diagnostics check on the transportation device, generate a diagnostics report, and cause the communication device to transmit the diagnostics report to a central server.
7. The vehicle of claim 6, wherein the diagnostics report indicates a level of functionality of one or more of battery capacity, tire pressure, and current battery charge level of the transportation device.
8. A transportation device sharing system, comprising: a plurality of vehicles, each having: an integrated docking port configured to be occupied by a transportation device, and a communication device configured to transmit transactional data indicating both a time and a location of a retrieve transactional event and a return transactional event; and a server configured to: communicate with the plurality of vehicles, and receive location data and inventory data from the plurality of vehicles, and in response to a request from a user, transmit the location data and the inventory data to the user, wherein: the location data indicate a location of at least one of the plurality of vehicles, and the inventory data indicate whether the integrated docking port corresponding with the at least one of the plurality of vehicles is occupied or empty.
9. The transportation device sharing system of claim 8, wherein: one or more of the integrated docking ports are configured to recharge the one or more transportation devices while docked, and the server is configured to communicate with the plurality of vehicles to receive status data indicating at least a charge level for the one or more transportation devices.
10. A method of managing a transportation device system, comprising: receiving a request for a transportation device based on a user location; transmitting a response to the request, the response including a pickup location and a charge level for at least one available transportation device docked in a docking port integrated with a vehicle; receiving a selection of the at least one available transportation device; transmitting an access code in response to the selection, wherein the access code permits a user to obtain the at least one transportation device; receiving a return request for the at least one transportation device; transmitting, in response to the return request, a location of an unoccupied docking port integrated with a vehicle; and receiving the at least one transportation device at the unoccupied docking port.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate various systems, methods, and other embodiments of the disclosure. It will be appreciated that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one embodiment of the boundaries. In some embodiments, one element may be designed as multiple elements or multiple elements may be designed as one element. In some embodiments, an element shown as an internal component of another element may be implemented as an external component and vice versa. Furthermore, elements may not be drawn to scale.
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Systems, methods, and other embodiments associated with a transportation device (e.g., last-mile vehicles) sharing system including a plurality of transportation devices available for use (e.g., rental) and a plurality of vehicles with integrated docking ports that can hold the transportation devices are disclosed. Conventional docking stations for last-mile vehicles are stationary and are therefore not suited to respond to changes in locality demand flows. That is, as pockets of demand peak in different locations at different times across a given area, if no conventional docking station is present in the peak locations the demands remain unmet and potential users are forced to resort to other transportation modes.
(7) The disclosed transportation device system takes advantage of the fact that many regions are populated with vehicles (e.g., automobiles, buses) regularly traversing the region and consequently active in many niche areas that are not near any conventional docking station. Accordingly, the disclosed transportation device sharing system can deploy multiple individually owned vehicles or existing vehicle networks (e.g., ride-sharing, bus routes, etc.) to implement distribution of a new type of docking station for rental/shared transportation devices. The distributor vehicles that are part of the disclosed transportation device sharing system include one or more integrated docking ports.
(8) A “docking port” as used herein is a storage unit that can hold, and in some cases recharge, a rental transportation device. In implementation the docking port is installed upon or otherwise integrated in a participating distributor vehicle in a disposition that is accessible from the exterior of the distributor vehicle, thereby allowing a desiring member of the general public to retrieve a transportation device from the docking port without requiring access to the interior of the distributor vehicle itself. In this manner, rather than remaining in a fixed location and unresponsive to demand flows, the disclosed docking ports can be regularly mobile and transported to various niche areas in a region, thereby dramatically increasing the availability of both transportation devices for retrieval and empty docking ports for returns.
(9) As mentioned above, the disclosed transportation device sharing system can be incorporated with existing transit systems, such as ride-sharing systems and bus routes. In these implementations a passenger can easily exit from one transportation system and directly transfer to another for the “last mile” of their trip. For example, a passenger on a bus can exit the bus, retrieve a scooter from an integrated docking port at the front of the bus, and proceed the remainder of their trip on the scooter. Upon arrival, as will be seen below, the disclosed transportation device sharing system provides a way to determine the location of a nearest empty docking port.
(10) Due to the natural widespread and roaming nature of ridesharing systems, a user is much more likely to locate an empty docking port on a distributor vehicle in generally random places (e.g., at an idle ride-share distributor vehicle parked on the street), thereby making the return of the transportation device much easier. Additional features can further increase the feasibility and operational logistics of the disclosed transportation device sharing system, as will be discussed below.
(11) Referring to
(12) As shown in
(13) Some of the possible elements of the vehicle 100 are shown in
(14) In any case, the vehicle 100 includes an integrated docking port 150 that is implemented to perform methods and other functions as disclosed herein relating to providing access to a transportation device, aiding in tracking inventory and locations of transportation devices, charging and monitoring transportation devices, and other functions. The noted functions and methods will become more apparent in the following discussion of the figures.
(15)
(16) The docking port 150 generally includes a securing mechanism 210 to secure the transportation device 200. In one or more embodiments, the securing mechanism 210 is implemented as a compartment door, configured to open or close to control access to a transportation device 200 stored within the docking port 150. However, in other embodiments the docking port 150 and securing mechanism 210 can be adapted for different types or sizes of transportation devices 200. For example, in implementations in which the transportation device 200 is a bicycle the docking port 150 can be implemented as a rack with the securing mechanism 210 implemented as a latch, lock, brace or other type of mechanism capable of securing the transportation device 200 to (or within) the docking port 150.
(17) As shown in
(18) The docking port 150 can be electronically and functionally integrated with the vehicle 100 as a part of a docking system. As will be seen below, the docking system can draw on the components in both the docking port 150 and the vehicle 100 to provide various features of the disclosed transportation device sharing system.
(19)
(20) The battery 290 can be a vehicle battery, e.g., a car battery, or a separate battery that is charged separately and designated for use with the docking port 150.
(21) The docking system 230 is shown including the processor 110 and the database 119 from the vehicle 100 of
(22) The communication device 280 can be implemented as a wireless communication system including a radio transceiver and other components necessary to operate in accordance with one or more wireless communication standards, for example, including but not limited to IEEE 802.11 and/or Bluetooth. The communication device 280, which may be a part of the docking system 230 or a part of the vehicle 100, is configured to wirelessly transmit data (e.g., inventory data, location data, charge data, etc.) to an external receiver, such as a system server, a cloud-based server or a mobile computing device.
(23) The memory 255 is a random-access memory (RAM), read-only memory (ROM), a flash memory, or other suitable memory for storing the modules 260, 270. The modules 260, 270 can be constructed, for example, by computer-readable instructions that when executed by the processor 110 cause the processor 110 to perform the various functions disclosed herein.
(24) The docking system 230 includes the database 119 which can store status data 240 and maintenance data 250, each of which will be described further below. The database 119 is, in one embodiment, constructed as an electronic data structure stored in the memory 255 or another data store, such as the vehicle 100 data store 115, a cloud-based storage, a removable memory device, or another suitable location that is accessible to the control module 270. The database 119 is configured with routines that can be executed by the processor 110 for analyzing stored data, providing stored data to internal and external systems, organizing/optimizing stored data, and so on. Thus, in one embodiment, the database 119 stores data described above (as well as other data) used by the control module 270 in executing various functions.
(25) The status data 240 are in a data format that indicates a status of the docking port 150. The status can include inventory information and a charge state of the docking port 150, that is, for example, whether the docking port 150 is empty, or storing a fully charged transportation device 200, or storing and recharging a half-full charged transportation device 200, etc. The status data 240 can be time-stamped, thereby preserving a historical inventory flow of the vehicle 100. A review of the status data 240 can therefore determine how frequently a transactional event (i.e., removal or return) occurs at a given vehicle 100.
(26) The status module 260 can update the status data 240 on a periodic basis and/or upon the occurrence of a transactional event. For example, in one scenario a user may approach the vehicle 100 at 8:15 AM, execute a rental transaction on the docking port 150 and remove a transportation device 200. The status module 260 can update the status data 240 to reflect this event and the date/time at which it occurred, and other information related to the event. For example, in one or more embodiments the status module 160 can also include a location of the vehicle 100 in the status data 240 updates. As will be discussed below, the vehicle sensors 121 (
(27) Although in some implementations the transportation device 200 may be a manually powered last-mile vehicle, such as a bicycle, in other implementations the transportation device 200 may be a powered last-mile device, such as an electric scooter. For a transportation device 200 that requires charging, when the transportation device 200 is returned to the docking port 150, e.g., having a low battery charge, the status module 260 can update the status data 240 to reflect the return, then periodically update the status data 240 to indicate that the docking port 150 is charging the transportation device 200. As will be seen, keeping the status data 240 up to date can aid users of the disclosed transportation device sharing system in locating the vehicle 100 that carries a docking port 150 that meets the user's need.
(28) In addition to the status module 260, which monitors the docking port 150, the maintenance module 270 can execute a diagnostics check on a transportation device 200 that is received by the docking port 150. The diagnostics check can be tailored to the type of transportation device 200 that is received. For example, for an electric scooter, the diagnostic check can include determining a battery capacity, current battery charge state, and tire pressure. The maintenance module 270 can store the results of the diagnostics check as maintenance data 250.
(29) The docking system 230 can transmit the status data 240 and the maintenance data 250 to a central server or cloud-based server to allow the disclosed transportation device sharing system to track the inventory, location and status of transportation devices that are currently docked. The transportation device sharing system can provide users with access to this data, e.g., via a user interface such as a website or an application.
(30)
(31) A user 310 desiring to obtain a transportation device 200 can use a computing device to send a request to the system server 305 for the location of the X nearest transportation devices 200. In one implementation, a user can enter the request into the app constructed to transmit the request information to the system server 305. The request can include a location and other information, such as identifying information of the user, a type of transportation device 200 that the user seeks, a preferred charge level, etc. The system server 305 can respond with the location and charge levels of one or more available transportation devices 200. For example, in one use case the system server 305 may determine, based on status data 240 updates, that the docking port 302 on the vehicle 301 holds a fully charged transportation device 200 and is currently the closest docking port to the user 310.
(32) In one or more embodiments the user can select a transportation device 200 for the system server 305 to reserve. The system server 305 can respond with an access code or otherwise implement a type of key (e.g., associated with the user ID) that allows the user to retrieve the reserved transportation device 200 from a docking port, e.g., docking port 302.
(33) In other embodiments, docking ports of the disclosed transportation device sharing system can be accessible without reservation but instead only require a user to input payment/identification information into a docking port to obtain access to the transportation device 200. In any case, as previously described, when a user retrieves a transportation device 200 from a docking port 150 the corresponding status module 260 can update the status data 240 and transmit the updated status data 240 to a server (e.g., the server 305) of the system for tracking purposes.
(34) Continuing the use case of
(35) The server 305 can periodically request the maintenance data 250 from docking ports 302, 304, etc., for example, on a rolling schedule basis. If the maintenance data 250 indicates indicate any operational or function malfunctions have been detected, the server 305 can mark the corresponding transportation device 200 for removal from rotation for repairs and personnel can be sent to retrieve the transportation device 200 or a notification can be sent to the corresponding driver requesting delivery of the transportation device 200.
(36) Thus, the disclose transportation device sharing system 300 can provide a highly improved distribution network for last-mile vehicles that increases the likelihood of supplying last-mile vehicles to niche areas and correspondingly increases the likelihood of providing return points in niche and remote areas. The integrated docking ports in personal vehicles, rideshare vehicles and public transit vehicles implement a natural flow that can inherently follow rises in proximal demand across a given area, for example, a city or town. Furthermore, the disclosed system provides an improved quality check by through the regular collection of maintenance data to ensure that faulty devices are addressed. These features lend to greater confidence and assurance to users of the disclosed transportation device sharing system that vehicles will be available, in good working order, and will be relatively easy to return to the appropriate port.
(37)
(38) In one or more arrangements, the one or more data stores 115 can implement the database 119 (
(39) As noted above, the vehicle 100 can include a sensor system 120. The sensor system 120 can include one or more sensors. “Sensor” means any device, component and/or system that can detect, and/or sense something. The one or more sensors can be configured to detect, and/or sense in real-time. As used herein, the term “real-time” means a level of processing responsiveness that a user or system senses as sufficiently immediate for a particular process or determination to be made, or that enables the processor to keep up with some external process.
(40) In arrangements in which the sensor system 120 includes a plurality of sensors, the sensors can work independently from each other. Alternatively, two or more of the sensors can work in combination with each other. In such case, the two or more sensors can form a sensor network. The sensor system 120 and/or the one or more sensors can be operatively connected to the processor(s) 110, the data store(s) 115, and/or another element of the vehicle 100 (including any of the elements shown in
(41) The sensor system 120 can include any suitable type of sensor. Various examples of different types of sensors will be described herein. However, it will be understood that the embodiments are not limited to the particular sensors described. The sensor system 120 can include one or more vehicle sensors 121. The vehicle sensor(s) 121 can detect, determine, and/or sense information about the vehicle 100 itself. In one or more arrangements, the vehicle sensor(s) 121 can be configured to detect, and/or sense position and orientation changes of the vehicle 100, such as, for example, based on inertial acceleration. In one or more arrangements, the vehicle sensor(s) 121 can include one or more accelerometers, one or more gyroscopes, an inertial measurement unit (IMU), a dead-reckoning system, a global navigation satellite system (GNSS), a global positioning system (GPS), and/or other suitable sensors. The vehicle sensor(s) 121 can be configured to detect, and/or sense one or more characteristics of the vehicle 100. In one or more arrangements, the vehicle sensor(s) 121 can include a speedometer to determine a current speed of the vehicle 100. In one or more embodiments, data from the vehicle sensor(s) can be used as supplemental data for the disclosed docking system 230, e.g., to augment the status data 240 with additional types of location data.
(42) Alternatively, or in addition, the sensor system 120 can include one or more environment sensors 122 configured to acquire, and/or sense driving environment data. “Driving environment data” includes data or information about the external environment in which an autonomous vehicle is located or one or more portions thereof. For example, the one or more environment sensors 122 can be configured to detect, quantify and/or sense obstacles in at least a portion of the external environment of the vehicle 100 and/or information/data about such obstacles. Such obstacles may be stationary objects and/or dynamic objects. The one or more environment sensors 122 can be configured to detect, measure, quantify and/or sense other things in the external environment of the vehicle 100, such as, for example, lane markers, signs, traffic lights, traffic signs, lane lines, crosswalks, curbs proximate the vehicle 100, off-road objects, etc.
(43) The vehicle 100 can include an input system 130. An “input system” includes any device, component, system, element or arrangement or groups thereof that enable information/data to be entered into a machine. The input system 130 can receive an input from a vehicle passenger (e.g., a driver or a passenger). In one or more embodiments, the input system 130 can receive inputs to adjust settings for the disclosed docking system 230, such as to indicate a docking port 150 is currently out of rotation, e.g., due to the driver of vehicle 100 intending to make the vehicle 100 inaccessible to the public for a period of time. The vehicle 100 can include an output system 135. An “output system” includes any device, component, or arrangement or groups thereof that enable information/data to be presented to a vehicle passenger (e.g., a person, a vehicle passenger, etc.). The output system 135 can include multiple displays, monitors, screens, etc., which may serve as a target for notifications from the disclosed docking system 230.
(44) The vehicle 100 can include one or more vehicle systems 140. The vehicle systems 140 can be controlled by various ECU's, which can interact with the disclosed docking system 230, for example, in any of the ways discussed above. Various examples of the one or more vehicle systems 140 are shown in
(45) The navigation system 147 can include one or more devices, applications, and/or combinations thereof, now known or later developed, configured to determine the geographic location of the vehicle 100 and/or to determine a travel route for the vehicle 100. The navigation system 147 can include one or more mapping applications to determine a travel route for the vehicle 100. The navigation system 147 can include a global positioning system, a local positioning system or a geolocation system.
(46) The processor(s) 110 and/or the docking system 230 can be operatively connected to communicate with the various vehicle systems 140 and/or individual components thereof. For example, returning to
(47) The vehicle 100 can include one or more actuators 170. The actuators 170 can be any element or combination of elements operable to modify, adjust and/or alter one or more of the vehicle systems 140 or components thereof to responsive to receiving signals or other inputs from the processor(s) 110. Any suitable actuator can be used. For instance, the one or more actuators 170 can include motors, pneumatic actuators, hydraulic pistons, relays, solenoids, and/or piezoelectric actuators, just to name a few possibilities.
(48) As mentioned above, the vehicle 100 can include a battery 290 that can be used as a power source for the vehicle 100 and/or for the docking port 150, and can include a communication device 280 that can be used to communicate with an external computing system, external server, mobile computing device, or the like.
(49) The vehicle 100 can include one or more modules, at least some of which are described herein. The modules can be constructed as computer-readable program code that, when executed by a processor 110, implement one or more of the various processes described herein. One or more of the modules can be a component of the processor(s) 110, or one or more of the modules can be executed on and/or distributed among other processing systems to which the processor(s) 110 is operatively connected. The modules can include instructions (e.g., program logic) executable by one or more processor(s) 110. Alternatively, or in addition, one or more data store 115 may contain such instructions.
(50) In one or more arrangements, one or more of the modules described herein can include artificial or computational intelligence elements, e.g., neural network, fuzzy logic or other machine learning algorithms. Further, in one or more arrangements, one or more of the modules can be distributed among a plurality of the modules described herein. In one or more arrangements, two or more of the modules described herein can be combined into a single module.
(51) Detailed embodiments are disclosed herein. However, it is to be understood that the disclosed embodiments are intended only as examples. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the aspects herein in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of possible implementations. Various embodiments are shown in
(52) The 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. In this regard, each block in the block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, 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.
(53) Various aspects of the systems, components and/or processes described above can be realized in hardware or a combination of hardware and software and can be realized in a centralized fashion in one processing system or in a distributed fashion where different elements are spread across several interconnected processing systems. Any kind of processing system or another apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software can be a processing system with computer-usable program code that, when being loaded and executed, controls the processing system such that it carries out the methods described herein. The systems, components and/or processes also can be embedded in a computer-readable storage, such as a computer program product or other data programs storage device, readable by a machine, tangibly embodying a program of instructions executable by the machine to perform methods and processes described herein. These elements also can be embedded in an application product which comprises all the features enabling the implementation of the methods described herein and, which when loaded in a processing system, is able to carry out these methods.
(54) Furthermore, arrangements of some of the components described herein may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied, e.g., stored, thereon. Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The phrase “computer-readable storage medium” means a non-transitory storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: a portable computer diskette, a hard disk drive (HDD), a solid-state drive (SSD), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
(55) Generally, modules as used herein include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular data types. In further aspects, a memory generally stores the noted modules. The memory associated with a module may be a buffer or cache embedded within a processor, a RAM, a ROM, a flash memory, or another suitable electronic storage medium. In still further aspects, a module as envisioned by the present disclosure is implemented as an application-specific integrated circuit (ASIC), a hardware component of a system on a chip (SoC), as a programmable logic array (PLA), or as another suitable hardware component that is embedded with a defined configuration set (e.g., instructions) for performing the disclosed functions.
(56) Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present arrangements may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java™ Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code 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).
(57) The terms “a” and “an,” as used herein, are defined as one or more than one. The term “plurality,” as used herein, is defined as two or more than two. The term “another,” as used herein, is defined as at least a second or more. The terms “including” and/or “having,” as used herein, are defined as comprising (i.e., open language). The phrase “at least one of . . . and . . . ” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. As an example, the phrase “at least one of A, B, and C” includes A only, B only, C only, or any combination thereof (e.g., AB, AC, BC or ABC).
(58) Aspects herein can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope hereof.