This application claims priority to Japanese Patent Application No. 2013-188725 (filed on Sep. 11, 2013), the entire contents of which are incorporated herein by reference.
The present invention relates to a server and a method for outputting a map image, and more specifically, to a server for outputting to a terminal device communicably connected, a map image having user elements arranged thereon, each corresponding to one or more users, and to a method for outputting such a map image.
There have been placed on the market, services of conventional art which uses a technique of acquiring user position information by use of GPS, information from base stations of cell phone, or the like, and then displaying the user position on a map image based on the acquired position information (for example, refer to Japanese Patent Laid-Open No. 2013-134072). For example, a navigation system is well known by which a route to the destination is displayed in a guiding manner while the present location of the user is displayed. In recent years, in an SNS service, a function is also provided by which a user displays his/her location on a map image to perform a posting operation related to that location.
However, when the map image displaying the user position in this manner is provided, since the user position information is privacy-related data, some users may feel uncomfortable, for example, with the fact that the exact present location is known by other users. Particularly, many users does not desire that the exact present location is known by other users when they are at a private spot such as home or the like. On the other hand, if the displaying of user position on a map image is perfectly stopped, it is impossible to provide various types of services using user position information.
An object of embodiments of the present invention is to display a position corresponding to a user on a map image with consideration for user privacy. Other object of the present invention will be clearly known by reference to the whole description of this specification.
A server according to one embodiment of the present invention is one which outputs to a terminal device communicably connected, a map image having one or more user elements arranged thereon, each corresponding to a respective user. The server includes one or more processors capable of executing a predetermined program. The predetermined program includes: a determination module configured to determine, according to a request to output the map image, a modification direction and a modification distance used to modify a geographical position corresponding to a user for whom the user element is arranged on the map image; an arrangement module configured to arrange the user elements on the map image at positions corresponding to the geographical positions modified according to the determined modification direction and the determined modification distance; and an output module configured to output to the terminal device the map image having the user elements arranged thereon. Here, the “user elements” include various types of elements corresponding to a user which can be arranged on the map image; for example, an image such as an icon and a text may be included. The “geographical position corresponding to a user” includes various geographical positions which may correspond to a user; for example, the present location, the area of residence and the place of business may be included.
A method according to one embodiment of the present invention is for outputting a map image having one or more user elements arranged thereon, each corresponding to a respective user. This method includes, determining a modification direction and a modification distance used to modify a geographical position corresponding to a user for whom the user element is arranged on the map image, according to a request to output the map image; arranging the user elements on the map image at a position corresponding to the geographical position modified according to the determined modification direction and the determined modification distance; and outputting the map image having the user elements arranged thereon.
Various embodiments of the present invention allows displaying of a position corresponding to a user on a map image with consideration for user privacy.
As shown, the server 10 may include a central processing unit (CPU) (processor) 11, a main memory 12, a user interface (I/F) 13, a communication I/F 14, an external memory 15, and a disk drive 16, and these components may be electrically connected to one another via a bus 17. The CPU 11 may load an operating system and various programs such as control programs for controlling the provision of various services into the main memory 12 from the external memory 15, and may execute commands included in the loaded programs. The main memory 12 may be used to store a program to be executed by the CPU 11, and may be formed of, for example, a dynamic random access memory (DRAM).
The user I/F 13 may include, for example, an information input device such as a keyboard or a mouse for accepting an input from an operator, and an information output device such as a liquid crystal display for outputting calculation results of the CPU 11. The communication I/F 14 may be implemented as hardware, firmware, or communication software such as a transmission control protocol/Internet protocol (TCP/IP) driver or a point-to-point protocol (PPP) driver, or a combination thereof, and may be configured to be able to communicate with the terminal devices 30 via the communication network 20.
The external memory 15 may be formed of, for example, a magnetic disk drive and store various programs such as a control program for controlling the provision of various services. The external memory 15 may also store various data used in providing the various services. The various data that may be stored in the external memory 15 may also be stored on a database server communicatively connected to the server 10 and physically separate from the server 10. The disk drive 16 may read data stored in a storage medium such as a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), or DVD Recordable (DVD-R) disc, or write data to such a storage medium.
In an embodiment, the server 10 may be a web server for managing a web site including a plurality of hierarchical web pages. The terminal devices 30 may fetch HTML data for rendering a web page from the server 10 and analyze the HTML data to present the web page to a user of the terminal devices 30. The HTML data for rendering the web page may also be stored on the external memory 15. The HTML data may comprise HTML documents written in markup languages such as HTML; the HTML documents may be associated with various images. Additionally, the HTML documents may include programs written in script languages such as ActionScript™ and JavaScript™.
The external memory 15 may store various applications to be executed on execution environments of the terminal device 30 other than browser software. These various applications may include various programs and various data such as image data to be referred to for executing the programs. The programs may be created in, for example, object oriented languages such as Objective-C™ and Java™. The created programs may be stored on the external memory 15 in the form of application software along with various data. The application software stored on the external memory 15 may be delivered to a terminal device 30 in response to a delivery request. The application software delivered from the server 10 may be received by the terminal device 30 through a communication I/F 34 in accordance with the control of CPU 31 and sent to an external memory 35 for storage thereon. The application software may be launched in accordance with the user's operation on the terminal device 30 and may be executed on a platform implemented on the terminal device 30 such as NgCore™ or Android™. The server 10 may provide the applications executed on the terminal devices 30 with various data required for providing various services. Additionally, the server 10 can store various data sent from the terminal device 30 for each user, thereby managing the provision of the various services.
Thus, the server 10 may manage the web site for providing various services and deliver web pages constituting the web site in response to a request from the terminal device 30, thereby providing various services. Also, the server 10 can provide various services based on communication with an application performed on the terminal device 30 in place of, or in addition to, such browser-based services. Whichever mode may be taken to provide the services, the server 10 can store data required to provide the various services for each identification identifying a user. Briefly, the server 10 may also include a function to authenticate a user at start of provision of services and perform charging process in accordance with provision of services. The types of the various services implemented by the web site or applications of the server 10 are not limited to those explicitly described herein.
In an embodiment, the terminal device 30 may be any information processing device that may display on a web browser a web page of a web site obtained from the server 10 and include an application executing environment for executing applications; and the terminal devices 30 may include smartphones, tablet terminals, and game-dedicated terminals.
As shown, the terminal device 30 may include a central processing unit (CPU) (processor) 31, a main memory 32, a user interface (I/F) 33, a communication I/F 34, an external memory 35, and a GPS receiver 37, and these components may be electrically connected to one another via a bus 36.
The CPU 31 may load various programs such as an operating system into the main memory 32 from the external memory 35, and may execute commands included in the loaded programs. The main memory 32 may be used to store a program to be executed by the CPU 31, and may be formed of, for example, a dynamic random access memory (DRAM).
The user I/F 33 may include an information input device for receiving user inputs and an information output device for outputting an operation result of CPU 31; and the user I/F may include a display device such as a liquid crystal display having a touch panel.
The communication I/F 34 may be implemented as hardware, firmware, or communication software such as a transmission control protocol/Internet protocol (TCP/IP) driver or a point-to-point protocol (PPP) driver, or a combination thereof, and may be configured to be able to communicate with the server 10 via the communication network 20.
The external memory 35 may comprise, for example, a magnetic disk drive or a flash memory and store various programs such as an operating system. When receiving an application from a server 10 via the communication I/F 34, the external memory 35 may store the received application.
A GPS receiver 37 may be configured as a typical GPS receiver which can receive radio waves from a GPS satellite (not illustrated) which can acquire position information on geographical position of a terminal device 30 (the GPS receiver 37).
A terminal device 30 having such an architecture may include, for example, browser software for interpreting an HTML file (HTML data) and rendering a screen; this browser software may enable the terminal device 30 to interpret the HTML data fetched from the server 10 and render web pages corresponding to the received HTML data. Further, the terminal device 30 may include plug-in software (e.g., Flash Player distributed by Adobe Systems Incorporated) embedded into browser software; therefore, the terminal device 30 can fetch from the server 10 a SWF file embedded in HTML data and execute the SWF file by using the browser software and the plug-in software. Also, the terminal device 30 can execute an application fetched from the server 10.
A description will be given below for a map image outputting program 50 executed by a CPU 11 of a server 10 according to one embodiment.
The operation of the server 10 having the above described configuration according to the one embodiment will be described.
In the map image outputting processing, first, users for whom user elements are arranged on a map image are, as illustrated in
Subsequently, a modification direction and a modification distance for modifying the present location used in arranging user elements on a map image are determined (step S114). The determination of modification direction and modification distance may be made by applying various rules.
In this way, the determination of modification direction and modification distance of the present location is made, and subsequently user elements are arranged on a map image at a position corresponding to the present location modified according to the determined modification direction and modification distance (step S116). More specifically, in the one embodiment, the server 10 preliminarily stores the present location after modification of users for whom user elements are arranged on a map image, and then arranges user elements on a map image based on the present location after modification thus stored. Here, another method may be used by which the management of the present location after modification is not performed, and when user elements are arranged on a map image, a required arithmetic processing is performed so that user elements are arranged on a map image at a position corresponding to the present location after modification (for example, the present location after modification is calculated and then a position on a map image corresponding to the present location after modification is calculated.)
After the map image having user elements arranged thereon has been outputted (step S118), this map image outputting processing is terminated.
As described above, the position on the map image 60 of the user icon as a user element corresponds to the present location modified according to the determined modification direction and modification distance.
Here, in the map image outputting processing according to the one embodiment, the modification direction and the modification distance determined at step S114 are applied for all the other users; however, the modification direction and the modification distance may be determined for each user.
Also, in the one embodiment, a method may be used by which the modified present location does not fall into a particular geographical area. More specifically, when user elements are arranged on a map image at a position corresponding to a geographical area such as the sea or a river in which users are usually not supposed to lie, the users may feel something is wrong. Thus, in order to prevent the present location after modification from falling into this particular geographical area, the geographical area such as the sea or a river may be preliminarily stored as the particular geographical area in which user elements are not to be arranged; and when the present location after modification falls into this particular geographical area, the step (step S114) of determining the modification direction and modification distance of the present location may be executed again, or the present location after modification of the user is modified by a given distance so that the present location after modification gets out of the particular geographical area. In this case, the map image outputting program 50 may further include a module corresponding to this processing. Accordingly, when user elements are displayed on a map image based on the present location after modification, it is possible to prevent the user from feeling something is wrong.
In this way, examples of services using map images having user elements arranged thereon corresponding to users include a service which provides various types of communication done between the users. In this case, for example, a user element corresponding to other user with whom communication is to be performed is arranged on a map image, and then this user element arranged on the map image is selected, whereby other user being the other party of the communication can be selected. In this way, when selection among other users is made, the present location of the other users cannot be exactly known, but the present location can be roughly known; this broad information on the present location may be used as a cue for communication.
In the above described server 10 according to one embodiment, a modification direction and a modification distance used to modify the present location of users (the geographical position corresponding to users) are determined according to a request to output a map image, and user elements are arranged on the map image at a position corresponding to the present location modified according to the determined modification direction and the determined modification distance, and the resultant map image is outputted Accordingly, each time a request to output a map image is made, user elements are arranged on a map image at a position corresponding to the present location modified based on a different modification direction and a different modification distance, and thus it is difficult for the user operating the terminal device 30 to which the map image is outputted, to exactly estimate the present location of the other users. That is, the position corresponding to a user can be displayed on the map image with consideration for user privacy.
Further, in the server 10 according to one embodiment, a modification direction and a modification distance of the present location are determined so that the present location after modification falls into the annular area 76 specified as an area of a first circular area of a first radius having the present location before modification at the center thereof, except a second circular area of a second radius smaller than the first radius, having the present location before modification at the center thereof. Consequently, the present location after modification, falling into the first circular area, can be prevented from being significantly far from the present location before modification; further, the present location after modification, lying outside the second circular area, can be prevented from being significantly near the present location before modification. In addition, the modification direction and modification distance are both determined to modify the present location, and thus it is more difficult to exactly estimate the present location of the other users, compared to when only the modification direction is determined and the modification distance is unchanged, and to when only the modification distance is determined and the modification direction is unchanged. Specific value of the first radius and the second radius described above may be set to an appropriate value based on the properties of services or the like using the aforementioned map images.
According to one embodiment, the modification direction and the modification distance of the present location are determined so that the present location after modification falls into the annular area 76. However, the determination may be made so that the present location after modification falls into other area different from the annular area 76. For example, the modification direction and the modification distance may be determined so that the present location after modification falls into the second circular area (containing the first circular area). Further, the shape of area is not limited to a circular ring and a circle; for example, the modification direction and modification distance may be determined so that the present location after modification falls into a rectangular area having a given distance from the present location before modification in the X-axis direction and in the Y-axis direction. Further, various methods of determining the modification direction and the modification distance using various calculating formulas may be applied without specifying the above area.
In one embodiment, each time a request to output a map image is made, the modification direction and the modification distance of the present location are determined in the map image outputting processing; but the modification direction and the modification distance need not necessarily be determined (i.e. modified) each time a request to output a map image is made; for example, in the same session, the modification direction and the modification distance may be determined each time a request to output a map image (i.e. an update request) is made a predetermined number of times.
In one embodiment, the present location of users are illustrated as the geographical position corresponding to the users; but the geographical position is not limited thereto, and various embodiments may be applied in which other geographical positions such as the area of residence, the place of business of each user and the like, is indicated on a map image. In this case, not a geographical position acquired by the GPS receiver 37 or the like, but a geographical position specified by information such as an address manually inputted by users may be modified according to the modification direction and the modification distance, so that user elements may be arranged on a map image at a position corresponding to the geographical position after modification.
The processes and procedures described and illustrated herein may also be implemented by software, hardware, or any combination thereof other than those explicitly stated for the embodiments. More specifically, the processes and procedures described and illustrated herein may be implemented by the installation of the logic corresponding to the processes into a medium such as an integrated circuit, a volatile memory, a non-volatile memory, a magnetic disk, or an optical storage. The processes and procedures described and illustrated herein may also be installed in the form of a computer program, and executed by various computers.
Even if the processes and the procedures described herein are executed by a single apparatus, software piece, component, or module, such processes and procedures may also be executed by a plurality of apparatuses, software pieces, components, and/or modules. Even if the data, tables, or databases described herein are stored in a single memory, such data, tables, or databases may also be dispersed and stored in a plurality of memories included in a single apparatus or in a plurality of memories dispersed and arranged in a plurality of apparatuses. The elements of the software and the hardware described herein can be integrated into fewer constituent elements or can be decomposed into more constituent elements.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context.
Number | Date | Country | Kind |
---|---|---|---|
2013-188725 | Sep 2013 | JP | national |