Dynamically modify shared location information
By implementing the location accuracy model on social network systems or user equipment, dynamically modifying the specificity of shared location information, the privacy, confidentiality and security risks of users when sharing location information is solved, and more efficient and convenient risk mitigation is achieved.
Patent Information
- Application Number
- CN202180012787.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-05
- Filing Date
- 2021-02-01
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2041-02-01
AI Technical Summary
Users face privacy, confidentiality and security risks when sharing location information, and existing solutions are insufficient in terms of availability, efficiency and portability, making it difficult for users to effectively mitigate these risks.
By implementing a location accuracy model on a social network system or user equipment, dynamically modify the location information associated with social network posts to make it more broadened, thereby improving user privacy, confidentiality and security.
This method does not require users to change their interactions with social networking platforms, and can automatically improve the privacy, confidentiality and security of all users and reduce the risks brought by location sharing.
Smart Images

Figure CN115066683B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to user privacy, and more particularly to dynamically modifying shared location information. Background Art
[0002] Smart devices can determine and share a user's location. For example, an individual can use a smart device to take a photo and upload the photo to a social networking site (SNS). The photo can be automatically tagged with geographic coordinates associated with the user's location, or the photo can be manually tagged with the user's location based on user input (e.g., "@Chicago" added to the text about the shared photo). As another example, a user can use a workout app to track the user's location during a run, and the location information can be shared on a social networking site. These examples show that the user's precise location can be shared with the public.
[0003] Public sharing of user locations presents privacy, confidentiality, and / or security risks. For example, a malicious actor may use published information about an individual's location to follow or harm the individual. As another example, a malicious actor may use published information about an individual's location to burglarize a user's home, vehicle, or another empty location associated with the user. Thus, there are risks with location sharing. However, location sharing itself is not inherently negative. In fact, location sharing can be useful in developing communities, documenting experiences, etc. Therefore, the risks associated with location sharing are greatest in real-time or near real-time location sharing.
[0004] Currently, in order for users to mitigate the privacy, confidentiality, and / or security risks associated with location sharing, users must opt out of the features that enable location sharing in smart devices and / or social networking platforms. Opting out of location sharing features typically requires users to make time-consuming modifications to user profiles on many social networking platforms (not to mention the degraded user experience associated with limiting the functionality of various social networking platforms). Even after opting out of the automatic location sharing feature, users may still need to review manually created posts during use of various social networking platforms to remove any location information from the posts. Another strategy that users may pursue is to avoid using smart devices and / or social networking platforms altogether. Therefore, current solutions are not sufficient to enable users to fully mitigate the privacy, confidentiality, and / or security risks associated with sharing location information on social networking platforms, at least in terms of usability, efficiency, and portability. Summary of the invention
[0005] Aspects of the present disclosure relate to a computer-implemented method, comprising inputting a social network post into a location accuracy model, which is configured to modify the location resolution of the social network post, wherein the social network post is associated with a first time and a shareable location. The method further comprises publishing a social network post with a modified shareable location, wherein the modified shareable location is a generalized version of the shareable location. The method also comprises determining that parameters associated with the location accuracy model are satisfied. The method also comprises modifying the social network post to include an updated modified shareable location, wherein the updated modified shareable location is more specific than the modified shareable location and less specific than the shareable location. Additional aspects of the present disclosure relate to systems and computer program products configured to perform the above methods.
[0006] Advantageously, the foregoing method improves a user's privacy, confidentiality, and / or security by dynamically modifying location information associated with publicly available postings without requiring the user to change their interaction with the social networking platform.
[0007] According to one embodiment, the location accuracy model is stored on the social networking system and the social networking post is received from a user device.
[0008] Advantageously, this enables the features of the present disclosure to be incorporated into existing social networking platforms. Incorporating the features of the present disclosure into a social networking platform automatically improves the privacy, confidentiality and / or security of all members of the social networking platform.
[0009] Another embodiment of the present disclosure including limitations of the foregoing method further includes the location accuracy model being stored on a user device, and the social network post being received from the user device.
[0010] Advantageously, this enables the features of the present disclosure to be incorporated into a user device, wherein it is able to interact with many social networking platforms with applications or portals loaded on the user device. Thus, this embodiment of the present disclosure enables a single user to improve their privacy, security and / or confidentiality across numerous social networking platforms simultaneously.
[0011] Another embodiment of the present disclosure including limitations of the above method also includes where the updated modified sharable location is based on an amount of time between the first time and the current time.
[0012] Advantageously, this enables the present disclosure to dynamically modify the position resolution as a function of time.
[0013] Another embodiment of the present disclosure including limitations of the foregoing method also includes where the modified sharable location is based on a distance between the sharable location and a current location of a user device that created the social network post.
[0014] Advantageously, this enables the present disclosure to dynamically modify position resolution based on distance.
[0015] Another aspect of the disclosure relates to a computer-implemented method, including inputting a social network post received from a user device into a location accuracy model executed as an application on the user device, and wherein the social network post is associated with a first time and a shareable location. The method also includes outputting a modified shareable location by the location accuracy model. The method also includes sending the social network post along with the modified shareable location to a social networking system, wherein the modified shareable location is a generalized version of the shareable location. Another aspect of the disclosure relates to systems and computer program products configured to perform the above method.
[0016] Advantageously, the foregoing method improves a user's privacy, confidentiality, and / or security by dynamically modifying location information associated with publicly available postings without requiring the user to change their interaction with the social networking platform.
[0017] Another aspect of the disclosure relates to a computer-implemented method, including inputting geotagged posts received from a user device into a location accuracy model, wherein the geotagged posts are associated with a first time and a geographic location. The method also includes outputting a generalized geographic location via the location accuracy model. The method also includes publishing the geotagged posts with the generalized geographic location. The method also includes intermittently updating the geotagged posts by publishing a series of updated generalized geographic locations based on the location accuracy model and the location of the user device. Another aspect of the disclosure relates to systems and computer program products configured to implement the above method.
[0018] Advantageously, the foregoing method improves a user's privacy, confidentiality, and / or security by dynamically modifying location information associated with publicly available postings without requiring the user to change their interaction with the social networking platform.
[0019] According to another aspect, a computer-implemented method is provided, comprising: inputting a social network post into a location accuracy model, wherein the social network post is associated with a first time and a shareable location; outputting a modified shareable location by the location accuracy model; and sending the social network post together with the modified shareable location to a social networking system, wherein the modified shareable location is a generalized version of the shareable location.
[0020] In one embodiment, a location accuracy model is received from a user device and executed as an application on the user device.
[0021] In one embodiment, the location accuracy model is configured to modify the location resolution of a social network post, and the method further includes: determining that parameters associated with the location accuracy model are satisfied; and modifying the social network post to include an updated modified sharable location, wherein the updated modified sharable location is more specific than the modified sharable location and less specific than the sharable location.
[0022] In one embodiment, a post is geotagged and received from a user device, wherein the geotagged post is associated with a first time and a geographic location, and wherein the outputting step includes outputting a generalized geographic location from a location accuracy model, wherein the sending step includes posting the geotagged post with the generalized geographic location, and wherein the method further includes: intermittently updating the geotagged post by posting a series of updated generalized geographic locations based on the location accuracy model and the location of the user device.
[0023] This summary is not intended to describe every aspect, every implementation, and / or every embodiment of each embodiment of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Preferred embodiments of the present invention will now be described, by way of example only, and with reference to the following drawings, in which:
[0025] Figure 1 A block diagram of an example social networking environment with a location accuracy model located on a social networking system is shown in accordance with some embodiments of the present disclosure.
[0026] Figure 2 A block diagram of another example social networking environment with a location accuracy model located on a user device is shown in accordance with some embodiments of the present disclosure.
[0027] Figure 3A A block diagram of example threshold parameters including a distance threshold and a duration threshold according to some embodiments of the present disclosure is shown.
[0028] Figure 3B A block diagram of example threshold parameters including a time threshold according to some embodiments of the present disclosure is shown.
[0029] Figure 3C A block diagram of example threshold parameters including a distance threshold, a duration threshold, and a time threshold according to some embodiments of the present disclosure is shown.
[0030] Figure 4A A block diagram is shown of example position resolution parameters including an ontological position resolution model according to some embodiments of the present disclosure.
[0031] Figure 4BA block diagram is shown of example position resolution parameters including a discretized position resolution model according to some embodiments of the present disclosure.
[0032] Figure 4C A block diagram is shown of example position resolution parameters including a randomized position resolution model in accordance with some embodiments of the present disclosure.
[0033] Figure 5A A diagram showing a spatial position accuracy model according to some embodiments of the present disclosure.
[0034] Figure 5B A diagram showing a temporal position accuracy model according to some embodiments of the present disclosure.
[0035] Figure 5C A diagram showing a temporal-spatial position accuracy model according to some embodiments of the present disclosure.
[0036] Figure 6 A diagram showing a publication sequence using a location accuracy model according to some embodiments of the present disclosure.
[0037] Figure 7 A flowchart of an example method for dynamically modifying shared location information according to some embodiments of the present disclosure is shown.
[0038] Figure 8 A flowchart of another example method for dynamically modifying shared location information according to some embodiments of the present disclosure is shown.
[0039] Fig. 9A A flowchart of an example method for generating a learned position accuracy model according to some embodiments of the present disclosure is shown.
[0040] Fig. 9B A flow chart illustrating an example method for metering and invoicing usage of dynamic shared location modification functionality according to some embodiments of the present disclosure.
[0041] Fig.10 A block diagram of an example computer is shown in accordance with some embodiments of the present disclosure.
[0042] Fig.11 A cloud computing environment according to some embodiments of the present disclosure is depicted.
[0043] Fig.12 Abstract model layers according to some embodiments of the present disclosure are depicted.
[0044] Although the present disclosure is susceptible to various modifications and alternative forms, details thereof have been shown by way of example in the drawings and will be described in detail. However, it will be understood that it is not intended to limit the present disclosure to the particular embodiments described. On the contrary, the present disclosure is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure. DETAILED DESCRIPTION
[0045] Embodiments of the present disclosure relate to user privacy, and more particularly to dynamically modifying shared location information. Although not limited to these applications, embodiments of the present disclosure may be better understood in light of the above context.
[0046] Reference now Figure 1 , an example social networking environment 100 is shown according to some embodiments of the present disclosure. The social networking environment 100 includes a social networking system 102 communicatively coupled to a user device 104 via a network 106. The social networking system 102 can be any physical or virtual collection of hardware configured to store, host, run, or otherwise maintain information for a social networking platform, site, application, etc. For example, the social networking system 102 may include one or more servers, one or more processors, one or more computer-readable storage media, etc.
[0047] User device 104 may be any user device such as, but not limited to, a computer, a desktop, a laptop, a tablet, a smart phone, a smart watch, smart glasses, a fitness tracker, a health monitor, a wearable device, or another device.
[0048] Network 106 may be any wired or wireless network capable of permanently or intermittently communicatively coupling social networking system 102 to user device 104. Network 106 may be, for example, a cellular network (e.g., 3G, 4G, 5G, etc.), a wireless network (e.g., the Internet, a wireless local area network (WLAN), a wireless wide area network (WWAN), a wireless metropolitan area network (WMAN), a wireless personal area network (WPAN)), a wired network (e.g., a network employing coaxial cable, optical fiber or glass fiber cable, Ethernet cable, etc.), another network configuration (e.g., a terrestrial microwave-based wireless network communication, a satellite-based wireless communication network, a radio-based wireless communication network, etc.), or a combination of any of the foregoing network configurations.
[0049] The user device 104 may be configured to detect and store a current location 108 and a current time 110. In some embodiments, the current location 108 may be detected from, for example, a global positioning system (GPS) associated with the user device 104. In some embodiments, the current location 108 may be a location that is tagged, labeled, or otherwise defined based on user input to the user device 104. As an example, a user may tag an electronic photo or social network post with "@Chicago" to indicate that the electronic photo or social network post is associated with a location in Chicago. More specific location tags (e.g., addresses, GPS coordinates, etc.) or less specific location tags (e.g., countries, regions, counties, etc.), whether manually created or automatically created, are also possible and within the spirit and scope of the present disclosure.
[0050] The user device 104 may also store a current time 110. The current time 110 may be derived from an internal clock, such as a real-time clock (RTC). The current time 110 may also be derived from a GPS signal in a user device 104 that includes GPS functionality.
[0051] The user device 104 also stores social network posts 112. The social network posts 112 may be (but are not limited to) text (e.g., posts, blogs, captions, etc.), one or more photos, one or more videos, one or more audio files, one or more reactions (e.g., emoticons, emojis, etc.), or a combination of two or more of the above items. The social network posts 112 may be associated with a shareable location 114 and a publishing time 116. The publishing time 116 may refer to the time when the social network post 112 was created, the time when the social network post 112 was saved, the time when the social network post 112 was scheduled to be published, the time when the social network post 112 was sent to the social network system 102, or a different time. The social network post 112 may also be simply referred to as a post, but the term post may include any number of types of shareable information that may or may not be related to a social network. For example, a post may include any information (e.g., text, audio, video, image, or other data) created by (or on behalf of) a first user of a first electronic device and subsequently accessible by one or more other users of one or more other electronic devices.
[0052] In some embodiments, the shareable location 114 may reference the current location 108 at the posting time 116. In some embodiments, the shareable location 114 may refer to a location that is marked, tagged, or otherwise defined based on user input to the user device 104. In other embodiments, the shareable location 114 may refer to a location that is marked, tagged, or otherwise defined based on a machine learning algorithm that uses the social network post 112 and other information associated with the user device 104 as input and generates the shareable location 114 as output. Some examples of the shareable location 114 are GPS coordinates, addresses, names (e.g., park names, store names, etc.), etc. When GPS coordinates are used, the GPS coordinates may be presented in degrees, minutes, and seconds (DMS) format (e.g., 43°13'54.8"N 93°15'22.4"W), decimal degrees (DD) format (e.g., 43.231878, -93.256232), or in a different GPS format.
[0053] The user device 104 may also include a social networking application 118, which is hosted on the user device 104 and acts as a portal to the social networking system 102. A user of the user device 104 may log into a unique user profile of the social networking application 118 using login credentials such as a name (e.g., an email address, a login name, a serial number, etc.) and a password (e.g., an alphanumeric password, a biometric password, etc.).
[0054] A user may wish to post, publish, or otherwise share a social network post 112 by uploading the social network post 112 to the social networking system 102 via the social networking application 118. However, as previously discussed, posting a social network post 112 on the social networking system 102 including the shareable location 114 may be detrimental to the privacy, security, and / or confidentiality of the user of the user device 104.
[0055] To address the above challenges, embodiments of the present disclosure are configured to incrementally modify the location resolution of a shareable location 114 using a location accuracy model 120 in a social networking system 102. The location accuracy model 120 may be configured to dynamically modify the shareable location 114 based on one or more spatial and / or temporal parameters to increase the privacy, security, and / or confidentiality of a user of the user device 104. For example, the location accuracy model 120 may be associated with a threshold parameter 122 and a location resolution parameter 124. The threshold parameter 122 may work together with the location resolution parameter 124 to modify the accuracy of the shareable location 114 based on the spatial, temporal, or spatial-temporal attributes of the current location 108 and / or current time 110 of the user device relative to the shareable location 114 and / or the posting time 116 of the social network post 112. The threshold parameter 122 will be referred to below. Figures 3A-3C The position resolution parameter 124 will be referred to below as Figures 4A-4C Discuss in more detail.
[0056] After the social network post 112 is input to the location accuracy model 120, the location accuracy model 120 may output a series of publishable items 126-1 to 126-N (collectively, publishable items 126), where N may represent any integer value and reflect a series of at least two publishable items. Each of the publishable items 126 may be associated with a location resolution (e.g., a modified location 128-1 and an updated modified location 128-N) and parameters for publishing each of the corresponding publishable items 126 (e.g., a first publishing parameter 130-1 and a second publishing parameter 130-N). The publishing parameters 130 may be an interrelated instance of the threshold parameters 122 and the location resolution parameters 124. In other words, the publishing parameters may define a corresponding location resolution for a corresponding temporal, spatial, or temporal-spatial threshold.
[0057] To better illustrate the interrelationship between the location accuracy model 120 and the publishable items 126, consider the following example: a user captures an image (e.g., social network post 112) on a smart phone (e.g., user device 104). The image (e.g., social network post 112) is associated with geographic coordinates corresponding to an address 123XY Street, City A, State B (e.g., shareable location 114) and a time 11:10AM (e.g., publish time 116). The user uploads (e.g., using social network application 118) a photo (e.g., social network post 112) to a social network (e.g., location accuracy model 120 of social networking system 102). In response to satisfying a set of parameters (e.g., first publish parameters 130-1), such as the user's location (e.g., current location 108) being more than one mile away from the geographic coordinates (e.g., shareable location 114) (e.g., distance threshold 300, as described below with respect to publishing). Figures 3A-3C discussed) for at least five minutes (e.g., as discussed below with respect to Figures 3A-3C duration threshold 302 discussed above) and the photo is at least five minutes old (e.g., as discussed below with respect to Figures 3A-3C304), the social network publishes a first version of the post (e.g., publishable item 126-1) that includes the generalized location of "A City, State B" (e.g., modified location 128-1). Subsequently, in response to another set of parameters (e.g., second publishing parameters 130-N) being met, such as the user's location (e.g., current location 108) being more than 10 miles (e.g., distance threshold 300) from the geographic coordinates (e.g., shareable location 114) for at least ten minutes (e.g., duration threshold 302), or the photo existing for at least 24 hours (e.g., time threshold 304), the social network system 102 publishes another version of the post (e.g., publishable item 126-N) that includes the more specific location of "XY Street, City A, State B" (e.g., updated modified location 128-N).
[0058] As can be seen from the above examples, embodiments of the present disclosure are configured to modify the specificity of location information associated with published content (such as photos, videos, and / or posts published on social networking sites). Modifying the specificity of location information can result in improved user privacy, security, and / or confidentiality.
[0059] Furthermore, hosting the location accuracy model 120 on the social networking system 102 is advantageous because it enables the social networking system 102 to provide dynamic location resolution modifications to all of its users as a feature of the social networking system 102, thereby improving the privacy, security, and / or confidentiality of hundreds, thousands, or millions of users simultaneously.
[0060] Figure 2 Another example social networking environment 200 is shown. The social networking environment 200 includes the above-mentioned Figure 1 For example, social network environment 200 includes social network system 102 communicatively coupled to user device 104 via network 106. In addition, user device 104 includes current location 108, current time 110, social network post 112, shareable location 114, posting time 116, and social network application 118.
[0061] However, the location accuracy model 120 and publishable items 126 are located in the social networking system 102. Figure 1 In comparison, Figure 2In the social networking environment 200 of FIG. 1 , the location accuracy model 120 and the publishable items 126 are stored on the user device 104. Storing the location accuracy model 120 and the publishable items 126 on the user device 104 may be advantageous for a number of reasons. For example, storing the location accuracy model 120 on the user device 104 may enable the location accuracy model 120 to be used by multiple social networking platforms. In other words, the location accuracy model 120 may be used as a standalone application on the user device 104, rather than being incorporated into a particular social networking platform (e.g., Figure 1 As another example advantage, storing the location accuracy model 120 and publishable items 126 on the user device 104 can increase security and privacy, as long as the user device 104 can "push" updated locations (e.g., modified location 128-1 and updated modified location 128-N) to the social networking system 102 when appropriate parameters (e.g., publishing parameters 130-1 and 130-N) are met. In other words, the social networking system 102 does not have access to the shareable location 114. Therefore, a hacked, infiltrated, or otherwise compromised social networking system 102 does not jeopardize the privacy, security, or confidentiality of users of the user device 104.
[0062] Reference now Figures 3A-3C , showing various configurations of the threshold parameter 122 according to various embodiments of the present disclosure. Figure 3A The spatial threshold parameters 122 are shown, including a distance threshold 300 and, optionally, a duration threshold 302. The distance threshold 300 may be used alone or in combination with the duration threshold 302, where the duration threshold 302 may be used to confirm or verify the appropriateness of the distance that satisfies the distance threshold 300. In embodiments where the distance threshold 300 is employed alone, the distance between the current location 108 of the user device 104 and the shareable location 114 of the social network post 112 must equal or exceed the distance threshold 300 in order for the updated modified location 128-N to be posted to the social networking system 102.
[0063] In embodiments employing a distance threshold 300 in conjunction with a duration threshold 302, the distance between the current location 108 of the user device 104 and the shareable location 114 of the social network post 112 must remain above the distance threshold 300 for a period of time equal to or exceeding the duration threshold 302 in order for the updated modified location 128-N to be posted to the social networking system 102. Advantageously, the duration threshold 302 can be used to ensure that the user actually leaves the shareable location 114. In other words, the duration threshold 302 can be used to filter out instances where the user temporarily exceeds the distance threshold 300 (e.g., by walking along the perimeter of the distance threshold 300). Example distance thresholds 300 include, but are not limited to: 0.16 kilometers (km) (0.1 miles), 1.61 kilometers (1.0 miles), 8.05 kilometers (5 miles), 16.1 kilometers (10 miles), etc. Example duration thresholds 302 include, but are not limited to, five minutes, ten minutes, thirty minutes, one hour, etc.
[0064] Figure 3B The time threshold parameters 122 including the time threshold 304 are shown, so that after the amount of time between the current time 110 and the publishing time 116 of the social network post 112 is above the time threshold 304, the social networking system 102 can publish a more accurate version of the shareable location 114 (e.g., the updated modified location 128-N). Example time thresholds 304 include, but are not limited to, ten minutes, thirty minutes, one hour, twelve hours, twenty-four hours, etc. The current time 110 can be collected from the user device 104 or the social networking system 102, even though the current time 110 is only shown in the user device 104 for simplicity. Advantageously, the use of the time threshold 304 does not necessarily require the social networking system 102 to maintain contact with the user device 104 to meet the various threshold parameters 122 (e.g., the social networking system 102 does not need to collect the current location 108 from the user device 104, which may be necessary when the distance threshold 300 is employed).
[0065] Figure 3C The space-time threshold parameters 122 are shown including a distance threshold 300, a duration threshold 302, and a time threshold 304. Figure 3CIn the illustrated embodiment, a more specific version of the location information (e.g., an updated modified location 128-N) may be published in response to some combination of spatial parameters and temporal parameters. For example, the second publishing parameter 130-N may require that the time between the current time 110 of the user device 104 and the publishing time 116 of the social network post 112 is above the time threshold 304 and / or the distance between the current location 108 of the user device 104 and the shareable location 114 of the social network post 112 is above the distance threshold 300 within a time period equal to or exceeding the duration threshold 302. When the second publishing parameter 130-N is met, the updated modified location 128-N may be published to the social networking system 102.
[0066] As another example, Figure 3C The threshold parameter 122 discussed in the example may employ an algorithm. For example, the score may be compared to a score threshold. In this example, the score may be based on a first value plus a second value, wherein the first value may be equal to a first weight parameter multiplied by a first ratio of a distance between the shareable location 114 and the current location 108 divided by a distance threshold 300, and wherein the second value may be equal to a second weight parameter multiplied by a second ratio of a time between the current time 110 and the publishing time 116 divided by a time threshold 304. In this example, the duration threshold 302 may or may not be used as a factor in determining the first ratio. Further, in this example, a score exceeding the score threshold may cause the updated modified location 128-N to be published to the social networking system 102.
[0067] Figures 4A-4C Various position resolution parameters 124 are represented according to various embodiments of the present disclosure. Figure 4A The location resolution parameters 124 are shown to include an ontology location resolution model 400. The ontology location resolution model 400 may define variations in location specificity according to a hierarchical language-based model. For example, an exemplary hierarchy of location resolutions from the ontology location resolution model 400 may include the following classifications, in order from most general to most specific: country, region, state, county, town, address. Advantageously, the ontology location resolution model 400 may be well suited for natural language processing (NLP) applications, such as those that modify location resolutions created using text descriptors.
[0068] Figure 4BThe location resolution parameters 124 including the discretized location resolution model 402 are shown. The discretized location resolution model 402 may define variations in location specificity according to a grid resolution (e.g., grid tile size). For example, in order from most general to most specific, the example discretized location resolution model 402 may include: 1,000 square mile grid, 500 square mile grid, 100 square mile grid, 50 square mile grid, 10 square mile grid, 1 square mile grid, 0.1 square mile grid, 0.01 square mile grid. Thus, the discretized location resolution model 402 may identify locations as grid tiles, where the varying sizes of the grid tiles correspond to varying location resolutions.
[0069] Figure 4C The location resolution parameters 124 are shown including a randomized location resolution model 404. The randomized location resolution model 404 can define variations in location specificity based on randomly generated numbers. For example, for a shareable location 114 defined using geographic coordinates (such as 43°13'54.8"N 93°15'22.4"W), the randomized location resolution model 404 can generate variations in location specificity by generating random numbers in the portion of the geographic coordinates marked by an "X", where increased location specificity is achieved with fewer randomly generated numbers. For example, consider the following series of positions from least specificity to most specificity output by the randomized position resolution model 404: 43°XX'XX.X”N 93°XX'XX.X”W; 43°1X'5X.X”N 93°1X'XX.X”W; 43°13'XX.X”N 93°15'XX.X”W; 43°13'5X.X”N 93°15'2X.X”W; 43°13'54.8”N 93°15'22.4”W.
[0070] As another example, for example locations described in decimal degrees (DD) format (e.g., 43.231878, -93.256232), the randomized location resolution model 404 may generate location-specific variations by generating random numbers in the locations marked by “X” as follows: 43.XXXXXX, -93.XXXXXX; 43.23XXXX, -93.25XXXX; 43.2318XX, -93.2562XX; 43.231878, -93.256232.
[0071] Figures 5A-5C Various graphical examples of a position accuracy model 120 are shown according to various embodiments of the present disclosure. Figures 5A-5C Each of the diagrams shows a y-axis that can represent the degree of change in position accuracy (according to, for example, reference Figures 4A-4CThe position resolution parameter 124 of the various embodiments discussed herein and wherein the x-axis may represent a spatial and / or temporal characteristic (e.g., based on a reference such as Figures 3A-3C Graphs of threshold parameters 122) for various embodiments discussed.
[0072] Figure 5A An example diagram 500A representing a spatially based position accuracy model 120 is shown in accordance with some embodiments of the present disclosure. Figure 5A As shown, the x-axis can represent the distance between the current location 108 and the shareable location 114, where closer distances are represented as being closer to the origin (i.e., the lower left of the graph 500A) and greater distances are represented as a function of the distance from the origin. The y-axis can represent the accuracy of the location, where more generalized, vague, or imprecise locations are represented as being closer to the origin, and more precise, specific, or accurate locations are represented as being farther from the origin.
[0073] Thus, the initial publishable item 126-1 may be associated with a first location 502A (e.g., state). At a first distance threshold 504A (e.g., one mile), the location accuracy model 120 may be configured to publish a second location 506A (e.g., city, state). At a second distance threshold 508A (e.g., five miles), the location accuracy model 120 may be configured to publish a third location 510A (e.g., street, city, state). At a third distance threshold 512A (e.g., ten miles), the location accuracy model 120 may be configured to publish a fourth location 514A (e.g., full address).
[0074] Figure 5B An example graph 500B representing a time-based position accuracy model 120 is shown in accordance with some embodiments of the present disclosure. Figure 5B As shown, the x-axis may represent the time between the current time 110 and the published time 116, where a shorter amount of time is represented as being closer to the origin and a greater amount of time between the current time 110 and the published time 116 is represented as being further away from the origin. The y-axis may represent the accuracy of the location, where a more generalized, vague, or imprecise location is represented as being closer to the origin and a more precise, specific, or accurate location is represented as being further away from the origin.
[0075] Thus, the initial publishable item 126-1 may be associated with a first location 502B (e.g., state). At a first time threshold 504B (e.g., thirty minutes), the location accuracy model 120 may be configured to publish a second location 506B (e.g., city, state). At a second time threshold 508B (e.g., two hours), the location accuracy model 120 may be configured to publish a third location 510B (e.g., street, city, state). At a third time threshold 512B (e.g., twenty-four hours), the location accuracy model 120 may be configured to publish a fourth location 514B (e.g., full address).
[0076] Figure 5C An example graph 500C representing the space-time position accuracy model 120 is shown in accordance with some embodiments of the present disclosure. Figure 5C As shown, the x-axis may represent time and distance scores from the shareable location 114 to the current location 108 and from the publishing time 116 to the current time 110, with lower scores representing closer to the origin and larger scores representing farther from the origin. The y-axis may represent location accuracy, with more generalized, vague, or imprecise locations represented as closer to the origin and more precise, specific, or accurate locations represented as farther from the origin.
[0077] Thus, the initial publishable item 126-1 may be associated with a first location 502C (e.g., state). At a first space-time threshold 504C (e.g., at least one mile between the shareable location 114 and the current location 108, and at least thirty minutes between the publish time 116 and the current time 110), the location accuracy model 120 may be configured to publish a second location 506C (e.g., city, state). At a second space-time threshold 508C (e.g., at least five miles between the shareable location 114 and the current location 108, and at least two hours between the publish time 116 and the current time 110), the location accuracy model 120 may be configured to publish a third location 510C (e.g., street, city, state). At a third space-time threshold 512C (e.g., at least ten miles between the shareable location 114 and the current location 108, and at least twenty-four hours between the publish time 116 and the current time 110), the location accuracy model 120 may be configured to publish a fourth location 514C (e.g., full address).
[0078] Although the foregoing examples primarily discuss position accuracy with respect to a hierarchical ontology (e.g., as in ontology position resolution model 400), this should not be construed as limiting, and other methods and techniques for conveying varying degrees of position accuracy (e.g., discretized position resolution model 402, randomized position resolution model 404, etc.) may be substituted into the foregoing examples.
[0079] In addition, despite Figures 5A-5C A stepwise change in position resolution as a result of a binary threshold parameter is shown, but other alternatives exist. For example, instead of a threshold, an algorithm may be used to generate a continuously variable position resolution as a function of spatial and / or temporal characteristics.
[0080] Figure 6 An example publishing sequence 600 of social network posts 112 associated with shareable locations 114 is shown according to some embodiments of the present disclosure. Figure 1 ) or by a user device 104 (e.g., Figure 2 ) generates corresponding posting items 126 in the posting sequence 600. When the posting sequence 600 is generated by the social networking system 102, the social networking system 102 may also publish the corresponding posting items 126 of the posting sequence 600 when the appropriate posting parameters 130 are met. Conversely, when the posting sequence 600 is generated by the user device 104, the user device 104 may send the corresponding posting items 126 to the social networking system 102 for posting when the corresponding posting parameters 130 are met.
[0081] The publishing sequence 600 includes a first publishing item 126-1 having a modification location 1 128-1 published according to a first set of publishing parameters 130-1. The publishing sequence 600 also includes a second publishing item 126-2 that is similar to the first publishing item 1 126-1, except that it has an updated modification location 2 128-2, which can be a more specific location than the modification location 1 128-1 and a less specific location than the shareable location 114. The second publishing item 126-2 is published when the second set of publishing parameters 130-2 is satisfied.
[0082] The publishing sequence 600 also includes a third publishing item 126-3 that is similar to the first publishing item 126-1 and the second publishing item 126-2, but has an updated modification location 3 128-3, which may be a more specific location than the updated modification location 2 128-2, but a less specific location than the sharable location 114. The third publishing item 126-3 is published when the third set of publishing parameters 130-3 is satisfied.
[0083] The publishing sequence 600 also includes a fourth publishing item 126-4 that is similar to the first publishing item 126-1, the second publishing item 126-2, and the third publishing item 126-3, except that it has an updated modification position 4 128-4, which can be consistent with (e.g., equal to) the sharable position 114. The fourth publishing item 126-4 can be published in response to satisfying the fourth set of publishing parameters 130-4.
[0084] like Figure 6 As shown, location accuracy may be increased as a function of time and / or distance parameters according to the published parameters 130-1 through 130-4. For example, modified location 1 128-1 may indicate no location information or an unknown location, updated modified location 2 128-2 may indicate a state, updated modified location 3 128-3 may indicate a city and state, and updated modified location 4 128-4 may indicate specific geographic coordinates associated with the shareable location 114. Although Figure 6 4. Four versions of the release project 126 are shown in FIG. 4, but this is merely an example, and in various embodiments of the present disclosure, more or fewer versions of the release project 126 may be released.
[0085] although Figure 6 Modifications to location information are discussed, but aspects of the disclosure may also modify other aspects of the published item 128 to facilitate a granular level of location specificity. As one example, aspects of the disclosure may be configured to lighten, darken, distort, blur, or otherwise modify the background of a photo (or portions of a photo, such as street signs or building architecture) to reduce the visibility of identifiable markers in the background that may indicate a shareable location 114.
[0086] Figure 7 A flow chart of an exemplary method 700 for increasing the privacy, security, and / or confidentiality of a user of a social networking system 102 using a location accuracy model 120 according to some embodiments of the present disclosure is shown. The method 700 may be implemented by the social networking system 102, a user device 104, a computer, a processor, or hardware and / or software in different configurations. In some embodiments, the method 700 is implemented by Figure 1 The social networking system 102 in the social networking environment 100 of the present invention may be executed by Figure 2 Executed by a user device 104 in the social networking environment 200.
[0087] Operation 702 includes inputting the social network post 112 into the location accuracy model 120. In some embodiments, the location accuracy model 120 is stored on one or more computer-readable storage media. In some embodiments, the social network post 112 is associated with a posting time 116 and a shareable location 114. In some embodiments, instead of the social network post 112, a geo-tagged post is input into the location accuracy model 120, and the geo-tagged post is associated with a geographic location.
[0088] Operation 704 includes outputting a modified shareable location (e.g., modified location 128-1) from the location accuracy model 120. Although not explicitly shown, operation 704 may include comparing the amount of time between the publishing time 116 and the current time 110 and / or the distance between the shareable location 114 and the current location 108 to one or more threshold parameters 122 (e.g., distance threshold 300, duration threshold 302, and / or time threshold 304). Based on indicators from the threshold parameters 122, the location accuracy model 120 may determine an appropriate location resolution according to the location resolution parameters 124 (e.g., the native location resolution model 400, the discretized location resolution model 402, and / or the randomized location resolution model 404).
[0089] Operation 706 includes sending the social network post 112 (or geotagged post) along with the modified shareable location 128-1 to the social networking system 102. Operation 706 may include sending the post across a network (e.g., network 106) or within a system (e.g., between respective components of the social networking system 102 or user device 104).
[0090] Operation 708 includes intermittently updating the social network post 112 by sending a series of updated modified shareable locations (e.g., updated modified locations 128-2) to the social networking system 102. For example, operation 708 may include creating a posting sequence 600 having different degrees of location accuracy (e.g., determined according to the location resolution parameter 124) as a result of satisfying various posting parameters 130 (e.g., determined according to the threshold parameter 122).
[0091] Figure 8 1 is a flow chart illustrating another example method 800 for employing a location accuracy model 120 to increase privacy, security, and / or confidentiality of a user of a user device 104 in accordance with some embodiments of the present disclosure. The method 800 may be implemented by a user device 104, a social networking system 102, a computer, a processor, or hardware and / or software in different configurations. In some embodiments, the method 800 is implemented by Figure 1 The social networking environment 100 is implemented by the social networking system 102, and in other embodiments, the method 800 is implemented by Figure 2 The social networking environment 200 is implemented by the user device 104.
[0092] Operation 802 includes configuring the location accuracy model 120 for a user profile. In some embodiments, configuring the location accuracy model 120 includes correlating one or more threshold parameters 122 with one or more location resolution parameters 124. In other words, each defined threshold (from the threshold parameters 122) may be associated with a corresponding location resolution (from the location resolution parameters 124). The thresholds and location resolutions may be defined automatically (e.g., using machine learning, deep learning, or another automated mechanism) or manually (e.g., based on user input or administrator input to the location accuracy model 120).
[0093] Operation 804 includes inputting a social network post 112 from a user device 104 to a location accuracy model 120. In some embodiments, operation 804 includes receiving a social network post 112 at a social networking system 102 or at a user device 104. The social network post 112 may include a shareable location 114 and a posting time 116. In some embodiments, operation 804 includes generating a modified location 128-1 by the location accuracy model 120 and based on the shareable location 114, the current location 108, the posting time 116, the current time 110, the threshold parameters 122, and / or the location resolution parameters 124. In some embodiments, the modified location 128-1 is less specific than the shareable location 114. In some embodiments, the modified location 128-1 is a null location value, an unknown location, a generalized location (e.g., a country or state), or another vague, general, random, or non-specific location information.
[0094] Operation 806 includes publishing (by the social networking system 102 ) or sending the social networking post 112 along with the modified location 128 - 1 to the social networking system 102 for publication (by the user device 104 ).
[0095] Operation 808 includes determining whether any of the publishing parameters 130 are satisfied, where the publishing parameters 130 may be comprised of one or more threshold parameters 122 and associated with a corresponding position resolution from the position resolution parameters 124 .
[0096] If none of the publishing parameters 130 are satisfied (808: No), the method 800 returns to operation 808 and continues to continuously, semi-continuously, or intermittently determine whether any of the publishing parameters 130 are satisfied. If one of the publishing parameters 130 is satisfied (808: Yes), the method 800 proceeds to operation 810.
[0097] Operation 810 includes modifying the social network post 112 to include the updated modified location 128-N. In some embodiments, operation 810 includes publishing (by the social networking system 102) or sending (by the user device 104) the social network post 112 to the social networking system 102 along with the updated modified location 128-2. In some embodiments, the updated modified location 128-N is more specific than the modified location 128-1, but less specific than the shareable location 114.
[0098] Operation 812 includes determining whether the updated modified location 128-2 is a shareable location 114. If not (812: No), the method 800 returns to operation 808 continuously, semi-continuously, or intermittently and determines whether another publishing parameter 130 is satisfied. If the updated modified location 128-2 is a shareable location 114 (812: Yes), the method proceeds to operation 814 and ends.
[0099] Fig. 9A 1 is a flow chart showing an example method 900 for configuring the location accuracy model 120 according to some embodiments of the present disclosure. The method 900 may be implemented by the social networking system 102, the user device 104, a computer, a processor, or another configuration of hardware and / or software. In some embodiments, the method 900 is Figure 8 A sub-method of operation 802.
[0100] Operation 902 includes inputting historical data into a machine learning model. The historical data may include, for example, social network posts 112 with shareable locations 114 and posting times 116 and data from a user device 104, such as a current location 108 and / or a current time 110. In some embodiments, the historical data is from a single user, while in other embodiments, the historical data is from multiple users. Collectively, this information may be used to approximate, predict, or otherwise model user behavior around the time an item was posted to the social networking system 102.
[0101] Operation 904 includes generating a learned location accuracy model 120 based on the historical data accumulated in operation 902. In some embodiments, operation 904 includes executing any number of machine learning algorithms, such as, but not limited to, decision tree learning, association rule learning, artificial neural networks, deep learning, inductive logic programming, support vector machines, clustering, Bayesian networks, reinforcement learning, representation learning, similarity / metric training, sparse dictionary learning, genetic algorithms, rule-based learning, and / or other machine learning techniques.
[0102] For example, operation 904 may be configured to perform machine learning on the historical data using one or more of the following example techniques: K-nearest neighbor (KNN), learning vector quantization (LVQ), self-organizing map (SOM), logistic regression, ordinary least squares regression (OLSR), linear regression, stepwise regression, multivariate adaptive regression splines (MARS), ridge regression, least absolute shrinkage and selection operator (LASSO), elastic net, least angle regression (LARS), probabilistic classifier, naive Bayes classifier, binary classifier, linear classifier, hierarchical classifier, canonical correlation analysis (CCA), factor analysis, independent component analysis (ICA), linear discriminant analysis (LDA), multidimensional scaling (MDS), non-negative metric decomposition (NMF), partial least squares regression (PLSR), principal component analysis (PCA), principal component regression (PCR), Sammon map, t-distributed stochastic neighbor embedding (t-SNE) , guided clustering, ensemble average, gradient boosted decision tree (GBRT), gradient boosting machine (GBM), inductive bias algorithm, Q-learning, state-action-reward-state-action (SARSA), temporal difference (TD) learning, a priori algorithm, equivalence class transformation (ECLAT) algorithm, Gaussian process regression, gene expression programming, group data processing method (GMDH), inductive logic programming, instance-based learning, logistic model tree, information fuzzy network (IFN), hidden Markov model, Gaussian naive Bayes, multinomial Bayes, average-correlation estimator (AODE), Bayesian network (BN), classification and regression tree (CART), chi-square automatic interaction detection (CHAID), expectation-maximization algorithm, feedforward neural network, logistic learning machine, self-organizing map, single linkage clustering, fuzzy clustering, hierarchical clustering, Boltzmann machine, convolutional neural network, recurrent neural network, hierarchical temporal memory (HTM), and / or other machine learning techniques.
[0103] Operation 906 includes applying the learned location accuracy model 120 to the received or detected social network post 112, such as reference Figure 7-8 discussed in more detail.
[0104] Fig. 9B Flowchart showing an example method 910 for metering the use of location accuracy model 120 according to some embodiments of the present disclosure. Method 900 may be implemented by social networking system 102, user device 104, computer, processor, or another configuration of hardware and / or software. In some embodiments, method 910 is implemented as Figure 7-9AIn some embodiments, method 910 is implemented in response to downloading software having dynamic shared location modification functionality from a remote data processing system. For example, the dynamic shared location modification functionality may be downloaded to user device 104 as an application that interacts with one or more social network applications 118 to improve the user's privacy, security, and / or confidentiality.
[0105] Operation 912 includes metering usage of the dynamic shared location modification functionality. The metered usage may include one or more of the following: an amount of time used on a single device (or a single user profile), an accumulated amount of time used on a specified set of devices (or a specified set of user profiles), a number of devices (or a number of user profiles) to which the dynamic shared location modification functionality is provided, a number of social network posts 112 input to the location accuracy model 120, a number of publishable items 126 output from the location accuracy model 120, and / or other metering metrics.
[0106] Operation 914 includes generating an invoice based on metering usage of the dynamic shared location modification functionality. The invoice may be generated according to a predetermined static or variable rate for a predetermined amount of time. The invoice may include information such as, but not limited to, the amount of usage per device (or per user profile), the rate of usage per device (or per user profile), the identification of each device (or user profile) using the dynamic shared location modification functionality, the time interval associated with the invoice, the total cost, and the like.
[0107] Fig.10 1 shows a block diagram of an example computer 1000 according to some embodiments of the present disclosure. In various embodiments, the computer 1000 may execute Figure 7 -The method and / or implementation described in any one or more of 9 Figure 1-6 In some embodiments, computer 1000 receives instructions related to the above methods and functions by downloading processor-executable instructions from a remote data processing system via network 1050. In other embodiments, computer 1000 provides instructions for the aforementioned methods and / or functions to a client machine, so that the client machine performs the method or a portion of the method based on the instructions provided by computer 1000. In some embodiments, computer 1000 is incorporated into (or functionality similar to computer 1000 is virtually provided to) any one or more of social networking system 102, user device 104, or another aspect of the present disclosure.
[0108] Computer 1000 includes memory 1025 , storage 1030 , interconnect 1020 (eg, a bus), one or more CPUs 1005 (also referred to herein as processors), I / O device interface 1010 , I / O devices 1012 , and network interface 1015 .
[0109] Each CPU 1005 obtains and executes programming instructions stored in memory 1025 or storage device 1030. Interconnect 1020 is used to move data, such as programming instructions, between CPU 1005, I / O device interface 1010, storage device 1030, network interface 1015 and memory 1025. Interconnect 1020 can be implemented using one or more buses. In various embodiments, CPU 1005 can be a single CPU, multiple CPUs, or a single CPU with multiple processing cores. In some embodiments, CPU 1005 can be a digital signal processor (DSP). In some embodiments, CPU 1005 includes one or more 3D integrated circuits (3DIC) (e.g., 3D wafer level packaging (3DWLP), 3D interposer-based integration, 3D stacked IC (3D-SIC), monolithic 3D IC, 3D heterogeneous integration, 3D system-level packaging (3DSiP) and / or package-on-package (PoP) CPU configuration). Memory 1025 is generally included to represent random access memory (e.g., static random access memory (SRAM), dynamic random access memory (DRAM), or flash memory). Storage device 1030 is generally included to represent non-volatile memory, such as a hard disk drive, a solid-state device (SSD), a removable memory card, an optical storage device, or a flash memory device. In alternative embodiments, storage device 1030 may be replaced by a storage area network (SAN) device, a cloud, or other device connected to computer 1000 via I / O device interface 1010 or connected to network 1050 via network interface 1015.
[0110] In some embodiments, memory 1025 stores instructions 1060. However, in various embodiments, instructions 1060 are stored partially in memory 1025 and partially in storage 1030, or they are stored entirely in memory 1025 or entirely in storage 1030, or they are accessed over network 1050 via network interface 1015.
[0111] Instruction 1060 may be used to execute Figure 7 -9 any part or all of any method and / or implementation Figure 1-6 In some embodiments, the instructions 1060 may be software configured to provide dynamic shared location modification functionality when executed by hardware.
[0112] In various embodiments, I / O device 1012 includes an interface capable of presenting information and receiving input. For example, I / O device 1012 can present information to a user interacting with computer 1000 and receive input from the user.
[0113] The computer 1000 is connected to a network 1050 via a network interface 1015. The network 1050 may include a physical, wireless, cellular or different network.
[0114] It is understood that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings set forth herein is not limited to cloud computing environments. Instead, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.
[0115] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly provisioned and released with minimal management effort or interaction with the provider of the service. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0116] Features are as follows:
[0117] On-demand self-service: Cloud consumers can unilaterally and automatically provision computing capabilities, such as server time and network storage, as needed without requiring manual interaction with the service provider.
[0118] Wide Area Network Access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0119] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. There is location independence in the sense that consumers typically do not control or know the exact location of the resources provided, but are able to specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0120] Rapid elasticity: In some cases, the ability to scale out quickly and in quickly can be provisioned quickly and elastically. To the consumer, the capacity available for provisioning often appears to be unlimited and can be purchased in any quantity at any time.
[0121] Metered Services: Cloud systems automatically control and optimize resource usage by employing metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services employed.
[0122] The service model is as follows:
[0123] Software as a Service (SaaS): The capability provided to the consumer is to use the provider's applications running on the cloud infrastructure. The applications are accessible from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including the network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
[0124] Platform as a Service (PaaS): The capability provided to consumers is to deploy consumer-created or acquired applications onto cloud infrastructure, where the applications are created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possible configuration of the application hosting environment.
[0125] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, networking, and other basic computing resources on which consumers can deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0126] The deployment model is as follows:
[0127] Private Cloud: The cloud infrastructure is operated only for the organization. It can be managed by the organization or a third party and can exist inside or outside the building.
[0128] Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premises or off-premises.
[0129] Public cloud: Cloud infrastructure is available to the general public or large industrial groups and is owned by an organization that sells cloud services.
[0130] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community or public) that remain a unique entity but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0131] The cloud computing environment is service-oriented, with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure consisting of a network of interconnected nodes.
[0132] Reference now Fig.11 , an illustrative cloud computing environment 50 is described. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which a local computing device used by a cloud consumer can communicate, such as a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, and / or an automobile computer system 54N. The nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described above. This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which the cloud consumer does not need to maintain resources on a local computing device. It will be appreciated that Fig.11 The types of computing devices 54A-N shown in are intended to be illustrative only, and computing node 10 and cloud computing environment 50 may communicate with any type of computerized device over any type of network and / or network addressable connection (eg, using a web browser).
[0133] Reference now Fig.12 , showing the cloud computing environment 50 ( Fig.11 ) provides a set of functional abstraction layers. It should be understood in advance that Fig.12 The components, layers, and functions shown in are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0134] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: host 61; server 62 based on RISC (Reduced Instruction Set Computer) architecture; server 63; blade server 64; storage device 65; and network and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0135] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
[0136] In one example, the management layer 80 may provide the functionality described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources for performing tasks within a cloud computing environment. Metering and pricing 82 provides cost tracking when resources are employed in a cloud computing environment, as well as billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management so that the required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-scheduling and procurement of cloud computing resources, where future demand is anticipated based on the SLA.
[0137] The workload layer 90 provides examples of functions that can employ a cloud computing environment. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analysis processing 94; transaction processing 95; and dynamic shared location modification functions 96.
[0138] Embodiments of the present invention may be systems, methods and / or computer program products at any possible level of technical detail integration. A computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform various aspects of the present invention.
[0139] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be interpreted as a temporary signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (e.g., a light pulse by an optical fiber cable), or an electrical signal transmitted by a wire.
[0140] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.
[0141] The computer-readable program instructions for performing the operation of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages (including object-oriented programming languages, such as Smalltalk, C++, etc.) and process programming languages (such as "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider via the Internet). In some embodiments, in order to perform various aspects of the present invention, an electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute a computer-readable program instruction by using the state information of the computer-readable program instructions to personalize the electronic circuit.
[0142] Various aspects of the present invention are described herein with reference to the flow chart and / or block diagram of the method, device (system) and computer program product according to embodiments of the present invention. It will be understood that each frame of the flow chart and / or block diagram and the combination of frames in the flow chart and / or block diagram can be implemented by computer-readable program instructions.
[0143] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0144] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0145] Flowcharts and block diagrams in the accompanying drawings show possible architectures, functions and operations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each frame in a flow chart or a block diagram can represent a module, a segment or a subset of an instruction, which includes one or more executable instructions for realizing a specified logical function. In some alternative embodiments, the function noted in the frame may not occur in the order noted in the figure. For example, two frames shown in succession can actually be performed substantially simultaneously, or these frames can sometimes be performed in reverse order, depending on the function involved. It will also be noted that the combination of the frames in each frame of the block diagram and / or the flow chart illustration and the block diagram and / or the flow chart illustration can be realized by a dedicated hardware-based system that performs a specified function or action or performs a combination of special-purpose hardware and computer instructions.
[0146] Although it is understood that the process software (e.g., stored on a computer) may be downloaded via a storage medium such as a CD, DVD, etc. Fig.10 Any instruction in the instructions 1060 and / or is configured to execute Figure 7 -9 Any software that uses any subset of the methods described in Figure 1-6The process software may be deployed by manually loading the process software directly into the client, server, and agent computers (without any functions discussed in the above), but the process software may also be automatically or semi-automatically deployed into the computer system by sending the process software to a central server or a group of central servers. The process software is then downloaded to the client computer that will execute the process software. Alternatively, the process software is sent directly to the client system via email. The process software is then separated into a directory or loaded into a directory by executing a set of program instructions that separate the process software into directories. Another alternative is to send the process software directly to a directory on the client computer hard drive. When there is a proxy server, the process will select the proxy server code, determine which computers the proxy server code is placed on, send the proxy server code, and then install the proxy server code on the agent computer. The process software will be sent to the proxy server, and then it will be stored on the proxy server.
[0147] Embodiments of the invention may also be delivered as part of a service engagement with a client company, non-profit organization, government entity, internal organizational structure, etc. These embodiments may include configuring a computer system to perform, and deploying software, hardware, and web services that implement some or all of the methods described herein. These embodiments may also include analyzing the operations of a client, creating recommendations in response to the analysis, building a system that implements a subset of the recommendations, integrating the system into existing processes and infrastructure, metering the use of the system, allocating charges to users of the system, and billing, invoicing (e.g., generating invoices), or otherwise receiving payment for the use of the system.
[0148] The terms used herein are only used for the purpose of describing specific embodiments, and it is not intended to limit various embodiments. As used herein, unless the context clearly indicates otherwise, the singular forms "one", "an" and "the" are intended to also include plural forms. It will also be understood that the terms "including" and / or "comprising" when used in this specification specify the existence of stated features, integers, steps, operations, elements and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups. In the previous detailed description of the example embodiments of various embodiments, reference is made to the accompanying drawings (wherein the same reference numerals represent the same elements), which form a part of the present invention, and wherein specific example embodiments in which various embodiments can be practiced are illustrated by way of illustration. These embodiments are described in sufficient detail to enable those skilled in the art to practice these embodiments, but other embodiments may be used, and logical, mechanical, electrical and other changes may be made without departing from the scope of the various embodiments. In the previous description, many specific details are set forth to provide a thorough understanding of the various embodiments. However, various embodiments may be implemented without these specific details. In other examples, in order not to obscure the embodiments, known circuits, structures and techniques are not shown in detail.
[0149] Different instances of the word "embodiment" used in this specification do not necessarily refer to the same embodiment, but they may refer to the same embodiment. Any data and data structures shown or described herein are examples only, and in other embodiments, different data amounts, data types, number and type of fields, field names, number and type of rows, records, entries or data organizations may be used. In addition, any data may be combined with logic, so that a separate data structure may not be required. Therefore, the above detailed description should not be construed as restrictive.
[0150] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements existing in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
[0151] Although the present disclosure has been described in terms of specific embodiments, it is contemplated that changes and modifications thereof will become apparent to those skilled in the art. Therefore, the appended claims are intended to be interpreted as covering all such changes and modifications that fall within the true spirit and scope of the present disclosure.
[0152] Any advantages discussed in the present disclosure are example advantages, and there may be embodiments of the present disclosure that achieve all, some, or none of the advantages discussed while remaining within the spirit and scope of the present disclosure.
[0153] Some non-limiting example embodiments of the present disclosure will now be described:
[0154] First embodiment: A computer-implemented method includes inputting a social network post into a location accuracy model, the location accuracy model being configured to modify a location resolution of the social network post, wherein the social network post is associated with a first time and a shareable location; publishing the social network post together with a modified shareable location, wherein the modified shareable location is a generalized version of the shareable location; determining that parameters associated with the location accuracy model are satisfied; and modifying the social network post to include an updated modified shareable location, wherein the updated modified shareable location is more specific than the modified shareable location and less specific than the shareable location.
[0155] A second embodiment: according to the limitation of embodiment 1, wherein the location accuracy model is stored on the social networking system, and wherein the social networking post is received from a user device.
[0156] A third embodiment: according to the limitation of embodiment 1, wherein the location accuracy model is stored on the user device, and wherein the social network post is received from the user device.
[0157] A fourth embodiment: according to the limitation of any one of embodiments 1-3, wherein the updated modified sharable location is based on an amount of time between the first time and the current time.
[0158] A fifth embodiment: according to the limitation of any one of embodiments 1-4, wherein the modified sharable location is based on the distance between the sharable location and the current location of the user device that creates the social network post.
[0159] Sixth embodiment: According to the limitation of any one of embodiments 1-5, the method further includes: determining that a second parameter associated with the location accuracy model is satisfied; and modifying the social network post to include the shareable location.
[0160] Seventh embodiment: According to the limitation of any one of embodiments 1-3 or 6, wherein the parameter is the amount of time between the first time and the current time, and wherein the amount of time is greater than the time threshold.
[0161] Eighth embodiment: According to the limitation of any one of embodiments 1-3 or 6-7, wherein the parameter is the distance between the sharable location and the current location, and wherein the distance is greater than a distance threshold.
[0162] Ninth embodiment: A limitation according to embodiment 8, wherein the distance is greater than the distance threshold for an amount of time at least equal to the duration threshold.
[0163] Tenth embodiment: A limitation according to any one of embodiments 1-3, wherein the parameter is a score based on the amount of time between the first time and the current time and the distance between the sharable location and the current location, and wherein the score is greater than a score threshold.
[0164] Eleventh embodiment: According to the limitations of embodiment 10, in response to the distance between the shareable location and the current location being greater than the distance threshold by at least the duration threshold, and the time between the first time and the current time being greater than the time threshold, the score satisfies the score threshold.
[0165] A twelfth embodiment: According to the limitation of embodiment 10, the amount of time between the first time and the current time is associated with a first weight parameter, and the distance between the sharable location and the current location is associated with a second weight parameter.
[0166] Thirteenth embodiment: According to the limitation of any one of embodiments 1-10, the position accuracy model is based on the ontology position resolution model, wherein the ontology position resolution model includes a position-specific ontology hierarchy.
[0167] A fourteenth embodiment: According to the limitation of any one of embodiments 1-10, the location accuracy model is based on a discretized location resolution model, wherein the discretized location resolution model includes a varying map resolution.
[0168] A fifteenth embodiment: According to the limitation of any one of embodiments 1-10, the location accuracy model is based on a randomized location resolution model, wherein the randomized location resolution model is configured to randomize the variation portion of the sharable location.
[0169] A sixteenth embodiment: According to the limitation of any one of embodiments 1-15, the method is performed according to software downloaded from a remote data processing system to the social networking system.
[0170] Seventeenth embodiment: According to the limitations of embodiment 16, the method also includes: metering the use of the software; and generating an invoice based on the metered use.
[0171] Eighteenth embodiment: According to the limitations of any one of embodiments 1-17, the method is executed by a system including one or more processors and one or more computer-readable storage media; the one or more computer-readable storage media store program instructions, which are configured to enable the one or more processors to execute the method when executed by the one or more processors.
[0172] Nineteenth embodiment: According to the limitations of any one of embodiments 1-17, the method is executed by a computer program product, the computer program product includes one or more computer-readable storage media and program instructions stored together on the one or more computer-readable storage media, and the program instructions are configured to enable one or more processors to jointly execute the method.
[0173] Twentieth embodiment: A computer-implemented method comprising: inputting a social network post received from a user device into a location accuracy model executed as an application on the user device, wherein the social network post is associated with a first time and a shareable location; outputting a modified shareable location by the location accuracy model; and sending the social network post together with the modified shareable location to a social networking system, wherein the modified shareable location is a generalized version of the shareable location.
[0174] Twenty-first embodiment: According to the limitations of embodiment 20, it also includes sending the social network post together with the updated modified sharable location to the social networking system at a second time, wherein the updated modified sharable location is less specific than the sharable location and more specific than the modified sharable location.
[0175] Embodiment 22: A limitation according to any one of embodiments 20-21, wherein the modified sharable location is a function of the amount of time between the first time and the current time.
[0176] Embodiment 23: According to the limitation of any one of embodiments 20-22, the modified sharable location is a function of the distance between the sharable location and the current location of the user device.
[0177] Twenty-fourth embodiment: A computer-implemented method includes inputting geo-tagged posts received from a user device into a location accuracy model, wherein the geo-tagged posts are associated with a first time and a geographic location; outputting a generalized geographic location from the location accuracy model; publishing the geo-tagged posts together with the generalized geographic location; and intermittently updating the geo-tagged posts by publishing a series of updated generalized geographic locations based on the location accuracy model and the location of the user device.
[0178] Embodiment 25: According to the limitations of embodiment 24, wherein the location accuracy model is configured to modify the location resolution of the geographic location based on the amount of time between the current time and the first time and the distance between the geographic location and the location of the user device.
Claims
1. A computer-implemented method comprising: inputting a social network post into a location accuracy model stored on a user device and configured to modify a location resolution of the social network post, wherein the social network post is received from the user device and is associated with a first time and a shareable location at which the social network post was created; publishing the social network post along with a modified sharable location, wherein the modified sharable location is a generalized version of the sharable location; determining that parameters associated with the position accuracy model are satisfied; and The social network post is modified to include an updated modified sharable location, wherein the updated modified sharable location is more specific than the modified sharable location and less specific than the sharable location.
2. The method according to claim 1, wherein: The updated modified sharable location is based on an amount of time between the first time and a current time.
3. The method according to claim 1, wherein: The modified sharable location is based on a distance between the sharable location and a current location of a user device that created the social network post.
4. The method according to claim 1, further comprising: determining that a second parameter associated with the position accuracy model is satisfied; as well as The social network post is modified to include the shareable location.
5. The method according to claim 1, wherein: The parameter is an amount of time between the first time and a current time, and wherein the amount of time is greater than a time threshold.
6. The method according to claim 1, wherein: The parameter is a distance between the sharable location and a current location, and wherein the distance is greater than a distance threshold.
7. The method according to claim 6, wherein: The distance is greater than the distance threshold for an amount of time at least equal to a duration threshold.
8. The method according to claim 1, wherein: The parameter is a score based on an amount of time between the first time and a current time and a distance between the sharable location and a current location, and wherein the score is greater than a score threshold.
9. The method according to claim 8, wherein: The score satisfies the score threshold in response to a distance between the sharable location and the current location being greater than a distance threshold and a time between the first time and the current time being greater than a time threshold for at least a duration threshold.
10. The method according to claim 8, wherein: An amount of time between the first time and the current time is associated with a first weight parameter, and wherein a distance between the sharable location and the current location is associated with a second weight parameter.
11. The method according to claim 1, wherein: The position accuracy model is based on an ontology position resolution model, wherein the ontology position resolution model comprises a position-specific ontology hierarchy.
12. The method according to claim 1, wherein: The location accuracy model is based on a discretized location resolution model, wherein the discretized location resolution model includes a varying map resolution.
13. The method according to claim 1, wherein: The location accuracy model is based on a randomized location resolution model, wherein the randomized location resolution model is configured to randomize a portion of a variation of the sharable location.
14. The method according to claim 1, wherein: The method is performed according to software downloaded from a remote data processing system to the social networking system.
15. The method according to claim 14, wherein: The method further comprises: Measuring the use of said software; and An invoice is generated based on measuring the usage.
16. A computer system comprising: one or more processors; as well as One or more computer-readable storage media storing program instructions configured to, when executed by the one or more processors, cause the one or more processors to perform a method comprising: inputting a social network post into a location accuracy model stored on a user device and configured to modify a location resolution of the social network post, wherein the social network post is received from the user device and is associated with a first time and a shareable location at which the social network post was created; publishing the social network post along with a modified sharable location, wherein the modified sharable location is a generalized version of the sharable location; determining that parameters associated with the position accuracy model are satisfied; and The social network post is modified to include an updated modified sharable location, wherein the updated modified sharable location is more specific than the modified sharable location and less specific than the sharable location. 17 . A computer program product, comprising one or more computer-readable storage media and program instructions commonly stored on the one or more computer-readable storage media, wherein the program instructions are configured to cause one or more processors to jointly execute the method according to claim 1 .
18. A computer-implemented method comprising: inputting a social network post received from a user device into a location accuracy model executed as an application on the user device and configured to modify a location resolution of the social network post, wherein the social network post is associated with a first time and a shareable location at which the social network post was created; a sharable location modified by said location accuracy model output; sending the social network post along with the modified sharable location to a social networking system, wherein the modified sharable location is a generalized version of the sharable location; At a second time, the social network post is sent to the social networking system along with an updated modified sharable location, wherein the updated modified sharable location is less specific than the sharable location and more specific than the modified sharable location.
19. The method according to claim 18, wherein: The modified sharable location is a function of an amount of time between the first time and a current time.
20. The method according to claim 18, wherein: The modified sharable location is a function of a distance between the sharable location and a current location of the user device.
21. A computer-implemented method comprising: inputting a geotagged post received from a user device into a location accuracy model, the location accuracy model being stored on the user device and configured to modify a location resolution of the geotagged post, wherein the geotagged post is associated with a first time and geographic location at which the social network post was created; Outputting a generalized geographic location from the location accuracy model; Posting the geo-tagged post along with the generalized geographic location; and The geotagged post is intermittently updated by publishing a series of updated generalized geographic locations based on the location accuracy model and the location of the user device, the series of updated generalized geographic locations being more specific than the generalized geographic location and less specific than the geographic location.
22. The method according to claim 21, wherein: The location accuracy model is further configured to modify a location resolution of the geographic location based on an amount of time between a current time and the first time and a distance between the geographic location and the location of the user device.
23. A computer-implemented method comprising: inputting a social network post into a location accuracy model executed as an application on a user device and configured to modify a location resolution of the social network post, wherein the social network post was received from the user device and is associated with a first time at which the social network post was created and a shareable location; a sharable location modified by the location accuracy model output; and sending the social network post along with the modified sharable location to a social networking system, wherein the modified sharable location is a generalized version of the sharable location; determining that parameters associated with the position accuracy model are satisfied; and The social network post is modified to include an updated modified sharable location, wherein the updated modified sharable location is more specific than the modified sharable location and less specific than the sharable location.
24. The computer-implemented method of claim 23, wherein: The post is geotagged and received from a user device, wherein the geotagged post is associated with a first time and a geographic location, and wherein the outputting step includes outputting a generalized geographic location via the location accuracy model, wherein the sending step includes publishing the geotagged post along with the generalized geographic location, and wherein the method further includes intermittently updating the geotagged post by publishing a series of updated generalized geographic locations based on the location accuracy model and the location of the user device.
25. A computer program product, comprising one or more computer-readable storage media and program instructions stored together on the one or more computer-readable storage media, the program instructions being configured to cause one or more processors to jointly execute the method according to any one of claims 18 to 24.
Citation Information
Patent Citations
Position information distribution server, position information distribution system, position information distribution method, and program
JP2014191414A