SERVER, NON-TRANSITORY COMPUTER READABLE MEDIUM, AND COMMUNICATION APPARATUS

A server according to the present disclosure includes a communication interface and a controller. The controller receives, from a vehicle via the communication interface, boarding information indicating a user who is on board the vehicle and positional information for the vehicle, and determines, using association information associating users who can board the vehicle with allowable ranges of travel, whether the vehicle is located within an allowable range of travel associated with the user who is on board the vehicle.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Japanese Patent Application No. 2020-136053, filed on Aug. 11, 2020, the entire contents of which are incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to a server, a program, and a communication apparatus.

BACKGROUND

Technology for limiting a range where a vehicle can be used is known. For example, Patent Literature (PTL) 1 discloses a vehicle management system configured to make a notification, when the position of a vehicle is, or is expected to be, out of a range where the vehicle can be used.

CITATION LIST

Patent Literature

SUMMARY

In recent years, there has been a need to further improve the utility of technology for limiting a range where a vehicle can be used.

It would be helpful to provide a server, a program, and a communication apparatus, which improve the utility of technology for limiting a range where a vehicle can be used.

A server according to an embodiment of the present disclosure includes:a communication interface; anda controller configured to:receive, from a vehicle via the communication interface, boarding information indicating a user who is on board the vehicle and positional information for the vehicle; anddetermine, using association information associating users who can board the vehicle with allowable ranges of travel, whether the vehicle is located within an allowable range of travel associated with the user who is on board the vehicle.

A program according to an embodiment of the present disclosure is configured to cause a computer to execute operations, the operations including:receiving, from a vehicle via the communication interface, boarding information indicating a user who is on board the vehicle and positional information for the vehicle; anddetermining, using association information associating users who can board the vehicle with allowable ranges of travel, whether the vehicle is located within an allowable range of travel associated with the user who is on board the vehicle.

A communication apparatus according to an embodiment of the present disclosure is included in a vehicle, the communication apparatus including:a communication interface; anda controller configured to transmit, to a server via the communication interface, information indicating a user who is on board the vehicle and positional information for the vehicle, and cause the server to determine, using association information associating users who can board the vehicle with allowable ranges of travel, whether the vehicle is located within an allowable range of travel associated with the user who is on board the vehicle.

A server, a program, and a communication apparatus according to an embodiment of the present disclosure improve the utility of technology for limiting a range where a vehicle can be used.

DETAILED DESCRIPTION

In the drawings, the same or corresponding portions are denoted by the same reference numerals. In the descriptions of the present embodiment, detailed descriptions of the same or corresponding portions are omitted or simplified as appropriate.

(Configuration of Information Processing System)

With reference toFIG. 1, an outline of the information processing system1according to the present embodiment will be described.FIG. 1is a diagram illustrating a schematic configuration of the information processing system1. The information processing system1includes a vehicle10, a server20, and a terminal apparatus30.FIG. 1illustrates one each of the vehicle10, the server20, and the terminal apparatus30. However, the information processing system1may include any number of vehicles10, servers20, and terminal apparatuses30.

The vehicle10is, for example, an automobile. However, the vehicle10may be any vehicle such as a motorcycle or a bicycle, without being limited to an automobile. The vehicle10may be driven by a driver, or the driving may be automated at any level. The level of automation is, for example, one of level 1 to level 5 in the level classification of the Society of Automotive Engineers (SAE).

The server20is configured by one or more computers. In the present embodiment, the server20will be described as being configured by a single computer. However, the server20may be configured by multiple computers, such as a cloud computing system.

The terminal apparatus30is, for example, a mobile phone, a smartphone, or a computer such as a personal computer. In the present disclosure, a computer is also referred to as an information processing apparatus. In the present embodiment, the terminal apparatus30is used by, for example, an owner of the vehicle10.

An owner of the vehicle10uses the terminal apparatus30to check the position of the vehicle10. The terminal apparatus30communicates with the server20to receive information indicating a determination result as to whether the vehicle10is located within an allowable range of travel. The terminal apparatus30displays, for example, through a display, that the vehicle10is out of an allowable range of travel, based on the information indicating the determination result received from the server20.

The network40is any communication network that enables the vehicle10, the server20, and the terminal apparatus30to communicate with one another. For example, the network40in the present embodiment may include an ad hoc network, a Metropolitan Area Network (MAN), a cellular network, a Wireless Personal Area Network (WPAN), the Public Switched Telephone Network (PSTN), a Terrestrial Wireless Network, an optical network, or another type of networks, or a combination of any of these.

The information processing system1is used for, for example, a service of monitoring whether the vehicle10is located within an allowable range defined by an owner of the vehicle10.

In the information processing system1, the vehicle10is a share car that an owner of the vehicle10allows other users to use. The server20stores in advance association information associating users who can board the vehicle10with allowable ranges of travel. For example, the association information may be registered by an owner of the vehicle10. The server20communicates with the vehicle10to receive, from the vehicle10, information indicating a user who is on board the vehicle10and positional information for the vehicle10. The server20determines, using the association information, whether the vehicle10is located within an allowable range associated with the user who is on board the vehicle10. This enables the information processing system1to improve the utility of technology for limiting a range where the vehicle10can be used.

