FIELDThe subject matter disclosed herein relates to ride services and more particularly relates to an automatic security check for a missing passenger of a ride service.
BACKGROUNDAll too often, passengers of ride services, such as ride-sharing services, taxi services, limousine services, etc. encounter problems walking to a designated pickup location such as being assaulted, kidnapped, robbed etc. In other circumstances, drivers for the ride services cause harm to the passengers.
BRIEF SUMMARYAn apparatus for an automatic security check for a missing passenger of a ride service is disclosed. A method and computer program product also perform the functions of the apparatus. The apparatus includes a processor and a memory that stores program code executable by the processor to transmit a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The program code is executable by the processor to transmit a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger. The program code is executable by the processor to transmit to a local police agency a police request to assist the passenger in response to a trusted list timeout. The trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
A method for an automatic security check for a missing passenger of a ride service includes transmitting, by use of a processor, a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The method includes transmitting, by use of a processor, a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger and transmitting, by use of a processor, to a local police agency a police request to assist the passenger in response to a trusted list timeout. The trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
A program product for an automatic security check for a missing passenger of a ride service includes a computer readable storage medium and program code. The program code is configured to be executable by a processor to perform operations that include transmitting a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The program code is configured to be executable by a processor to perform operations that include transmitting a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger and transmitting to a local police agency a police request to assist the passenger in response to a trusted list timeout, the trusted list timeout indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
BRIEF DESCRIPTION OF THE DRAWINGSA more particular description of the embodiments briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only some embodiments and are not therefore to be considered to be limiting of scope, the embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
FIG. 1 is a schematic block diagram illustrating one embodiment of a system for an automatic security check for a missing passenger of a ride service;
FIG. 2 is a schematic block diagram illustrating one embodiment of an apparatus for an automatic security check for a missing passenger of a ride service;
FIG. 3 is a schematic block diagram illustrating another embodiment of an apparatus for an automatic security check for a missing passenger of a ride service;
FIG. 4 is a schematic flow chart diagram illustrating one embodiment of a method for an automatic security check for a missing passenger of a ride service;
FIG. 5 is a schematic flow chart diagram illustrating one embodiment of a method for determining a trigger event for an automatic security check for a missing passenger of a ride service;
FIG. 6A is a schematic flow chart diagram illustrating a first part of another embodiment of a method for an automatic security check for a missing passenger of a ride service;
FIG. 6B is a schematic flow chart diagram illustrating a second part of the method ofFIG. 6A; and
FIG. 7 is a schematic flow chart diagram illustrating one embodiment of a machine learning method for an automatic security check for a missing passenger of a ride service.
DETAILED DESCRIPTIONAs will be appreciated by one skilled in the art, aspects of the embodiments may be embodied as a system, method or program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a program product embodied in one or more computer readable storage devices storing machine readable code, computer readable code, and/or program code, referred hereafter as code. The storage devices may be tangible, non-transitory, and/or non-transmission. The storage devices may not embody signals. In a certain embodiment, the storage devices only employ signals for accessing code.
Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
Modules may also be implemented in code and/or software for execution by various types of processors. An identified module of code may, for instance, comprise one or more physical or logical blocks of executable code which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Indeed, a module of code may be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different computer readable storage devices. Where a module or portions of a module are implemented in software, the software portions are stored on one or more computer readable storage devices.
Any combination of one or more computer readable medium may be utilized. The computer readable medium may be a computer readable storage medium. The computer readable storage medium may be a storage device storing the code. The storage device may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, holographic, micromechanical, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
More specific examples (a non-exhaustive list) of the storage device would include the following: an electrical connection having one or more wires, 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 portable compact disc read-only memory (“CD-ROM”), 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.
Code for carrying out operations for embodiments may be written in any combination of one or more programming languages including an object oriented programming language such as Python, Ruby, Java, Smalltalk, C++, or the like, and conventional procedural programming languages, such as the “C” programming language, or the like, and/or machine languages such as assembly languages. The 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).
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment, but mean “one or more but not all embodiments” unless expressly specified otherwise. The terms “including,” “comprising,” “having,” and variations thereof mean “including but not limited to,” unless expressly specified otherwise. An enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms “a,” “an,” and “the” also refer to “one or more” unless expressly specified otherwise.
Furthermore, the described features, structures, or characteristics of the embodiments may be combined in any suitable manner. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments. One skilled in the relevant art will recognize, however, that embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of an embodiment.
Aspects of the embodiments are described below with reference to schematic flowchart diagrams and/or schematic block diagrams of methods, apparatuses, systems, and program products according to embodiments. It will be understood that each block of the schematic flowchart diagrams and/or schematic block diagrams, and combinations of blocks in the schematic flowchart diagrams and/or schematic block diagrams, can be implemented by code. This code 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 schematic flowchart diagrams and/or schematic block diagrams block or blocks.
The code may also be stored in a storage device that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the storage device produce an article of manufacture including instructions which implement the function/act specified in the schematic flowchart diagrams and/or schematic block diagrams block or blocks.
The code may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the code which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The schematic flowchart diagrams and/or schematic block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of apparatuses, systems, methods and program products according to various embodiments. In this regard, each block in the schematic flowchart diagrams and/or schematic block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions of the code 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. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more blocks, or portions thereof, of the illustrated Figures.
Although various arrow types and line types may be employed in the flowchart and/or block diagrams, they are understood not to limit the scope of the corresponding embodiments. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the depicted embodiment. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted embodiment. It will also be noted that each block of the block diagrams and/or flowchart diagrams, and combinations of blocks in the block diagrams and/or flowchart diagrams, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and code.
The description of elements in each figure may refer to elements of proceeding figures. Like numbers refer to like elements in all figures, including alternate embodiments of like elements.
As used herein, a list with a conjunction of “and/or” includes any single item in the list or a combination of items in the list. For example, a list of A, B and/or C includes only A, only B, only C, a combination of A and B, a combination of B and C, a combination of A and C or a combination of A, B and C. As used herein, a list using the terminology “one or more of” includes any single item in the list or a combination of items in the list. For example, one or more of A, B and C includes only A, only B, only C, a combination of A and B, a combination of B and C, a combination of A and C or a combination of A, B and C. As used herein, a list using the terminology “one of” includes one and only one of any single item in the list. For example, “one of A, B and C” includes only A, only B or only C and excludes combinations of A, B and C. As used herein, “a member selected from the group consisting of A, B, and C,” includes one and only one of A, B, or C, and excludes combinations of A, B, and C.” As used herein, “a member selected from the group consisting of A, B, and C and combinations thereof” includes only A, only B, only C, a combination of A and B, a combination of B and C, a combination of A and C or a combination of A, B and C.
An apparatus for an automatic security check for a missing passenger of a ride service is disclosed. A method and computer program product also perform the functions of the apparatus. The apparatus includes a processor and a memory that stores program code executable by the processor to transmit a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The program code is executable by the processor to transmit a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger. The program code is executable by the processor to transmit to a local police agency a police request to assist the passenger in response to a trusted list timeout. The trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
In some embodiments, the program code is further executable by the processor to transmit the help message to the at least one member of the passenger trusted list in response to a passenger timeout and maintaining contact with the mobile communication device of the passenger. The passenger timeout is indicative of not receiving a response to the passenger status message from the passenger within a passenger timeout period. In a further embodiment, the passenger timeout is shorter for a first passenger deemed more at risk than a second passenger. In other embodiments, the program code is further executable by the processor to transmit the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger.
In some embodiments, the program code is further executable by the processor to transmit the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger, a battery charge status of the mobile communication device of the passenger being below a battery threshold prior to the loss of contact with the mobile communication device of the passenger and in response to receiving a passenger missing message from the driver in response to the passenger status message. In other embodiments, the program code is further executable by the processor to prevent sending of the help message to the at least one member of the passenger trusted list in response to receiving a message from the passenger indicating that the passenger does not require assistance, receiving a message from the passenger indicating that the passenger has cancelled a request for a ride from the ride service and/or losing contact with the mobile communication device of the passenger, a battery charge status of the mobile communication device of the passenger being below a battery threshold prior to the loss of contact with the mobile communication device of the passenger and in response to receiving a passenger okay message from the driver in response to the passenger status message.
In some embodiments, the trigger event includes the vehicle arriving at the designated pickup location and, after expiration of a pickup time limit, a location of the mobile communication device of the passenger being different than the designated pickup location by a threshold pickup distance. In other embodiments, the trigger event includes, while the vehicle is traveling toward the designated pickup location, a location of the mobile communication device is moving away from the designated pickup location. In other embodiments, the trigger event includes, while the vehicle is traveling toward the designated pickup location, losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger.
In various embodiments, the help message and/or the police request include a last known location of the mobile communication device of the passenger, the designated pickup location, a scheduled pickup time, identification information regarding the passenger, contact information of the passenger, identification information regarding the driver, contact information of the driver, the passenger trusted list and associated contact information, identifying information of the vehicle of the ride service and/or contact information of the ride service. In other embodiments, he trusted list timeout and/or a timeout associated with the trigger event is shorter for a first passenger deemed more at risk than a second passenger.
In some embodiments, the program code is further executable by the processor to monitor passenger help information. The passenger help information includes trigger events, timeouts associated with trigger events, timing associated with receiving a reply from the passenger to the passenger status message, vehicle arrival timing with respect to a scheduled pickup time, timing of receipt of a message from members of the passenger trusted list with respect to transmission of the help message and/or police response time regarding the police request. In the embodiments, the program code is further executable by the processor to adaptively change parameters associated with the apparatus in response to machine learning based on the passenger help information.
A method for an automatic security check for a missing passenger of a ride service includes transmitting, by use of a processor, a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The method includes transmitting, by use of a processor, a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger and transmitting, by use of a processor, to a local police agency a police request to assist the passenger in response to a trusted list timeout. The trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
In some embodiments, the method includes transmitting the help message to the at least one member of the passenger trusted list in response to a passenger timeout and maintaining contact with the mobile communication device of the passenger. The passenger timeout is indicative of not receiving a response to the passenger status message from the passenger within a passenger timeout period.
In some embodiments, the method includes transmitting, by use of a processor, the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger. In other embodiments, the method includes transmitting, by use of a processor, the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger, a battery charge status of the mobile communication device of the passenger being below a battery threshold prior to the loss of contact with the mobile communication device of the passenger and in response to receiving a passenger missing message from the driver in response to the passenger status message.
In some embodiments, the method includes preventing sending of the help message to the at least one member of the passenger trusted list in response to receiving a message from the passenger indicating that the passenger does not require assistance, receiving a message from the passenger indicating that the passenger has cancelled a request for a ride from the ride service and/or losing contact with the mobile communication device of the passenger, a battery charge status of the mobile communication device of the passenger being below a battery threshold prior to the loss of contact with the mobile communication device of the passenger and in response to receiving a passenger okay message from the driver in response to the passenger status message.
In some embodiments, the trigger event includes the vehicle arriving at the designated pickup location and, after expiration of a pickup time limit, a location of the mobile communication device of the passenger being different than the designated pickup location by a threshold pickup distance. In other embodiments, the trigger event includes, while the vehicle is traveling toward the designated pickup location, a location of the mobile communication device is moving away from the designated pickup location. In other embodiments, the trigger event includes, while the vehicle is traveling toward the designated pickup location, losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger.
In some embodiments, the method includes monitoring passenger help information. The passenger help information includes trigger events, timeouts associated with trigger events, timing associated with receiving a reply from the passenger to the passenger status message, vehicle arrival timing with respect to a scheduled pickup time, timing of receipt of a message from members of the passenger trusted list with respect to transmission of the help message and/or police response time regarding the police request. In the embodiment, the method includes adaptively changing parameters associated with the method in response to machine learning based on the passenger help information.
A program product for an automatic security check for a missing passenger of a ride service includes a computer readable storage medium and program code. The program code is configured to be executable by a processor to perform operations that include transmitting a passenger status message in response to a trigger event indicative of a passenger failing to be picked up at a designated pickup location by a vehicle of a ride service. The passenger status message is transmitted to a mobile communication device of the passenger and to a driver of the vehicle. The program code is configured to be executable by a processor to perform operations that include transmitting a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from the passenger indicative of a request for help by the passenger and transmitting to a local police agency a police request to assist the passenger in response to a trusted list timeout, the trusted list timeout indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period.
In some embodiments, the program product includes program code to perform operations that include transmitting the help message to the at least one member of the passenger trusted list in response to a passenger timeout and maintaining contact with the mobile communication device of the passenger, the passenger timeout indicative of not receiving a response to the passenger status message from the passenger within a passenger timeout period. In other embodiments, the program product includes program code to perform operations that include transmitting the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger.
In other embodiments, the program product includes program code to perform operations that include transmitting the help message to the at least one member of the passenger trusted list in response to losing contact with the mobile communication device of the passenger, a battery charge status of the mobile communication device of the passenger being below a battery threshold prior to the loss of contact with the mobile communication device of the passenger and in response to receiving a passenger missing message from the driver in response to the passenger status message.
In some embodiments, the trigger event includes the vehicle arriving at the designated pickup location and, after expiration of a pickup time limit, a location of the mobile communication device of the passenger being different than the designated pickup location by a threshold pickup distance. In other embodiments, the trigger event includes while the vehicle is traveling toward the designated pickup location, a location of the mobile communication device is moving away from the designated pickup location. In other embodiments, the trigger event includes while the vehicle is traveling toward the designated pickup location, losing contact with the mobile communication device of the passenger and a battery charge status of the mobile communication device of the passenger being at or above a battery threshold prior to the loss of contact with the mobile communication device of the passenger.
FIG. 1 is a schematic block diagram illustrating one embodiment of asystem100 for an automatic security check for a missing passenger of a ride service. Thesystem100 includes apassenger alert apparatus102 in aride service server104, acomputer network106, acellular provider108, acell tower110, apassenger112, amobile communication device114 of thepassenger112, adriver116, acommunication device118 of thedriver116, aride service vehicle120 and alocation system122, which are described below.
Thesystem100 includes apassenger alert apparatus102 in aride service server104 of a ride service. In some embodiments, the ride service is a ride-sharing service which allows apassenger112 to call for a ride and the ride-sharing service matches adriver116 with thepassenger112 where thedriver116 picks up thepassenger112 at a designated pickup location and transports thepassenger112 typically for a fee. For example, the ride-sharing service may be a service like Uber®, Lyft™, Via™, Gett®, or the like. In other embodiments, the ride service is a ride hailing and/or taxi service that allows apassenger112 to hail a ride-hailing or taxi from the street in addition to arranging for a ride by contacting the ride-hailing or taxi service. The ride service is any transportation service that provides transportation to apassenger112 by picking up thepassenger112 at a designated pickup location.
There are particular dangers associated with a ride service that picks uppassengers112. For example, apassenger112 may believe that a vehicle is from the ride service and may get in the vehicle and then may be assaulted, kidnapped, robbed or worse. In addition, thepassenger112 may be waiting for aride service vehicle120 at night, in a dangerous location, etc. and may be attacked, robbed, etc. thepassenger alert apparatus102 provides a way to help protectpassengers112 by automatically determining if thepassenger112 needs help and then under certain circumstances sends help messages to members of a trusted list and/or to police. Thepassenger alert apparatus102 is described in more detail below with regard to theapparatuses200,300 ofFIGS. 2 and 3.
In some embodiments, thepassenger alert apparatus102 is implemented in aserver104 or other computing equipment of the ride service. Parts of thepassenger alert apparatus102 may also be incorporated in theride service vehicle120, acommunication device118 of thedriver116, in amobile communication device114 of thepassenger112, etc. For example, thepassenger112 may be running an application on themobile communication device114 of thepassenger112 that is part of or in communication with thepassenger alert apparatus102. In other embodiments, thedriver116 may also be running an application on thecommunication device118 of thedriver116, which may be mobile, such as a smartphone and/or may be installed in theride service vehicle120.
Theride service server104, in some embodiments, is a mainframe computer, a workstation, a desktop computer, a rack-mounted server, a virtual machine in a cloud service or any other implementation known to those of skill in the art. Theride service server104, in some embodiments, is connected to acomputer network106, which connects directly to thecommunication device118 of thedriver116 and/orride service vehicle120 and/or to themobile communication device114 of thepassenger112. Thecomputer network106 may include a local area network (“LAN”), a wide area network (“WAN”), a fiber channel network, a wireless network with a wireless connection, the Internet, etc. and any combination thereof. Thecomputer network106 includes routers, switches, servers, cables, etc.
In some embodiments, theride service server104 communicates wirelessly over a wireless connection with thecommunication device118 of thedriver116 and/orride service vehicle120 and/or to themobile communication device114 of thepassenger112. In some embodiments, theride service server104 communicates wirelessly over a wireless connection with thecommunication device118 of thedriver116 and/orride service vehicle120 and/or to themobile communication device114 of thepassenger112 through acellular provider108 andcell tower110.
The wireless connection may be a mobile telephone network. The wireless connection may also employ a Wi-Fi network based on any one of the Institute of Electrical and Electronics Engineers (“IEEE”) 802.11 standards. Alternatively, the wireless connection may be a BLUETOOTH® connection. In addition, the wireless connection may employ a Radio Frequency Identification (“RFID”) communication including RFID standards established by the International Organization for Standardization (“ISO”), the International Electrotechnical Commission (“IEC”), the American Society for Testing and Materials® (“ASTM”®), the DASH7™ Alliance, and EPCGlobal™.
Alternatively, the wireless connection may employ a ZigBee® connection based on the IEEE 802 standard. In one embodiment, the wireless connection employs a Z-Wave® connection as designed by Sigma Designs®. Alternatively, the wireless connection may employ an ANT® and/or ANT+® connection as defined by Dynastream® Innovations Inc. of Cochrane, Canada.
The wireless connection may be an infrared connection including connections conforming at least to the Infrared Physical Layer Specification (“IrPHY”) as defined by the Infrared Data Association® (“IrDA” ®). Alternatively, the wireless connection may be a cellular telephone network communication. All standards and/or connection types include the latest version and revision of the standard and/or connection type as of the filing date of this application.
Thepassenger112 is any person that is seeking a ride from the ride service and has amobile communication device114. To take advantage of the benefits of thepassenger alert apparatus102, thepassenger112 has arranged with the ride share service ordriver116 to be picked up at a designated pickup location and thepassenger alert apparatus102 has access for communication with and/or location of themobile communication device114 of thepassenger112. In some embodiments, more than onepassenger112 are together seeking a ride from the ride service. Thepassenger112 typically pays for transportation using the ride share service, but thepassenger alert apparatus102 may also provide transportation without a fee. For example, the ride service may be a charitable organization, a church providing rides for parishioners or others, etc.
Themobile communication device114 of thepassenger112 includes an ability to communicate with thedriver116 and/or ride service by voice, text, email, etc. For example, themobile communication device114 may be smartphone, a personal digital assistant (“PDA”), a tablet computer, a laptop computer, and the like. Typically, themobile communication device114 includes access to alocation system122 which provides a location of themobile communication device114 to thepassenger112 and/or to thepassenger alert apparatus102. For example, thelocation system122 may be a global positioning system (“GPS”) and themobile communication device114 accesses one or more GPS satellites to determine a position of themobile communication device114. In other embodiments, thelocation system122 includes other wireless methods for determining the location of themobile communication device114, such as through triangulation usingcell towers110, wireless signal strength on particular networks, etc.
Thedriver116 drives theride service vehicle120 to provide transportation of thepassenger112 from the designated pickup location to a destination using theride service vehicle120 and thedriver120 has access to acommunication device118, which may be a mobile communication device, such as a smartphone, PDA, etc. or may be a communication system installed in theride service vehicle120. Typically, thecommunication device118 and/orride service vehicle120 include access to alocation system122 to provide a location to thepassenger alert apparatus102 along with an ability to communicate messages to the ride service, thepassenger112 and/or thepassenger alert apparatus102. Thedriver116 may be a professional driver, an independent contractor offering the driver's personal vehicle as theride service vehicle120, a volunteer or worker for a charitable organization, a youth group, a church, etc., a friend of thepassenger112, or the like.
Theride service vehicle120 is any vehicle capable of transporting one ormore passengers112. Theride service vehicle120 may be an automobile, a truck, a limousine, a van, a bus, a rickshaw, a motorcycle, etc. Typically, theride service vehicle120 is tracked by the ride service. In other embodiments, the ride service tracks thecommunication device118. One of skill in the art will recognize otherride service vehicles120 and ways to track thedriver116 and/or theride service vehicle120.
FIG. 2 is a schematic block diagram illustrating one embodiment of anapparatus200 for an automatic security check for a missing passenger of a ride service. Theapparatus200 includes one embodiment of apassenger alert apparatus102 with apassenger status module202, ahelp message module204, a trustedlist module206 and apolice help module208, which are described below. Theapparatus200, in some embodiments, is implemented as program code executable on a processor and stored on computer readable storage media. The programmable code, in some embodiments, is implemented with a portion on theride service server104 while other portions, such as an application with program code, is implemented on themobile communication device114 and/or thecommunication device118 of thedriver116/ride service vehicle120. In other embodiments, a portion or all of theapparatus200 is implemented using a programmable hardware device or other methods.
Theapparatus200 includes apassenger status module202 that transmits a passenger status message in response to a trigger event indicative of apassenger112 failing to be picked up at a designated pickup location by avehicle120 of a ride service. The passenger status message is transmitted to amobile communication device114 of thepassenger112 and to adriver116 of thevehicle120. The trigger event is an event that may include thepassenger112 not being at the designated pickup location, thepassenger112 moving away from the designated pickup location at or near the time of pickup or other indicator that thepassenger112 may be in a dangerous situation or may need assistance.
The passenger status message is sent in a form that alerts thepassenger112 anddriver116 quickly. For example, thepassenger status module202 may send the passenger status message as a text message to a phone number of thepassenger112 and/ordriver116. In other embodiments, thepassenger status module202 transmits the passenger status message by sending an alert through a direct messaging application on themobile communication device114 of thepassenger112 and/orcommunication device118 of thedriver116/ride service vehicle120 that will play a sound, vibrate thedevice114,118, flash a screen, etc. to get the attention of thepassenger112 and/ordriver116. In another embodiment, thepassenger status module202 transmits the passenger status message by another direct message service. In another embodiment, the passenger status message is a phone call. One of skill in the art will recognize other ways for thepassenger status module202 to transmit the passenger status message in a way to alert thepassenger112 anddriver116.
The passenger status message, in some embodiments, is a message sent to thepassenger112 and to thedriver116 seeking status of thepassenger112. For example, the passenger status message sent to thepassenger112 may ask thepassenger112 to respond by indicating whether or not thepassenger112 needs assistance. The passenger status message to thepassenger112 may include, in some embodiments, a way for thepassenger112 to reply with a single touch. For example, the passenger status message may appear on an application where thepassenger112 is able to touch a portion of a screen, a button, a key, etc. that indicates that thepassenger112 requires assistance. The message may read: “You are late to be picked up at the designated pickup location by Ride Service. Please let us know your status,” or something similar and the passenger status message may be accompanied by a box on a screen that reads “I need help” and another that reads “I am OK,” or similar responses. In other embodiments, other replies may be displayed, such as “Just running a little late,” “I want to cancel the ride,” “I will be there soon,” “I am being attacked,” “send help ASAP,” “I am having a medical emergency,” or the like.
Once thepassenger112 has touched a box on the screen, pushed an appropriate button, etc. a reply is sent to thepassenger alert apparatus102 that matches the reply chosen by thepassenger112 or that conveys the sentiment of the reply selected by thepassenger112. In other embodiments, thepassenger status module202 displays a phone number or a button, box, etc. for thepassenger112 to call the phone number. In other embodiments, thepassenger status module202 displays a text box for thepassenger112 to enter text to be sent as a reply or as additional information to a selected reply. In other embodiments, thepassenger status module202 allows thepassenger112 to send an email or other communication using a communication protocol outside thepassenger alert apparatus102. Thepassenger status module202 may interpret text input by thepassenger112 to determine if thepassenger112 needs assistance.
The passenger status message sent by thepassenger status module202 to thedriver116 includes a message inquiring about the status of thepassenger112. For example, the passenger status message may ask thedriver116 if thedriver116 can see thepassenger112, if thepassenger112 has cancelled the ride verbally, is at the designated pickup location, etc. Thepassenger status module202 may include one or more replies for thedriver116 to respond in the form of boxes, lines with corresponding buttons, etc. that may be selected by thedriver116. The passenger status message may include a message such as “Please provide a known status of the passenger” along with replies such as “passenger status unknown,” “passenger has arrived,” “passenger in vehicle,” “passenger needs help,” or the like.
Typically, the response of thepassenger112 has priority over a response from thedriver116 and responses from thepassenger112 are assumed to be trusted. For example, thedriver116 may be endangering thepassenger112 so that responses from thepassenger112 take precedence over responses from thedriver116 and the response of thedriver116 is used in limited circumstances, as described below.
Theapparatus200 includes ahelp message module204 that transmits a help message to at least one member of a passenger trusted list in response to receiving a reply to the passenger status message from thepassenger112 indicative of a request for help by thepassenger112. Theapparatus200, in some embodiments, includes a trustedlist module206 that updates and maintains a passenger trusted list of thepassenger112. The passenger trusted list of thepassenger112, in some embodiments, is a list of one or more contacts of people or entities that thepassenger112 wants contacted in an emergency situation. Where the trusted contact is an entity, the entity may be a monitoring service that thepassenger112 has enlisted to receive help messages and other messages and then to act appropriately based on the message. For example, the entity may be a non-police service that monitors burglar alarms or other emergency situations.
In one embodiment, thepassenger112 uses the trustedlist module206 to create the passenger trusted list, for example, during setup of an application implementing thepassenger alert apparatus102. In other embodiments, the trustedlist module206 uses information from thepassenger112 to create the passenger trusted list from a form, document, etc. created by thepassenger112. For example, thepassenger112 may fill out a registration form that includes alternate contacts and the trustedlist module206 then uses the alternate contact information to create the passenger trusted list. The passenger trusted list, in some embodiments, includes a way of contacting each person in the passenger trusted list in a way that the help message is viewed quickly by the person in the passenger trusted list. The help message may be sent to a person and/or entity in the passenger trusted list in a way similar to the passenger status message transmitted by thepassenger status module202.
Thehelp message module204 transmits the help message, in some embodiments, once thepassenger status module202 receives a response to the passenger status message from thepassenger112 indicative of a request for help from thepassenger112. For example, thepassenger112 may reply to a passenger status message with a message like “I need help.” In some embodiments, choices for thepassenger112 in the passenger status message may include two or more replies that indicate that thepassenger112 needs help and thehelp message module204 responds any of these two or more replies indicating that thepassenger112 needs help by transmitting the help message to one or more contacts on the passenger trusted list of thepassenger112.
In some embodiments, thehelp message module204 transmits the help message to all contacts in the passenger trusted list. In other embodiments, thehelp message module204 transmits the help message to a highest priority contact and monitors for a response from a contact in the passenger trusted list based on priority and then transmits the help message to a next highest priority contact under various conditions, such as a transmission failure of the help message to a higher priority contact, expiration of a response time limit, etc. In other embodiments, thepassenger112 may establish a multi-tier response list that may have one or more contacts of the passenger trusted list on each tier. One of skill in the art will recognize other ways that thepassenger112 may use the trustedlist module206 to establish a passenger trusted list.
The help message may take a variety of forms. The help message conveys a message to members of the passenger trusted list that thepassenger112 needs help and for the member of the passenger trusted list to respond to the help message. In some embodiments, the member of the passenger trusted list attempts to contact thepassenger112 to determine a status of thepassenger112. In other embodiments, a member of the trusted list may be with thepassenger112 and may have immediate knowledge of the passenger's condition. In other embodiments, the member of the passenger trusted list may have special knowledge of the status of the customer. For example, the member of the passenger trusted list may know that thepassenger112 has pressed a button that indicates that thepassenger112 needs help while the member of the passenger trusted list may know that the button requesting help was pressed erroneously by thepassenger112.
In some embodiments, the help message conveys to the member of the passenger trusted list a serious nature of the response of thepassenger112 needing help. In other embodiments, the help message requests a reply as to the status of thepassenger112 as soon as possible. In some embodiments, the help message conveys a sense of urgency to reply to the help message. In some embodiments, the help message include one or more buttons on a touchscreen, options corresponding to keys, etc. for a member of the passenger trusted list to select based on the knowledge of the member of the passenger trusted list of the passenger's situation. In some embodiments, the help message includes information about thepassenger112, such as the designated pickup position, a pickup time of thepassenger112, a location or last known location of thepassenger112, a name of the ride service, and/or other information that helps the member of the passenger trusted list understand the situation of thepassenger112.
Theapparatus200 includes apolice help module208 that transmits to a local police agency a police request to assist thepassenger112 in response to a trusted list timeout. The police request, in some embodiments, summons the police or other first responder to help thepassenger112. In some embodiments, the police request includes information about thepassenger112, such as a picture of thepassenger112, a description of thepassenger112, a location or last known location of thepassenger112, a response from thepassenger112 to the passenger status message and/or other information that helps the police agency understand the passenger's situation and urgency of the police request.
The local police agency may be a police department, highway patrol, sheriff's department, etc. that has jurisdiction where thepassenger112 is located, at the designated pickup location, etc. In some embodiments, thepolice help module208 sends the police request to a help line, such as a 911 service. In other embodiments, thepolice help module208 also sends a message to a fire department or other first responder based on a known condition of thepassenger112. For example, if thepassenger112 responds to the passenger status message with “I am having a medical emergency,” thepolice help module208 may send the police request to a local fire department or other first responder agency. In other embodiments, thepolice help module208 transmits the police request to a first responder agency, to a 911 service, etc. without sending the police request to the local police agency. In the embodiments described herein, the local police agency also includes any appropriate local first responder agency and the police request includes any request to help thepassenger112 to a local first responder agency.
In some embodiments, the help message to one or more members of the passenger trusted list and/or the police request include information such as a last known location of themobile communication device114 of thepassenger112, the designated pickup location, a scheduled pickup time, identification information regarding thepassenger112, contact information of thepassenger112, identification information regarding thedriver116, contact information of thedriver116, the passenger trusted list and associated contact information, identifying information of theride service vehicle120 and/or contact information of the ride service. One of skill in the art will recognize other information to be included with the help message and/or police request.
The trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates the passenger does not need assistance within a trusted list timeout period. For example, the trusted list timeout may include expiration of a trusted list timer or may include a counter that reaches the trusted list timeout. The timer or counter, in some embodiments, is stopped before the trusted list timeout in response to a member of the passenger trusted list responding to the help message with a response that indicates that thepassenger112 does not need assistance. Where the trusted list timeout does not expire, a trusted list timer or counter is stopped, etc. due to receipt of a message from a member of the passenger trusted list that thepassenger112 does not need help, thepolice help module208 does not send the police request. In other embodiments, the trusted list timeout is triggered by a response to the help message from a member of the passenger trusted list responding that thepassenger112 needs help. In other embodiments, where no response to the help message is received from a member of the passenger trusted list prior to the trusted list timeout, thepolice help module202 transmits the police request.
FIG. 3 is a schematic block diagram illustrating another embodiment of anapparatus300 for an automatic security check for a missing passenger of a ride service. Theapparatus300 includes another embodiment of thepassenger alert apparatus102 that includes apassenger status module202, ahelp message module204, a trustedlist module206 and apolice help module208, which are substantially similar to those described above with respect to theapparatus200 ofFIG. 2. In various embodiments, theapparatus300 includes apassenger timeout module302, apassenger contact module304, a battery status module306, adriver message module308, apassenger location module310, apickup timer module312, avehicle location module314, apanic message module316, ahelp information module318 and/or amachine learning module320, which are described below.
Theapparatus300, in some embodiments, includes apassenger timeout module302 and apassenger contact module304. Thepassenger contact module304 tracks contact with themobile communication device114 of thepassenger112 to determine if contact is lost with themobile communication device114 of thepassenger112. For example, thepassenger contact module304 may coordinate with thecellular provider108 or other communication service that facilitates communication with themobile communication device114 to track contact with themobile communication device114. In other embodiments, thepassenger contact module304 periodically sends a message or signal to an application on themobile communication device114 seeking response and reports a loss of contact with themobile communication device114 if the application on themobile communication device114 does not respond based on a contact criteria. In some examples, the contact criteria is a time limit for response to the message/signal from thepassenger contact module304. In other embodiments, the contact criteria includes not receiving a response to two or more messages/signals from thepassenger contact module304. One of skill in the art will recognize other contact criteria.
Thepassenger timeout module302 starts a passenger response timer in response to thepassenger status module202 sending a passenger status message to thepassenger112 and triggers a passenger timeout after not receiving a response from thepassenger112 before a specified amount of time. For example, if thepassenger112 does not send a response to the passenger status message within specified amount time of five minutes, thepassenger timeout module302 triggers a passenger timeout. Where thepassenger contact module304 maintains contact with themobile communication device114 of thepassenger112 and thepassenger timeout module302 triggers a passenger timeout, thehelp message module204 sends the help message to the members of the passenger trusted list.
The passenger timeout, in some embodiments, is reasonable amount of time to wait before there is concern about thepassenger112. For example, the passenger timeout may be five minutes. In other embodiments, the passenger timeout is ten minutes. In other embodiments, the passenger timeout is based on thepassenger112. For example, a passenger that is more vulnerable, such as a juvenile, an elderly person, a disabled person, etc. may have a passenger timeout that is shorter than a more able person.
Theapparatus300, in some embodiments, includes a battery status module306 that monitors a battery charge status of themobile communication device114. The battery status module306, in some embodiments, monitors a charge status of the battery of themobile communication device114 to determine if themobile communication device114 is about to shut down to low battery charge. The battery status module306, in some embodiments, determines if a battery charge status is above or below a battery threshold. After thepassenger status module202 sends a passenger status message to thepassenger112, where thepassenger contact module304 loses contact with themobile communication device114 of thepassenger112 and the battery status module306 determines that the battery charge status of the battery of themobile communication device114 of thepassenger112 is at or above the battery threshold, thehelp message module204 sends a help message to at least one member of the passenger trusted list.
The battery charge status above the battery threshold is indicative of the battery of themobile communication device114 of thepassenger112 being in a state to not have shut down due to low battery charge so loss of contact with themobile communication device114 of thepassenger112 after a trigger event and subsequent transmission of a passenger status message to thepassenger112 may be indicative that thepassenger112 is in need of help, which is a condition in addition to the condition described above of receiving a response from thepassenger112 indicating that thepassenger112 needs help.
Theapparatus300 includes, in some embodiments, adriver message module308 that monitors thecommunication device118 of thedriver116/ride service vehicle120 to determine if thedriver116 has responded to a passenger status message sent by thepassenger status module202. The response from thedriver116 may be a response described above in relation to thepassenger status module202 or other messages. After a trigger event and after thepassenger status module202 sends a passenger status message to thepassenger112 and to thedriver116, where thepassenger contact module304 loses contact with themobile communication device114 of thepassenger112 and where the battery status module306 determines that the battery charge status of the battery of themobile communication device114 of thepassenger112 is below the battery threshold, where thedriver message module308 receives a passenger missing message from thedriver116, thehelp message module204 transmits a help message to at least one member of the passenger trusted list.
Thepassenger contact module304 losing contact with themobile communication device114 of thepassenger112 at a time where the battery status module306 determines that the battery charge status of the battery of themobile communication device114 of thepassenger112 is below the battery threshold may indicate that themobile communication device114 of thepassenger112 has shut down due to a low battery charge condition. In some embodiments, combining the low battery charge and loss of contact conditions with a response from thedriver116 that thepassenger112 is missing is enough to trigger thehelp message module204 to transmit the help message.
Other conditions may be present to prevent thehelp message module204 from sending of the help message to the at least one member of the passenger trusted list. In some embodiments, where thepassenger alert apparatus102 and/orpassenger status module202 receives a response from thepassenger112 that thepassenger112 does not require assistance, thehelp message module204 does not send the help message. In other embodiments, where thepassenger alert apparatus102 and/orpassenger status module202 receives a communication from thepassenger112 indicating that the passenger has cancelled a request for a ride from the ride service, thehelp message module204 does not send the help message. In other embodiments, any message from thepassenger112 cancelling the request for a ride from the ride service prevents thepassenger alert apparatus102 from acting to send a passenger status message, a help message or a police request.
In other embodiments, where thepassenger contact module304 loses contact with themobile communication device114 of thepassenger112 and where the battery status module306 determines that the battery charge status of the battery of themobile communication device114 of thepassenger112 is below the battery threshold, if thedriver message module308 receives a passenger okay message from thedriver116 in response to the passenger status message, thehelp message module204 does not send the help message. The passenger okay message is a message from thedriver116 indicative of thepassenger112 not requiring assistance. For example, the passenger okay message from thedriver116 may include a message that thepassenger112 is in theride service vehicle120, that thepassenger112 has arrived at the designated pickup location, that thedriver116 sees thepassenger112 coming toward the designated pickup location, or the like.
As stated above, the trigger event is indicative of thepassenger112 failing to be picked up at a designated pickup location by theride service vehicle120. In some embodiments, theapparatus300, in some embodiments, includes apassenger location module310, apickup timer module312 and avehicle location module314. Thepassenger location module310 tracks the location of themobile communication device114 of thepassenger112. For example, thepassenger location module310 may use a GPS service, triangulation usingcell towers110, wireless signal strength orother location system122 to track a location of thepassenger112.
Thevehicle location module314 tracks a location of theride service vehicle120. For example, thevehicle location module314 may track a location of thecommunication device118, which is with theride service vehicle120 and/or thedriver116. In some embodiments, thevehicle location module314 uses a GPS service orother location system122 to track a location of theride service vehicle120 and/or thedriver116.
Thepickup timer module312 starts a pickup timer when thevehicle location module314 determines that theride service vehicle120 has arrived at the designated pickup location. In some embodiments, the event trigger includes thevehicle location module314 determining that theride service vehicle120 as arrived at the designated pickup location and, after expiration of a pickup time limit of the pickup timer started by thepickup timer module312, thepassenger location module310 determines that a location of themobile communication device114 of thepassenger112 is different than the designated pickup location by a threshold pickup distance. In one example, the threshold pickup distance is 100 meters and if the location of themobile communication device114 is not within 100 meters of the designated pickup location after expiration of the pickup time limit, thepassenger status module202 transmits a passenger status message.
Other embodiments include a different threshold pickup distance. In some embodiments, the threshold pickup distance is set based on surroundings of the designated pickup location. For example, a designated pickup location with view of a longer distance may have a threshold pickup distance that is longer than a designated pickup location with a lot of foliage, buildings that are close by, etc. In other embodiments, the threshold pickup distance is variable in different directions based on viewing obstacles. In other embodiments, the threshold pickup distance is based on time of day. In other embodiments, the threshold pickup distance is based on an amount of time that thepassenger112 would travel on foot to the designated pickup location.
The pickup time limit, in some embodiments, is reasonable amount of time to wait before there is concern about thepassenger112. For example, the pickup time limit may be five minutes. In other embodiments, the pickup time limit is ten minutes. In other embodiments, the pickup time limit is based on thepassenger112. For example, a passenger that is more vulnerable, such as a juvenile, an elderly person, a disabled person, etc. may have a pickup time limit that is shorter than a more able person. In other embodiments, the pickup time limit may be adjusted based on other factors, such as time of day, an amount of crime in an area around the designated pickup location, and the like. Likewise, the threshold pickup distance may also be adjusted based on thepassenger112, such as age, ability, etc. or may be adjusted based on time of day, crime in the area round the designated pickup location, etc. One of skill in the art will recognize other ways to adjust and set the pickup time limit and the threshold pickup distance.
In other embodiments, the event trigger is based on thevehicle location module314 determining that theride service vehicle120 is moving toward the designated pickup location while thepassenger location module310 determines that thepassenger112 is moving away from the designated pickup location. In some embodiments, thepassenger alert apparatus102 allows for some movement of thepassenger112 away from the designated pickup location without starting a trigger event, such as travel to the designated pickup location along a route around an obstacle, following a pathway that necessarily requires temporary movement away from the designated pickup location, etc. In other embodiments, thepassenger alert apparatus102 allows for movement of thepassenger112 away from the designated pickup location without starting a trigger event for a particular amount of time. In other embodiments, thepassenger alert apparatus102 tracks movement of thepassenger112 away from the designated pickup location only during a particular window of time that theride service vehicle120 is near the designated pickup location or is within a particular distance from the designated pickup location. One of skill in the art will recognize other conditions that may be imposed on a trigger event where theride service vehicle120 is approaching the designated pickup location while thepassenger112 is moving away from the designated pickup location.
In other embodiments, a trigger event may include a situation where thevehicle location module314 determines that theride service vehicle120 is traveling toward the designated pickup location, where thepassenger contact module304 loses contact with themobile communication device114 of thepassenger112 while the battery status module306 determines that the battery charge status is at or above the battery threshold, which then causes thepassenger status module202 to send a passenger status message.
Thepassenger alert apparatus102 may include other event triggers not mentioned above. Typically, event triggers are events where there is a cause for concern for the wellbeing of thepassenger112. One of skill in the art will recognize other event triggers.
In some embodiments, theapparatus300 includes apanic message module316 that triggers thepolice help module208 to transmit to a local police agency a police request to assist thepassenger112 without the help message module sending the help message to one or more members of the passenger trusted list. In some examples, thepassenger112 may respond to the passenger status message with an urgent help message, such as “call the police,” “I am being kidnapped,” “I am being robbed,” “I am being attacked,” “I need an ambulance,” etc. In other embodiments, thepanic message module316 triggers thepolice help module208 to transmit to a local police agency a police request to assist thepassenger112 after thepassenger112 has requested a ride from the ride service but before thepassenger status module202 has sent a passenger status message. In other embodiments, thepanic message module316 triggers thepolice help module208 to transmit to a local police agency a police request to assist thepassenger112 after thehelp message module204 has sent a help message to one or more members of the passenger trusted list but before a member of the passenger trusted list responds. One of skill in the art will recognize other situations where thepanic message module316 triggers thepolice help module208 to transmit to a local police agency a police request to assist thepassenger112.
In some embodiments, theapparatus300 includes ahelp information module318 that monitors passenger help information. The passenger help information includes information present within thepassenger alert apparatus102 that would be useful in adjusting parameters of thepassenger alert apparatus102. In some embodiments, the passenger help information includes trigger events, timeouts associated with trigger events, timing associated with receiving a reply from thepassenger112 to the passenger status message, vehicle arrival timing with respect to a scheduled pickup time, timing of receipt of a message from members of the passenger trusted list with respect to transmission of the help message and/or police response time regarding the police request. The passengerhelp information module318, in other embodiments, monitors other parameters and data of thepassenger alert apparatus102.
In some embodiments, theapparatus300 includes amachine learning module320 that adaptively changes parameters associated with thepassenger alert apparatus102 in response to machine learning based on the passenger help information. For example, themachine learning module320 may use machine learning to identify that a default passenger timeout is too long and may adjust the passenger timeout. For example, themachine learning module320 may use machine learning to determine that the default passenger timeout is resulting in passenger problems that may be solved where sending the help message sooner would result in better passenger safety. In other embodiments, themachine learning module320 may use machine learning to determine that thepolice help module208 is sending too many police requests that are false alarms and that a longer trusted list timeout would result in less false alarms. Themachine learning module320 uses machine learning to analyze trends, patterns, etc. to adaptively change parameters associated with thepassenger alert apparatus102. One of skill in the art will recognize other ways that themachine learning module320 may use machine learning to adaptively change parameters associated with thepassenger alert apparatus102.
FIG. 4 is a schematic flow chart diagram illustrating one embodiment of amethod400 for an automatic security check for amissing passenger112 on a ride service. Themethod400 begins and detects402 a passenger alert trigger event indicative of apassenger112 failing to be picked up at a designated pickup location by avehicle120 of a ride service. For example, themethod400 may determine that thepassenger112 is moving away from the designated pickup location while theride service vehicle120 is approaching the designated pickup location, which is a trigger event. Themethod400 may detect402 a trigger event based on situations described above with regard to theapparatus300 ofFIG. 3 or other situations.
Themethod400 transmits404 a passenger status message in response to themethod400 detecting402 the trigger event. The passenger status message is transmitted to amobile communication device114 of thepassenger112 and to adriver116 of theride service vehicle120. Themethod400 receives406 a reply to the passenger status message from thepassenger112 indicative of a request for help by thepassenger112 and transmits408 a help message to at least one member of a passenger trusted list in response to receiving406 the reply to the passenger status message from thepassenger112. Themethod400 reaches410 a trusted list timeout where the trusted list timeout is indicative of not receiving a message from a member of the passenger trusted list that indicates thepassenger112 does not need assistance within a time period of the trusted list timeout. Themethod400 transmits412 to a local police agency a police request to assist thepassenger112 in response to the trusted list timeout, and themethod400 ends. In various embodiments, themethod400 is implemented using thepassenger status module202, thehelp message module204, the trustedlist module206 and thepolice help module208.
FIG. 5 is a schematic flow chart diagram illustrating one embodiment of amethod500 for determining a trigger event for an automatic security check for amissing passenger112 on a ride service. Themethod500, in some embodiments, is step402 of themethod400 ofFIG. 4. Themethod500 begins and determines502 that theride service vehicle120 is approaching the designated pickup location and determines504 if thepassenger112 is moving away from the designated pickup location. If themethod500 determines504 that thepassenger112 is moving away from the designated pickup location, themethod500 detects506 a trigger event.
If themethod500 determines504 that thepassenger112 is not moving away from the designated pickup location, themethod500 determines508 if there is a loss of contact with themobile communication device114 of thepassenger112. If themethod500 determines508 that there is a loss of contact with themobile communication device114 of thepassenger112, themethod500 determines510 if a battery charge status of a battery of themobile communication device114 of thepassenger112 is above a battery threshold. If themethod500 determines510 that the battery charge status of the battery of themobile communication device114 of thepassenger112 is above the battery threshold, themethod500 detects506 a trigger event. If themethod500 determines508 that there is not a loss of contact with themobile communication device114 of thepassenger112, themethod500 determines if theride service vehicle120 has arrived at the designated pickup location.
If themethod500 determines510 that the battery charge status of the battery of themobile communication device114 of thepassenger112 is not above the battery threshold, themethod500 determines512 that theride service vehicle120 has arrived at the designated pickup location and determines514 if a location of thepassenger112 is at the designated pickup location. If themethod500 determines514 that thepassenger112 is at the pickup location, themethod500 ends, which ends themethod400 ofFIG. 4. If themethod500 determines514 that thepassenger112 is not at the designated pickup location, the method starts516 a pickup timer and determines518 if the location of thepassenger112 is different than the designated pickup location by a threshold pickup distance.
If themethod500 determines that the location of thepassenger112 is different than the designated pickup location by a threshold pickup distance, themethod500 determines520 if the pickup timer has expired. If themethod500 determines520 that the pickup timer has not expired, themethod500 returns and continues to determine518 if the location of thepassenger112 is different than the designated pickup location by a threshold pickup distance. If themethod500 determines520 that the pickup timer has expired, themethod500 detects506 a trigger event. If themethod500 determines518 that the location of thepassenger112 is not different than the designated pickup location by a threshold pickup distance, themethod500 ends, which ends themethod400 ofFIG. 4. Note that while the steps502-520 of themethod500 are depicted in a sequence, parts of themethod500 may execute in parallel. In various embodiments, themethod500 is implemented using thepassenger contact module304, the battery status module306, thepassenger location module310, thepickup timer module312 and/or thevehicle location module314.
FIG. 6A is a schematic flow chart diagram illustrating a first part of another embodiment of amethod600 for an automatic security check for amissing passenger112 on a ride service andFIG. 6B is a schematic flow chart diagram illustrating a second part of the method ofFIG. 6A. Themethod600 begins and detects602 a trigger event and transmits604 a passenger status message in response to themethod600 detecting602 the trigger event. The trigger event is indicative of apassenger112 failing to be picked up at a designated pickup location by aride service vehicle120. The trigger event may be a trigger event from themethod500 ofFIG. 5 or other trigger event. The passenger status message is transmitted to amobile communication device114 of thepassenger112 and to adriver116 of theride service vehicle120.
Themethod600 determines606 if there is a response from thepassenger112 to the passenger status message. If themethod600 determines606 that there is a response from thepassenger112 to the passenger status message, themethod600 determines608 if the response from thepassenger112 is indicative of a request for help by thepassenger112. If themethod600 determines608 that the response from thepassenger112 is indicative of a request for help by thepassenger112, themethod600 determines609 if the response from thepassenger112 is a request for police assistance. If themethod600 determines609 that the response from thepassenger112 is not a request for police assistance, themethod600 transmits610 a help message to one or more members of a passenger trusted list, starts612 a trusted list timer and determines614 (follow A onFIG. 6A to A onFIG. 6B) if there is a response from a member of the trusted list that indicates that thepassenger112 does not need assistance.
If themethod600 determines614 that there is not a response from a member of the trusted list that indicates that thepassenger112 does not need assistance, themethod600 determines616 if the trusted list timer has reached a trusted list timeout. If themethod600 determines616 that the trusted list timer has not reached a trusted list timeout, themethod600 returns and determines614 if there is a response from a member of the trusted list that indicates that thepassenger112 does not need assistance. If the determines616 that the trusted list timer has reached a trusted list timeout, themethod600 transmits618 to a local police agency a police request to assist thepassenger112, and themethod600 ends. If themethod600 determines614 that there is a response from a member of the trusted list that indicates that thepassenger112 does not need assistance, themethod600 ends.
If themethod600 determines606 that there is not a response from thepassenger112 to the passenger status message, themethod600 determines620 (follow B fromFIG. 6A to B onFIG. 6B) if contact if maintained with themobile communication device114 of thepassenger112. If themethod600 determines620 that contact is maintained with themobile communication device114 of thepassenger112, themethod600 starts622 a passenger response timer (first time through the loop) and determines624 if the passenger response timer has reached a passenger timeout. If themethod600 determines624 that the passenger response timer has not reached a passenger timeout, themethod600 returns and determines620 if contact if maintained with themobile communication device114 of thepassenger112, skips step622 (second and subsequent times through the loop) and determines if the passenger response timer has reached the passenger timeout. If themethod600 determines624 that the passenger response timer has reached a passenger timeout, themethod600 transmits610 (follow C onFIG. 6B to C onFIG. 6A) a help message to one or more members of a passenger trusted list.
If themethod600 determines620 determines620 that contact is not maintained with themobile communication device114 of thepassenger112, themethod600 determines626 if the battery charge status of the battery of themobile communication device114 of thepassenger112 is above a battery threshold. If themethod600 determines625 that the battery charge status of the battery of themobile communication device114 of thepassenger112 is above a battery threshold, themethod600 transmits610 (follow C onFIG. 6B to C onFIG. 6A) a help message to one or more members of a passenger trusted list. If themethod600 determines626 that the battery charge status of the battery of themobile communication device114 of thepassenger112 is not above a battery threshold, themethod600 determines628 if there is a response from thedriver116 to the passenger status message.
If themethod600 determines628 that there is a response from thedriver116 to the passenger status message and the message is that thepassenger112 is missing, themethod600 transmits610 (follow C onFIG. 6B to C onFIG. 6A) a help message to one or more members of a passenger trusted list. If themethod600 determines628 that there is not a response from thedriver116 to the passenger status message, themethod600 transmits610 (follow C onFIG. 6B to C onFIG. 6A) a help message to one or more members of a passenger trusted list. If themethod600 determines628 that there is a response from thedriver116 to the passenger status message and the message is that thepassenger112 is okay, themethod600 ends.
If themethod600 determines606 that there is a response from thepassenger112 to the passenger status message and themethod600 determines608 that the response from thepassenger112 is that thepassenger112 does not require assistance, themethod600 ends (follow D onFIG. 6A to D onFIG. 6B). If themethod600 determines606 that there is a response from thepassenger112 to the passenger status message and themethod600 determines608 that the response from thepassenger112 is indicative of thepassenger112 needing assistance and determines609 that the response from the passenger is a request for police help, themethod600 transmits618 (follow E onFIG. 6A to E onFIG. 6B) to a local police agency a police request to assist thepassenger112, and themethod600 ends.
At any time after themethod600 begins, themethod600 independently determines630 (follow F onFIG. 6A to F onFIG. 6B) if thepassenger112 has cancelled the request for a ride from the ride service. If themethod600 determines630 that there is not a request to cancel the ride from the ride service, themethod600 returns and continues to determine630 if thepassenger112 has cancelled the request for a ride from the ride service while the rest of themethod600 executes. If themethod600 determines630 at any time that the passenger has cancelled the request for a ride from the ride service, themethod600 ends. In various embodiments, themethod600 is implemented using thepassenger status module202, thehelp message module204, the trustedlist module206, thepolice help module208, thepassenger timeout module302, thepassenger contact module304, the battery status module306, thedriver message module308, thepassenger location module310, thepickup timer module312, thevehicle location module314 and/or thepanic message module316.
FIG. 7 is a schematic flow chart diagram illustrating one embodiment of amachine learning method700 for an automatic security check for amissing passenger112 of a ride service. Themethod700 begins and monitors702 passenger help information. The passenger help information includes information present within thepassenger alert apparatus102 that would be useful in adjusting parameters of thepassenger alert apparatus102. In some embodiments, the passenger help information includes trigger events, timeouts associated with trigger events, timing associated with receiving a reply from thepassenger112 to the passenger status message, vehicle arrival timing with respect to a scheduled pickup time, timing of receipt of a message from members of the passenger trusted list with respect to transmission of the help message and/or police response time regarding the police request.
Themethod700 analyzes704 the passenger help information and adaptively changes706 parameters associated with thepassenger alert apparatus102 in response to machine learning based on the passenger help information, and themethod700 ends. For example, themethod700 may use machine learning to identify that a default passenger timeout is too long and may adjust the passenger timeout. For example, themethod700 may use machine learning to determine that the default passenger timeout is resulting in passenger problems that may be solved where sending the help message sooner would result in better passenger safety. In other embodiments, themethod700 may use machine learning to determine that thepolice help module208 or themethods400,600 ofFIGS. 4, 6A and 6B are sending too many police requests that are false alarms and that a longer trusted list timeout would result in less false alarms. Themethod700 uses machine learning to analyze trends, patterns, etc. to adaptively change parameters associated with thepassenger alert apparatus102. In various embodiments, themethod700 is implemented using thehelp information module318 and/or themachine learning module320.
Embodiments may be practiced in other specific forms. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.