In the present disclosure, “user” of the vehicle10is a person who uses the vehicle10. Examples of the user of the vehicle10include an owner of the vehicle10, a family member of the owner, and a person designated by the owner as the user of the vehicle10. The using of the vehicle10is not limited to driving the vehicle10, and includes being on board as a fellow passenger on the vehicle10driven by another person. In the present disclosure, “allowable range of travel” for the vehicle10is a geographic range in which the vehicle10is allowed to move, as will be described later.

Next, the vehicle10, the server20, and the terminal apparatus30of the information processing system1will be described in detail.

With reference toFIG. 2, a configuration of the vehicle10according to the present embodiment will be described.FIG. 2is a block diagram illustrating the configuration of the vehicle10. As illustrated inFIG. 2, the vehicle10includes a positioner11, a detector12, a communication interface13, a memory14, and a controller15. The positioner11, the detector12, the communication interface13, the memory14, and the controller15are connected via an in-vehicle network such as a Controller Area Network (CAN) or dedicated lines so as to be able to communicate with one another by wire or wirelessly.

In the present embodiment, the description is given on the assumption that the communication apparatus16included in the vehicle10has all the functions of the positioner11, the detector12, the communication interface13, the memory14, and the controller15. The communication apparatus16is, for example, an in-vehicle apparatus such as an Electronic Control Unit (ECU), a car navigation apparatus, or an in-vehicle communication device. Alternatively, the communication apparatus16may be a mobile phone, a smartphone, or a computer such as a personal computer, installed on the vehicle10. However, some of the functions described above may be provided by another in-vehicle apparatus mounted in the vehicle10that is communicably connected to the communication apparatus16.

The positioner11measures the position of the vehicle10, and generates positional information for the vehicle10. Positional information for a vehicle10is, for example, coordinates such as the two-dimensional coordinates or three-dimensional coordinates of a point where the vehicle10is located. A car navigation apparatus included in the vehicle10may function as the positioner11.

In the present embodiment, the positioner11can measure the position of the vehicle10by a combination of navigation using a satellite positioning system and autonomous navigation. The positioner11includes a receiver corresponding to a satellite positioning system for measuring the position of the vehicle10by navigation using the satellite positioning system. The satellite positioning system which the receiver corresponds to may be, for example, the Global Positioning System (GPS). Further, the positioner11includes a sensor, such as an acceleration sensor or a gyro sensor, for measuring the position of the vehicle10by autonomous navigation. However, the positioner11may measure the position of the vehicle10by either one of navigation using a satellite positioning system and autonomous navigation.

The detector12detects a user who is on board the vehicle10, and generates information indicating the user who is on board the vehicle10. For example, the detector12includes a camera. In such a case, the detector12is installed at a position, such as a ceiling of the cabin, from which a user who is on board the vehicle10can be photographed. The detector12captures an image of a part of a user who is on board the vehicle10, such as the face of the user, based on which the user can be uniquely identified. However, the camera included in the detector12may be installed at a position from which a user who is getting on or off the vehicle10can be photographed. The detector12generates the photographed image as the information indicating a user who is on board the vehicle10.

The detector12may include a wireless communication module such as an electronic tag reader. In such a case, the detector12acquires, through wireless communication, information such as user identification information stored in, for example, an electronic tag or a computer possessed by a user who is on board the vehicle10. The user identification information is information for uniquely identifying the user. The user identification information is, for example, information assigned by the server20. The detector12generates the acquired user identification information, as the information indicating a user who is on board the vehicle10. The wireless communication method supported by the wireless communication module may be, for example, short-range wireless communication standard such as Radio Frequency Identification (RFID), Near Field Communication (NFC), Ultra-High Frequency (UHF), Wi-Fi® (Wi-Fi is a registered trademark in Japan, other countries, or both), Bluetooth® (Bluetooth is a registered trademark in Japan, other countries, or both), or an infrared communication standard.

The communication interface13includes a communication module for connecting to the network40. The communication module is, for example, a communication module compliant with a mobile communication standard such as the 4th Generation (4G) standard or the 5th Generation (5G) standard. The communication module may be, for example, a communication module compliant with a standard such as a wired Local Area Network (LAN) standard or a wireless LAN standard. The communication module may be a communication module compliant with the aforementioned short-range wireless communication standard. In the present embodiment, the vehicle10is connected to the network40via the communication interface13. This enables the vehicle10to communicate with the server20or the like.

The memory14is, for example, a semiconductor memory, a magnetic memory, an optical memory, or the like. The memory14functions as, for example, a main memory, an auxiliary memory, or a cache memory. The memory14stores any information used for operations of the vehicle10. For example, the memory14stores a system program, an application program, embedded software, or the like. The information stored in the memory14may be updated with, for example, information acquired from the network40via the communication interface13.

The controller15includes at least one processor. The processor may be, for example, a general purpose processor such as a Central Processing Unit (CPU), a dedicated processor that is dedicated to specific processing, or the like. The controller15is not limited to a processor and may include at least one dedicated circuit. Examples of the dedicated circuit may include a Field-Programmable Gate Array (FPGA) and an Application Specific Integrated Circuit (ASIC). The controller15controls the components such as the positioner11, the detector12, the communication interface13, and the memory14that are described above in order to realize the functions of the communication apparatus17, including the functions of the components.

The functions of the communication apparatus16are realized by executing a communication apparatus program according to the present embodiment on a processor of a computer. That is, the functions of the communication apparatus16are realized by software. The communication apparatus program is a program for causing a computer to execute the processing of steps included in operations of the communication apparatus16, thereby enabling the computer to realize the functions corresponding to the processing of the steps. That is, the communication apparatus program is a program for causing the computer to function as the communication apparatus16.

The program can be recorded on a non-transitory computer readable recording medium. The non-transitory computer readable recording medium is, for example, a magnetic recording device, an optical disc, a magneto-optical recording medium, or a semiconductor memory. The distribution of the program is performed by, for example, sale, transfer, or rental of a portable recording medium such as a digital versatile disc (DVD) or a compact disc read only memory (CD-ROM) on which the program is recorded. Alternatively, the program may be distributed by storing the program in a storage of a predetermined server and transferring the program from the server to another computer. The program may also be provided as a program product.

The computer temporarily stores, for example, a program recorded on a portable recording medium or a program transferred from a predetermined server, in a memory. Then, the computer reads the program stored in the memory using a processor, and executes processing in accordance with the read program using the processor. The computer may read a program directly from a portable recording medium, and execute processing in accordance with the program. Each time a program is transferred from the predetermined server to the computer, the computer may execute processing in accordance with the received program in order. The processing may be executed through a so-called application service provider (ASP) type service which realizes functions merely by execution of instructions and acquisition of results, without transferring the program from the predetermined server to the computer. Programs encompass information that is to be used for processing by a computer and is thus equivalent to a program. For example, data that is not a direct command to a computer but has a property that regulates processing of the computer is “equivalent to a program” in this context.

With reference toFIG. 3, a configuration of the server20according to the present embodiment will be described.FIG. 3is a block diagram illustrating the configuration of the server20. As illustrated in the block diagram ofFIG. 3, the server20includes a communication interface21, a memory22, and a controller23. The communication interface21, the memory22, and the controller23are connected so as to be able to communicate with one another by wire or wirelessly.

The communication interface21includes a communication module for connecting to the network40. The communication module is, for example, a communication module compliant with a mobile communication standard such as the 4G standard or the 5G standard. The communication module may be, for example, a communication module compliant with a standard such as a wired LAN standard or a wireless LAN standard. The communication module may be a communication module compliant with the aforementioned short-range wireless communication standard. In the present embodiment, the server20is connected to the network40via the communication interface21. This enables the server20to communicate with the vehicle10and the terminal apparatus30.

The memory22is, for example, a semiconductor memory, a magnetic memory, an optical memory, or the like. The memory22functions as, for example, a main memory, an auxiliary memory, or a cache memory. The memory22stores any information to be used for operations of the server20. The memory22stores, for example, a system program, an application program, embedded software, a database, or the like. The information stored in the memory22may be updated with, for example, information acquired from the network40via the communication interface21.

The memory22stores, for example, association information associating users who can board a vehicle10with allowable ranges of travel. The association information may be defined for each vehicle10by an owner of the vehicle10. With reference toFIGS. 5 and 6, an example of the association information will be described.FIG. 5illustrates the association information in an embodiment.FIG. 6is a schematic diagram illustrating the allowable ranges of travel in an embodiment. The association information includes, for example, identification information, a username, a feature value, an allowable range of travel, a degree of priority, and a degree of reliability.

The identification information is information capable of uniquely identifying each user. The identification information may be managed in association with information capable of uniquely identifying the terminal apparatus30. This enables the server20to identify, using the identification information, the terminal apparatus30used by each user.

The username is information indicating the name of each user. Unlike the identification information, the username may not be able to uniquely identify each user.

The feature value is information indicating the feature of each user. For example, the feature value is information indicating a feature of the face of each user, which is extracted from an image obtained by photographing the face of each user, through image processing such as face recognition.

As described above, the allowable range of travel is a geographic range in which the vehicle10is allowed to move. In the present embodiment, the allowable range of travel is an area surrounded by a virtual geographic boundary. Hereinafter, the virtual geographic boundary is also referred to as a “geofence” and an area surrounded by the virtual geographic boundary is also referred to as a “geofence area”. The allowable range of travel may be a two-dimensional area or a three-dimensional area in any shape. For example, the allowable range of travel may be a circular area having a certain point as the center and a predetermined distance as the radius, as illustrated as the area A2or the area A3each indicated by the broken line ofFIG. 8. Alternatively, the allowable range of travel may be an area provided, for example, along a road on which the vehicle10can travel, as illustrated as the area A1indicated by the dashed line ofFIG. 8.

The degree of priority is a parameter that indicates the priority of a user. As will be described later, in a case in which a plurality of users is on board the vehicle10, an allowable range of travel associated with a user who whose degree of priority is highest among the plurality of users may be defined as the allowable range of travel for the vehicle10. For example, in the present embodiment, the degree of priority is assumed to be defined and managed in three levels of high, intermediate, and low.

The degree of reliability is a parameter indicating the reliability of a user. The allowable ranges of travel may be defined according to the degrees of reliability of the users. Specifically, the allowable range of travel may be defined wider as the degree of reliability of the user is higher. The degrees of reliability of the users may be defined, for example, based on activities of the users in a social networking service. Information posted by a user in a social networking service is subjected to natural language processing or image processing, and when an inappropriate keyword or image is included therein, a lower degree of reliability may be assigned to the user. Alternatively, the degree of reliability of a user may be defined based on a use record of the vehicle10by the user. The use record includes, for example, the number of times of departures from the allowable range of travel, the number of times of sudden starts or stops, the accident history in the past, or the number of times of uses of the vehicle10. In the present embodiment, the degree of reliability is defined and managed in three levels of high, intermediate, and low.

The information included in the association information is not limited to the aforementioned examples. The association information may include information indicating a category into which a user is classified according to the degree of reliability, the degree of priority, or the like. The allowable ranges of travel may each be defined per category. For example, users may be classified into a plurality of categories according to the degrees of reliability of the users, and the allowable ranges of travel may each be defined per category. This enables to save the processing capacity of the server20, such as the processing speed and the amount of data, which is otherwise required for managing the association information, as compared with the case in which the allowable range of travel is individually defined for each user.

In the association information, a plurality of allowable ranges of travel may be associated with one user. For example, the allowable ranges of travel may be defined according to time of day when the users board the vehicle10. A user may be associated with an allowable range of travel for daytime (e.g., from 6:00 a.m. to 6:00 p.m.) and an allowable range of travel for nighttime (e.g., from 6:00 p.m. to 6:00 a.m.). The allowable range of travel for nighttime, during which the visibility is poor, may be narrower than the allowable range of travel for daytime.

The controller23includes at least one processor. The processor may be, for example, a general purpose processor such as a CPU, a dedicated processor that is dedicated to specific processing, or the like. The controller23is not limited to a processor and may include at least one dedicated circuit. Examples of the dedicated circuit may include an FPGA and an ASIC. The controller23controls the components such as the communication interface21and the memory22that are described above in order to realize the functions of the server20, including the functions of the components.

The functions of the server20are realized by execution of a control program according to the present embodiment by a processor of a computer. That is, the functions of the server20are realized by software. The control program is a program for causing a computer to execute the processing of steps included in operations of the server20, thereby enabling the computer to realize the functions corresponding to the processing of the steps. That is, the control program is a program for causing a computer to function as the server20.

With reference toFIG. 4, a configuration of the terminal apparatus30according to the present embodiment will be described.FIG. 4is a block diagram illustrating the configuration of the terminal apparatus30. As illustrated in the block diagram ofFIG. 4, the terminal apparatus30includes a communication interface31, a display32, an input interface33, a memory34, and a controller35. The communication interface31, the display32, the input interface33, the memory34, and the controller35are connected so as to be able to communicate with one another by wire or wirelessly.

The communication interface31includes a communication module for connecting to the network40. The communication module is, for example, a communication module compliant with a mobile communication standard such as the 4G standard or the 5G standard. The communication module may be, for example, a communication module compliant with a standard such as a wired LAN standard or a wireless LAN standard. The communication module may be a communication module compliant with the aforementioned short-range wireless communication standard. In the present embodiment, the terminal apparatus30is connected to the network40via the communication interface31. This enables the terminal apparatus30to communicate with the server20or the like.

The display32displays information as an image or in text. The display32includes a display device such as a monitor.

The input interface33accepts input operations. The input interface33includes, for example, an input device such as a touch panel, a physical key, a camera, a microphone, or an IC card reader.

The memory34is, for example, a semiconductor memory, a magnetic memory, an optical memory, or the like. The memory34functions as, for example, a main memory, an auxiliary memory, or a cache memory. The memory34stores any information use for operations of the terminal apparatus30. The memory34stores a system program, an application program, embedded software, a database, or the like. The information stored in the memory34may be updated with, for example, information acquired from the network40via the communication interface31.

The controller35includes at least one processor. The processor may be, for example, a general purpose processor such as a CPU, a dedicated processor that is dedicated to specific processing, or the like. The controller15is not limited to a processor and may include at least one dedicated circuit. Examples of the dedicated circuit may include an FPGA and an ASIC. The controller35controls the functions of the components such as the communication interface31, the display32, the input interface33, and the memory34that are described above in order to realize the functions of the terminal apparatus30, including the functions of the components.

The functions of the terminal apparatus30are realized by executing a control program according to the present embodiment on a processor of the computer. In other words, the functions of the terminal apparatus30are realized by software. The control program is a program for causing a computer to execute the processing of steps included in operations of the terminal apparatus30, thereby enabling the computer to realize the functions corresponding to the processing of the steps. That is, the control program is a program for causing the computer to function as the terminal apparatus30.

(Operations 1 of Information Processing System)

With reference toFIGS. 5, 6, 7, and 8, first operations of the information processing system1will be described. The information processing system1is used for determining whether a vehicle10is located within an allowable range of travel associated with a user who is on board the vehicle10.FIG. 7is a flowchart illustrating the first operations of the information processing system1.FIG. 8is a flowchart illustrating operations of the information processing system1, following those ofFIG. 7. The first operations are explained on the assumption that the communication apparatus16is included in the vehicle10. Therefore, the operations of the communication apparatus16can also be deemed as the operations of the vehicle10that includes the communication apparatus16. Further, the first operations are explained on the assumption that the server20stores, in the memory22in advance, association information associating users who can board the vehicle10with allowable ranges of travel.

The first operations are explained on the assumption that a user A who is an owner of the vehicle10requests a user C to board the vehicle10and pick up from school a user B who is a child of the owner. As illustrated inFIG. 6, the vehicle10is parked in advance at a point P1where a house of the user A is located. The user C travels by the vehicle10from the point P1to a point P2where the school is located, through a route R1. Thereafter, the user C picks up the user B by the vehicle10at the point P2, and moves from the point P2to the point P1through a route R2by the vehicle10.

First, with reference toFIGS. 6 and 7, operations of the information processing system1to be performed during when the vehicle10moves from the point P1to the point P2through the route R1will be described.

As illustrated inFIG. 7, in Step S101, the controller15of the communication apparatus16controls the detector12to generate boarding information indicating a user who is on board the vehicle10. The controller15stores the generated boarding information for the vehicle10, in the memory14. The controller15may execute this processing at a predetermined timing. For example, the controller15repeatedly executes this processing at predetermined time intervals after the engine of the vehicle10is turned on. However, the predetermined timing may be a timing at which a given operation is detected, the given operation including opening or closing of the door of the vehicle10, locking or unlocking of the vehicle10, turning on or off of the engine of the vehicle10, or the like.

Specifically, the controller15of the communication apparatus16controls the detector12to generate boarding information indicating a user who is on board the vehicle10. For example, when the detector12includes a camera, the controller15generates an image obtained by photographing the face of a user inside the cabin with the camera, as the information indicating a user who is on board the vehicle10. When the detector12includes an electronic tag reader, the controller15generates user identification information acquired from an electronic tag of the user by the electronic tag reader, as the information indicating a user who is on board the vehicle10.

In Step S102, the controller15of the communication apparatus16controls the positioner11, and generates positional information for the vehicle10. The controller15stores the generated positional information for the vehicle10, in the memory14.

In Step S103, the controller15of the communication apparatus16transmits, to the server20via the communication interface13, boarding information indicating a user who is on board the vehicle10and the positional information for the vehicle10.

In the example ofFIG. 6, the user C gets on board the vehicle10at the point P1and turns on the engine of the vehicle10. The controller15of the communication apparatus16generates an image I1obtained by photographing the face of the user C with the camera of the detector12, as the information indicating a user who is on board the vehicle10. The controller15measures, by the positioner11, the coordinates of the point P1, and generates information indicating the measured coordinates as the positional information for the vehicle10. The controller15transmits, to the server20via the communication interface13, the image I1obtained by photographing the face of the user C and the coordinates of the point P1at which the vehicle10is located.

With reference again toFIG. 7, in Step S104, the controller23of the server20receives, via the communication interface21from the vehicle10, the boarding information indicating a user who is on board the vehicle10and the positional information for the vehicle10. The controller23stores the received boarding information indicating a user who is on board the vehicle10and the received positional information for the vehicle10, in the memory22.

In Step S105, the controller23of the server20determines, using the association information associating users who can board the vehicle10with allowable ranges of travel, whether the vehicle10is located within an allowable range of travel associated with a user who is on board the vehicle10.

Specifically, the controller23determines the user who is on board the vehicle10, based on the boarding information indicating a user who is on board the vehicle10. For example, when the boarding information indicating a user who is on board the vehicle10includes an image obtained by photographing the face of the user, the controller23extracts a feature value of the human face included in the image using image processing such as face recognition. The controller23compares the extracted feature value of the human face with the feature value of the face of each user included in the association information. In a case in which the association information includes a user whose feature value of the face coincides with the extracted feature value of the human face, the controller23determines that the user is on board the vehicle10. In a case in which the boarding information indicating a user who is on board the vehicle10includes identification information for a user, the controller23determines that the user who is assigned such identification information is on board the vehicle10.

Next, the controller23determines, using the association information, whether the vehicle is located within an allowable range of travel associated with the user who is determined as being on board the vehicle. The controller23may use an application such as a Geographic Information System (GIS) for the determination. The controller23starts the GIS, and maps the positional information for the vehicle10and an allowable range of travel associated with the user who is determined as being on board the vehicle10on the map, so as to determine whether the vehicle10is located within the allowable range of travel.

In Step S106, the controller23of the server20transmits, in a case in which it is determined that the vehicle10is not located within the allowable range of travel, information indicating the determination result as to whether the vehicle10is located within the allowable range of travel, via the communication interface21.

The information indicating the determination result includes, for example, information on a map to be displayed and information indicating the position and the allowable range of travel for the vehicle10mapped on the map. The controller23transmits the information indicating the determination result to the terminal apparatus30used by an owner of the vehicle10. This enables the controller35to display, on the display32, a warning that the vehicle10is located outside the allowable range of travel. Alternatively, the controller23may transmit the information indicating the determination result, to the communication apparatus16of the vehicle10via the communication interface21. This enables the communication apparatus16to display, on a display or the like of a car navigation system, a warning that the vehicle10is located outside the allowable range of travel. However, the controller23may transmit, even when it is determined that the vehicle10is located within the allowable range of travel, the information indicating the determination result to at least one of the communication apparatus16and the terminal apparatus30.

In the example ofFIG. 6, the controller23of the server20receives, from the communication apparatus16, the image I1obtained by photographing the face of the user C and the coordinates of the point P1at which the vehicle10is located. The controller23determines, using the association information associating users who can board the vehicle10with allowable ranges of travel, that the user C is on board the vehicle10, based on the image I1. Then, the controller23determines that an allowable range of travel associated with the user C is the area A2, as illustrated inFIG. 5. The area A2is a circular area centered on the point P1. Thus, the controller23determines, based on the coordinates of the point P1and the area A2, that the vehicle10is located within an allowable range of travel associated with the user C. The controller23does not transmit the information indicating the determination result to either the communication apparatus16or the terminal apparatus30.

Thereafter, the vehicle10moves from the point P1to the point P2through the route R1illustrated inFIG. 6. Until the vehicle10reaches the point P2, the processing described from Step S101to Step S106is repeatedly performed at predetermined intervals in the information processing system1. While the vehicle10is traveling along the route R1, the controller23of the server20determines that the vehicle10which the user C is on board is located within the area A2which is an allowable range of travel associated with the user C, and does not transmit information indicating the determination result to either the communication apparatus16or the terminal apparatus30.

Next, with reference toFIGS. 6 and 8, operations of the information processing system1to be performed during when the vehicle10moves from the point P2to the point P1through the route R2will be described.

As illustrated inFIG. 8, in Step S201, as in Step S101, the controller15of the communication apparatus16controls the detector12to generate boarding information indicating a user who is on board the vehicle10. The controller15stores the generated boarding information for the vehicle10, in the memory14.

In Step S202, as in Step S102, the controller15of the communication apparatus16controls the positioner11to generate positional information for the vehicle10. The controller15stores the generated positional information for the vehicle10, in the memory14.

In Step S203, as in Step S103, the controller15of the communication apparatus16transmits, to the server20via the communication interface13, the boarding information indicating a user who is on board the vehicle10and the positional information for the vehicle10.

In the example ofFIG. 6, the user C gets on board the vehicle10at the point P2with the user B who is a child of the owner, and turns on the engine of the vehicle10. The controller15of the communication apparatus16generates an image12obtained by photographing the faces of the user B and the user C with the camera of the detector12, as the information indicating a user who is on board the vehicle10. The controller15measures, by the positioner11, the coordinates of the point P2, and generates information indicating the measured coordinates as the positional information for the vehicle10. The controller15transmits, to the server20via the communication interface13, the image12obtained by photographing the faces of the users B and C and the coordinates of the point P2where the vehicle10is located.

In Step S204, as in Step S104, the controller23of the server20receives, from the vehicle10via the communication interface21, the boarding information indicating a user who is on board the vehicle10and the positional information for the vehicle10. The controller23stores the received positional information for the vehicle10and the received boarding information indicating a user who is on board the vehicle10, in the memory22.

In Step S205, as in Step S105, the controller23of the server20determines, using the association information associating users who can board the vehicle10with allowable ranges of travel, whether the vehicle10is located within an allowable range of travel associated with a user who is on board the vehicle10.

In a case in which it is determined that a plurality of users is on board the vehicle10, the controller23may determine whether the vehicle10is located within an allowable range of travel associated with at least one user in the plurality of users.

For example, the controller23determines whether the vehicle10is located within an allowable range of travel associated with a user whose degree of priority is highest among the plurality of users. The controller23may determine whether the vehicle10is located within an allowable range of travel for a user associated with the narrowest allowable range of travel or for a user associated with the widest allowable range of travel, among the plurality of users. Alternatively, the controller23may determine whether the vehicle10is located within an allowable range of travel calculated as the logical sum or logical product of the allowable ranges of travel associated with the plurality of users.

In Step S206, as in Step S106, when it is determined that the vehicle10is not located within the allowable range of travel, the controller23of the server20transmits, via the communication interface21, information indicating the determination result as to whether the vehicle10is located within the allowable range of travel. The information indicating the determination result includes, for example, information on a map to be displayed and information indicating the position and the allowable range of travel for the vehicle10mapped on the map.

In the example ofFIG. 6, the controller23of the server20receives, from the communication apparatus16, the image12obtained by photographing the faces of the user B and the user C, and the coordinates of the point P2where the vehicle10is located. The controller23determines, using the association information, that the user B and the user C are on board the vehicle10, based on the image12. The controller23determines, using the association information, that an allowable range of travel associated with the user B is the area A1and an allowable range of travel associated with the user C is the area A2, as illustrated inFIG. 5. The area A1is an area surrounding a predetermined road from the point P1to the point P2. The area A2is a circular area centered on the point P1. As illustrated inFIG. 5, the controller23determines, of the area A2and the area A1, the area A1that is associated with the user B who is assigned a higher degree of priority as the allowable range of travel. Thus, the controller23determines, based on the coordinates of the point P2and the area A1, that the vehicle10is located within an allowable range of travel associated with the user B. The controller23does not transmit information indicating the determination result to either the communication apparatus16or the terminal apparatus30.

Thereafter, the vehicle10moves from the point P2to the point P1along the route R2illustrated inFIG. 6. While the vehicle10is traveling along the route R2, the processing described from Step S201to Step S206is repeatedly performed at predetermined time intervals in the information processing system1. Then, when the vehicle10has moved to a point P3, the controller23of the server20determines that the vehicle10which the user B and the user C are on board is not located within the area A1which is an allowable range of travel associated with the user B. The controller23transmits, via the communication interface21, information indicating the determination result the including the coordinates of the point P3at which the vehicle10is located and mapped on a map and the area A1which is the allowable range of travel, to the terminal apparatus30of an owner of the vehicle10and the communication apparatus16.

With reference again toFIG. 8, in Step S207, the controller35of the terminal apparatus30receives, via the communication interface31, information indicating the determination result as to whether the vehicle10is located within the allowable range of travel. This enables the controller35to display, on the display32, the position and the allowable range of travel for the vehicle10to give a warning to an owner of the vehicle10.

In Step S208, the controller15of the communication apparatus16receives, via the communication interface13, information indicating the determination result as to whether the vehicle10is located within the allowable range of travel. This enables the communication apparatus16to display, on a display or the like, a point where the vehicle10is located and the allowable range of travel on the map, so as to give a warning to a user who is on board the vehicle10.

(Operations 2 of Information Processing System)

With reference toFIGS. 5, 6, and 9, second operations of the information processing system1will be described. The information processing system1is used for determining a driver of the vehicle10based on the travel plan for the vehicle10.FIG. 9is a flowchart illustrating the second operations of the information processing system1. The second operations are explained on the assumption that the server20stores, in the memory22in advance, association information associating users who can board the vehicle10with allowable ranges of travel.

The second operations are explained on the assumption that the user A, who is an owner of the vehicle10, is considering who to request to pick up the user B, who is a child of the owner, from school by the vehicle10. As illustrated inFIG. 6, the vehicle10is parked in advance at the point P1where the house of the user A is located, and the school is located at the point P2.

As illustrated inFIG. 9, in Step S301, the controller35of the terminal apparatus30accepts, via the input interface33, an input of a travel plan for the vehicle10. The travel plan for the vehicle10includes the coordinates of the destination. The travel plan for the vehicle10may further include information on a user to be on board the vehicle10as a fellow passenger.

In Step S302, the controller35of the terminal apparatus30transmits the travel plan for the vehicle10to the server20via the communication interface31.

In Step S303, the controller23of the server20receives, via the communication interface21, the travel plan for the vehicle10from the terminal apparatus30. The controller23stores the received travel plan for the vehicle10, in the memory22.

In Step S304, the controller23of the server20determines, using the association information, a user who can drive the vehicle10, based on the travel plan for the vehicle10.

Specifically, the controller23determines, using the association information, a user who can drive the vehicle10, based on the information on the destination of the vehicle10. The controller23selects, from the association information, a user associated with an allowable range of travel that includes the destination of the vehicle10, and determines the selected user as the user who can drive the vehicle10. Further, in a case in which the travel plan for the vehicle10includes information on a user to be on board the vehicle10as a fellow passenger, the controller23may exclude that user and select, from the association information, another user associated with an allowable range of travel that includes the destination of the vehicle10, and then determine that the selected user as the user who can drive the vehicle10.

In Step S305, the controller23of the server20transmits, to the terminal apparatus30via the communication interface21, the information on a user who can drive the vehicle10.

In Step S306, the controller35of the terminal apparatus30receives, via the communication interface31, information on a user who can drive the vehicle10. This enables the controller35to display, on the display32, the information on a user who can drive the vehicle10.

For example, the controller35of the terminal apparatus30accepts, via the input interface33, an input indicating the coordinates of a point P2where the school is located as the destination of the vehicle10and the user B who is to be dropped off and picked up as the user to be on board the vehicle10as a fellow passenger. The controller35transmits, to the server20via the communication interface31, a travel plan for the vehicle10including the coordinates of the point P2and the information on the user B. The controller23of the server20receives the travel plan for the vehicle10from the terminal apparatus30. As illustrated inFIGS. 5 and 6, the controller23selects, from the association information, the users A and C who are associated with allowable ranges of travel that include the point P2, and not the user B, and determines the users A and C as the users who can drive. The controller23transmits the information on the users A and C who can drive the vehicle10to the terminal apparatus30. This enables the controller35of the terminal apparatus30to display, on the display32, the users A and C as the users who can drive the vehicle10. Therefore, the owner of the vehicle10can request the user C to drop off and pick up the child.

As described above, a server20according to the present embodiment includes: a communication interface21; and a controller23configured to receive, from a vehicle10via the communication interface21, boarding information indicating a user who is on board the vehicle10and positional information for the vehicle10, and determine, using association information associating users who can board the vehicle10with allowable ranges of travel, whether the vehicle10is located within an allowable range of travel associated with the user who is on board the vehicle10. The aforementioned configuration enables the server20to determine whether the vehicle10is located within an allowable range associated with the user who is on board the vehicle10. This enables the information processing system1to improve the utility of technology for limiting a range where the vehicle10can be used.

In the server20according to the present embodiment, when it is determined that the vehicle10is not located within the allowable range of travel, the controller23can transmit information indicating the determination result. With this configuration, the server20can notify an owner or the like of the vehicle10that the vehicle10is not located within the allowable range of travel.

In the server20according to the present embodiment, the allowable ranges of travel may be defined according to the degrees of reliability of the users. This configuration eliminates the need for an owner of the vehicle10or others to define the allowable range of travel for the user, in using the information processing system1. This enables an owner of the vehicle10to save time and labor, and thus the utility of technology for limiting a range where the vehicle10can be used is further improved.

In the server20according to the present embodiment, the degrees of reliability of the users may be defined based on activities of the users in a social networking service. This enables an owner of the vehicle10to define the allowable range of travel for a user based on the activities of the user in a social networking service, even in a case in which the owner of the vehicle10does not have sufficient information on the user.

In the server20according to the present embodiment, users may be classified into a plurality of categories according to the degrees of reliability of the users, and the allowable ranges of travel may each be defined per category. This enables to save the processing capacity of the server20, such as the processing speed and the amount of data, which is otherwise required for managing the association information, as compared with the case in which the allowable ranges of travel are individually defined for each user.

In the server20according to the present embodiment, in a case in which it is determined that a plurality of users is on board the vehicle10, the controller23can determine whether the vehicle10is located within an allowable range of travel associated with at least one user in the plurality of users. This configuration enables the server20to determine, even when a plurality of users is on board the vehicle10, whether the vehicle10is located within an allowable range associated with a user who is on board the vehicle10. Thus, the utility of technology for limiting a range where the vehicle10can be used is further improved.

In the server20according to the present embodiment, users are associated with degrees of priority, and the controller23can determine, in a case in which it is determined that a plurality of users is on board the vehicle10, whether the vehicle10is located within an allowable range of travel associated with a user whose degree of priority is highest among the plurality of users. This configuration enables the server20to determine whether the vehicle10is located within an allowable range associated with a user who is on board the vehicle10, based on the degree of priority of the user. This enables an owner of the vehicle10to more freely design the determination to be made by the server20.

In the server20according to the present embodiment, the allowable ranges of travel may be defined according to time of day when the users board the vehicle10. This enables an owner of the vehicle10to more freely design the determination to be made by the server20.

In the server20according to the present embodiment, the controller23can determine, using the association information, a user who can drive the vehicle10, based on information on the destination of the vehicle10. This configuration enables the server20to recommend a user of the vehicle10to an owner of the vehicle10, according to the use application of the vehicle10. This enables the server20to reduce the probability that the vehicle10will be out of an allowable range associated with a user who is on board the vehicle10.

The communication apparatus16according to the present embodiment is a communication apparatus16included in a vehicle10, the communication apparatus16including a communication interface13, and a controller15configured to transmit, to a server20via a communication interface13, information indicating a user who is on board the vehicle and positional information for the vehicle10, and cause the server20to determine, using association information associating users who can board the vehicle10with allowable ranges of travel, whether the vehicle10is located within an allowable range of travel associated with the user who is on board the vehicle10. This configuration enables the communication apparatus16included in the vehicle10to cause the server20to determine whether the vehicle10is located within an allowable range associated with a user who is on board the vehicle10. This enables the information processing system1to improve the utility of technology for limiting a range where the vehicle10can be used.

In the communication apparatus16according to the present embodiment, the information indicating the user who is on board the vehicle10may be an image of the user who is on board. This configuration enables the communication apparatus16to cause the server20to determine whether the vehicle10is located within an allowable range associated with a user who is on board the vehicle10, without requiring the user of the vehicle10to carry any special device or to perform any special operation.

While the present disclosure has been described with reference to the drawings and examples, it should be noted that various modifications and revisions can be implemented by those skilled in the art based on the present disclosure. Accordingly, such modifications and revisions are included within the scope of the present disclosure. For example, functions or the like included in each means, each step, or the like can be rearranged without logical inconsistency, and a plurality of means, steps, or the like can be combined into one or divided.

For example, in the aforementioned embodiment, all or some of the functions or processes described as the functions or processes of the server20may be realized as the functions or processes of the communication apparatus16of the vehicle10. Specifically, a program in which processes for realizing functions of the server20according to the embodiment are written may be stored in a memory of the communication apparatus16or the like, and the program can be read and executed by a processor of the communication apparatus16or the like. For example, in the aforementioned embodiment, the process of identifying a user, based on an image obtained by photographing a user on board, is illustrated as the process to be executed by the server20; however, the process may be executed by the communication apparatus16. This enables to reduce the amount of processing to be executed by the server20or the amount of data communication between the server20and the terminal apparatus30.

Further, for example, a general purpose computer such as a smartphone may be configured to function as the communication apparatus16or the server20of the aforementioned embodiment. Specifically, a program in which processes for realizing the functions of the communication apparatus16or the server20according to the embodiment are written is stored in a memory of a computer, and the program is read and executed by a processor of the computer. For example, in a case in which a general purpose computer is configured to function as the communication apparatus16of the vehicle10, such a configuration may be realized by installing a computer having the configuration and function of the communication apparatus16of the vehicle10described above on the vehicle10.

Further, for example, in the aforementioned embodiment, the server20is explained as having stored in advance association information associating users who can board the vehicle10with allowable ranges of travel, in the memory22. However, at least part of the association information may be stored in another server or an electronic device such as a portable recording medium. In such a case, the server20may acquire as appropriate the association information from the electronic device when necessary.