The disclosure relates to systems and methods for processing a location input that specifies one or more geographically definable locations for input to individual ones of a plurality of social media or other content providers that have different input formats for specifying locations.
The availability of content such as videos, audio files, photos, and text over networks such as the Internet has grown at impressive rates. This growth has been fueled largely by the popularity of social media providers/platforms that register users, receive content from their users, and distribute the content to others. Put another way, users may be seen as content creators that publish their content through social media platforms. Other content creators publish content using their own websites and/or network-based exchanges and services such as online forums, chat rooms, and the like.
In many instances the created content can be automatically tagged with location information related to the content (e.g., where the content was created). Social media and other content providers oftentimes provide interfaces that allow location inputs to search for content based on the location information. However, different content providers have different formatting requirements for the location information. Thus, aggregating content from different content providers based on a location input may be difficult.
The disclosure relates to systems and methods for processing a location input that specifies one or more geographically definable locations for input to individual ones of a plurality of social media or other content providers that have different input formats for specifying locations.
In some embodiments, the system may include a computer that facilitates processing a location input. For example, the computer may format a location input to be compatible with different formats used by different content providers to receive the location input. In this manner, even though content providers may receive location inputs in a limited number of formats, the computer may receive location inputs according to a wide range of formats, allowing for flexible and scalable location input solutions for content aggregation based on location.
In some embodiments, the formatting may result in artifacts such as over-inclusive and/or under-inclusive results. For example, a location input by a user may be formatted into a zip code that does not entirely match the actual location input by the user. The zip code may include a greater and/or a lesser geographic area than the actual location input, leading to over-inclusive and/or under-inclusive results. The computer may be configured to compensate for such artifacts, thereby providing location input solutions that are scalable and address artifacts that may result from processing location inputs.
The computer may include one or more processors configured to perform some or all of a functionality of a plurality of modules. For example, the one or more processors may be configured to execute a geofeed creation module, a geo-location processing module, a geo-location correction module, a communication module, a user interface module, and/or other modules.
The geofeed creation module may be configured to receive a request to create a geofeed. The request to create the geofeed may include a specification of one or more geo-locations (hereinafter, a “geo-location specification”). The request may also include one or more geofeed parameters that may be used to filter content into the geofeed and/or out of the geofeed. The geo-location specification may be defined by one or more geo-location inputs. The geofeed creation module may receive a geo-location input. The geo-location input may comprise a map input, a text input, and/or other input. The geofeed creation module may generate a geofeed definition that includes the geo-location specification, the one or more geofeed parameters, and/or other information related to the geofeed. The geofeed definition may be updated. For example, the geo-location specification, the one or more geofeed parameters, and/or other information of the geofeed definition may be updated. In this manner, various parameters related to geofeeds may be defined and updated at the time of specifying the geofeeds and/or after the geofeeds have been specified.
A first content provider may accept a first geo-location input format that is different from a second geo-location input format of a second content provider. The geo-location input may not be compatible with the first geo-location input format and/or the second geo-location input format. The geo-location processing module may normalize the geo-location input to be compatible with the first geo-location input format to obtain content from the first content provider and may normalize the geo-location input to be compatible with the second geo-location input format to obtain content from the second content provider.
The geo-location correction module may be configured to determine whether the received content is over-inclusive and/or under-inclusive based on the original geo-location input. Based on the determination, the geo-location correction module may remove and/or add content.
The communication module may be configured to communicate one or more geofeeds generated based on the geo-location input. In some embodiments, the communication module may communicate formatting results, correction results, and/or other information related to processing location inputs.
The user interface module may be configured to generate a user interface that communicates and/or displays one or more geofeeds. The content consumer device may display a user interface provided by the user interface module, which a content consumer may use to request a geofeed.
Various other objects, features, and advantages of the invention will be apparent through the detailed description of the preferred embodiments and the drawings attached hereto. It is also to be understood that both the foregoing general description and the following detailed description are exemplary and not restrictive of the scope of the invention.
The geo-location may be specified by various input mechanisms (hereinafter, “geo-location inputs”) including map inputs and/or text inputs. Map inputs may include a specification of a geographical area bounded by a circle, polygon, visible area of the screen, and/or other non-circular shape drawn using a map interface. Text inputs may include a geo-coordinate (e.g., latitude, longitude, altitude/depth), an address, a school, a place name, a point of interest (e.g., “White House”), a zip code, a city, a state, a country, and/or other information that can spatially identify a geographical area. As used hereinafter, “a location,” “a geo-location,” “a geographically definable location,” and similar language is not limited to a single location but may also refer to one or more such location.
The content providers may include, for example, social media platforms (e.g., FACEBOOK, TWITTER, INSTAGRAM, FLICKR, etc.), online knowledge databases, and/or other providers that can distribute content that may be relevant to a geo-location. The content may be generated by content sources such as individuals, corporations, and/or other entities that may create content.
In many instances the created content can be automatically tagged with information such as user identifications, date/time information or geographic information that specifies a location where the content was created. For example, cameras equipped with Global Positioning Satellite (“GPS”) units or other location-aware systems may embed into an image file latitude/longitude coordinates that indicate where a picture was taken. In addition, modern hand-held devices such as smartphones may be equipped with a GPS sensor, which allows users to generate content (e.g., video, audio, images, text, hyperlinks, etc.) with their devices and immediately share the content through a plurality of social networks. Moreover, some devices allow users to manually input the foregoing and other information for embedding into the content. Furthermore, editing software may allow a user to embed or otherwise associate information along with the content after the content was created.
System 100 may include a computer 110, a geofeed API 122, a content consumer device 120, provider APIs 140, content providers 150, and/or other components. In some embodiments, computer 110 may include one or more processors configured to perform some or all of functionality of a plurality of modules. For example, the one or more processors may be configured to execute a geofeed creation module 111, a geo-location processing module 112, a geo-location correction module 113, a communication module 114, a user interface module 115, and/or other modules 116.
Geofeed creation module 111 may be configured to create one or more geofeeds 101 (illustrated in
Co-pending applications filed concurrently herewith, U.S. patent application Ser. No. 13/788,760, entitled “SYSTEM AND METHOD FOR CREATING AND MANAGING GEOFEEDS,” and co-pending application filed concurrently herewith, U.S. patent application Ser. No. 13/788,909, entitled “SYSTEM AND METHOD FOR TARGETED MESSAGING, WORKFLOW MANAGEMENT, AND DIGITAL RIGHTS MANAGEMENT FOR GEOFEEDS,” are all incorporated by reference in their entireties herein.
Co-pending U.S. patent application Ser. No. 13/708,516, filed Dec. 7, 2012, entitled “SYSTEM AND METHOD FOR LOCATION MONITORING BASED ON ORGANIZED GEOFEEDS,” co-pending U.S. patent application Ser. No. 13/708,404 (issued on Jul. 9, 2013 as U.S. Pat. No. 8,484,224), filed Dec. 7, 2012, entitled “SYSTEM AND METHOD FOR RANKING GEOFEEDS AND CONTENT WITHIN GEOFEEDS,” and co-pending U.S. patent application Ser. No. 13/708,466, filed Dec. 7, 2012, entitled “SYSTEM AND METHOD FOR GENERATING AND MANAGING GEO-FEED BASED ALERTS” are all incorporated by reference in their entireties herein.
For example, geofeed creation module 111 may be configured to receive a request to create a geofeed. The request to create the geofeed may include a specification of one or more geo-locations and one or more geofeed parameters such as, for example, providers to include (or exclude), types of content to include (or exclude), date ranges, content matching patterns, keywords, and/or other parameters that instruct the system as to which content should be included in the geofeed.
In some embodiments, geofeed creation module 111 may be configured to generate a geofeed based on the geo-location specification and/or geofeed parameters. Geofeed creation module 111 may request or otherwise crawl content that may be relevant to the geo-location from content providers 150. Typically, although not necessarily, geofeed creation module 111 may request and receive the content via various Application Programming Interfaces (“APIs”) 140 (illustrated in
In some embodiments, the geo-location specification may include one or more geo-location inputs. For example, geofeed creation module 111 may be configured to receive a geo-location input that specifies the geo-location via content consumer device 120 using an interface exposed by computer 110. The interface may include a map interface and/or other interface that receives a boundary of the geo-location. The map interface may include a map input that allows the content consumer or other user to designate an outline on the map, zoom in or out of the map, and/or pan the map to specify the geo-location. Other interfaces may include a text input that allows the user to input (e.g., type) a geo-coordinate (e.g., latitude, longitude, altitude/depth), an address, a school, a place name, a point of interest (e.g., “White House”), a zip code, a city, a state, a country, and/or other information that can specify a geo-location. In some embodiments, the geo-location may be calculated based on a current location of a device such as content consumer device 120. In some embodiments, the geo-location may be obtained from a third party location provider. In these embodiments, for example, a location input may include a point of interest and the third party location provider may return one or more coordinates or other location information related to the point of interest. The location information from the third party location provider may be formatted as described herein.
Geo-location processing module 112 may be configured to obtain the geo-location input and/or normalize the geo-location input into a format that is compatible with computer 110 and/or different content providers 150. The geo-location input may be received via one or more user interfaces, from an automated process (e.g., a computer process), and/or other input source.
In some embodiments, geo-location processing module 112 may normalize the geo-location input into an intermediate format that may be recognized by and/or be compatible with computer 110. The intermediate format may then be converted to a format that is compatible with different content providers 150 and/or their corresponding provider APIs 140. In some embodiments, the geo-location input may be directly normalized into a format that is compatible with different content providers 150 and/or their corresponding provider APIs 140 without initially normalizing the geo-location input into the intermediate format.
In some embodiments, geo-location processing module 112 may be configured to format the geo-location input specific for different provider APIs 140 (illustrated in
In some embodiments, geo-location processing module 112 may be configured to use a provider profile associated with each provider 150A-C in order to format the geo-location input so that the geo-location input is compatible with each API. Provider profiles may be stored in a provider profile database 134. The provider profiles may include information related to a content provider such as, for example, a geo-location input format acceptable by the content provider and/or rules (and/or other intelligence) used to format geo-location inputs to be compatible with different content providers.
Geo-location processing module 112 may be configured to obtain a geo-location input based on a map input, a text input, and/or other inputs. Map inputs may include a specification of a geographical area bounded by a circle, polygon, visible area of a map interface, and/or other shape input (e.g., drawn) using the map interface. Text inputs may include a geo-coordinate (e.g., latitude, longitude, altitude/depth), an address, a school, a place name, a point of interest (e.g., “White House”), a zip code, a city, a state, a country, and/or other information that can spatially identify a geographical area.
In some embodiments, a user may specify a map input using the map interface exposed by computer 110. Geo-location processing module 112 may obtain a specification of a geographical area bounded by the map input as a geo-location input. For example, content provider 150A may require a point and radius input format. If the map input is a circle, geo-location processing module 112 may determine the point and radius of the circle and request content from content provider 150A based on the point and radius. In this case, the content received from content provider 150A may be coextensive with the geographical area defined by the circle without being over-inclusive or under-inclusive because the map input is compatible with the input format of the content provider. In other words, geo-coordinates associated with individual items of the received content may all be located within the circle.
On the other hand, if the map input is not compatible with the input format of the content provider (such as point and radius input) geo-location processing module 112 may normalize the map input to be compatible with the input format of the content provider. For example, when the original geo-location input includes a polygon, geo-location processing module 112 may normalize the polygon by generating a circle that corresponds to the polygon. In this manner, a point and radius of the circle may be obtained in order to request content from content provider 150A based on the point and radius input requirement of the content provider. As would be appreciated, the geo-coordinates corresponding to portions of the circle may be mapped to the geo-coordinates corresponding to the polygon input using conventional coordinate transformation techniques.
In some embodiments, in order to determine a circle that covers the area specified by the polygon, geo-location processing module 112 may identify a centroid and a plurality of corners of the polygon and/or measure the distance between the centroid and individual ones of the plurality of corners. Geo-location processing module 112 may determine the formatted geo-location input based on the centroid as a center of the circle and the longest distance as a radius of the circle.
The formatting may cause artifacts such as over-inclusive and/or under-inclusive results. For example, if the formatted geo-location input represented by the circle is made larger than the polygon (covering the entire area of the polygon), the content received from content provider 150A may be over-inclusive such that it includes extraneous content whose associated geo-coordinates are located within the formatted geo-location input (e.g., circle) but outside of the map input (e.g., polygon). On the other hand, if the formatted geo-location input represented by the circle is smaller than the polygon, the received content based on the formatted geo-location (e.g., circle) may be under-inclusive where it may not include content whose locations are just outside of the circle but still within the polygon. In these instances, the geo-location correction module described herein may compensate for such artifacts.
In some embodiments, geo-location processing module 112 may divide the map input into a plurality of segments using various segmentation techniques. In some embodiments, the plurality of segments may be individually normalized. The plurality of formatted geo-location inputs for the segments may be aggregated into a single input which may be communicated to a corresponding content provider and/or be separately input to the corresponding content provider.
Continuing the foregoing non-limiting example where content provider 150A accepts a point and radius input format, geo-location processing module 112 may divide the geographically area defined by a polygon into multiple segments. Individual segments may be normalized such as by creating one or more circles corresponding to individual segments. Various ways to normalize a non-circular map input such as a polygon into a circle discussed herein may similarly apply to the process of normalizing a non-circular segment of the polygon into a circle and/or other shapes received as input by content providers. Once a plurality of circles corresponding to the polygon is determined, geo-location processing module 112 may request content from content provider 150A based on the point and radius information associated with the plurality of circles.
In some embodiments, content provider 150B may require a zip code (and/or neighborhood, city, state, etc. and/or any other non-circular shaped geographical area) as an input format. In these embodiments, geo-location processing module 112 may normalize the map input into a zip code of that at least partially corresponds with a geographic area specified by the map input. The geographical area of the zip code may be larger than (e.g., over-inclusive), and/or smaller than (e.g., under-inclusive) the area bounded by the map input. If a geographic area of the zip code is larger than the map input, the content received from content provider 150B based on the formatted geo-location input (e.g., zip code) may include extraneous content whose associated locations are outside of the map input but within the formatted map input. If a geographic area of the zip code is smaller than the area bounded by the map input, the received content based on the zip code may not include (therefore under-inclusive) content whose locations are just outside of the zip code but still within the map input.
In some embodiments, the geographic area bounded by a map input may overlap with more than one zip code (and/or neighborhood, city, state, etc. and/or any other non-circular shaped geographical area). In this case, geo-location processing module 112 may identify a plurality of zip codes that cover and/or is related to the geographical area bounded by the particular map input and request content from content provider 150B based on the plurality of zip codes.
In some embodiments, geo-location processing module 112 may receive a geo-location input specifying a dimension (e.g., length, width, area, etc.) that is larger than a maximum input area dimension allowable for a given content provider 150. For example, the geo-location input may specify a 50-km wide location in which to search whereas a particular content provider 150 may require a location input that specifies an area no greater than a 5-km wide location input. Still another content provider 150 may require a location input that specifies an area no greater than a 10-km wide location input. As described herein, different content providers 150 may further require different types of inputs (e.g., center/radius, bounded box, etc.).
In these embodiments geo-location processing module 112 may normalize the geo-location input (e.g., the 50-km wide location) for individual content providers and may determine the number of requests to be made based on particular requirements of the different content providers 150 from which content is obtained. For example, geo-location processing module 112 may be configured to determine a minimum number of requests to be made to a content provider 150 based on the maximum location size that the content provider receives. In the foregoing example, geo-location processing module 112 may generate a first plurality of segments individually spanning 5-km for a first content provider 150 and a second plurality of segments individually spanning 10-km for a second content provider 150. For each content provider, geo-location processing module 112 may normalize the geo-location input as well, such as by using a point-and-radius for the first content provider and a bounded box for the second content provider. The requirements for normalization may be stored in a content provider profile as described herein and/or co-pending applications.
Returning to the example, for input to individual content providers, geo-location processing module 112 may layout the plurality of segments in a manner that minimizes overlap and maximizes coverage of the geo-location input. In some embodiments, conventional best-fit techniques may be used to layout the plurality of segments. In some embodiments, for example, geo-location processing module 112 may layout the plurality of 5-km wide location input segments for the first content provider and layout the plurality of 10-km wide location input segments for the second content provider in a manner that minimizes overlap and maximizes coverage of the geo-location input. In a particular example, geo-location processing module 112 may position a segment at a first position and position subsequent segments until a boundary of the geo-location input is reached. Geo-location processing module 112 may continue this process in each direction as appropriate, depending on the size and/or shape of the geo-location specified by the geo-location input. The size and/or shape of each segment may depend on the type of input (e.g., point-and-radius, bounded box, etc.) accepted by the content provider for geo-location input.
In some embodiments, a user may specify a text input using a text interface and/or other interfaces exposed by computer 110. For example, geo-location processing module 112 may normalize the text input such as a geo-coordinate, an address, a school, a place name, a point of interest, etc. into a point that defines a geographic center of the text input and determine a radius about the center to approximate the geographic region of the text input. Geo-location processing module 112 may convert the text input into geo-coordinates to determine the geographic center of a geographic area defined by the text input. In some embodiments, geo-location processing module 112 may access geo-location database 138 to obtain and/or retrieve geo-coordinates that are associated with a particular address, name of a place, a point of interest, etc. Geo-location processing module 112 may request content from content provider 150A, which may require a point and radius input format based on the determined point and radius. The radius may also be predetermined by computer 100, by individual content providers, and/or by user input.
In another example, geo-location processing module 112 may normalize the text input into a zip code, neighborhood, city, etc. to which the geo-location related to the text input belongs in order to request content from content provider 150B which may require such an input format.
In some embodiments, the text inputs may be translated into map inputs which may then be used to request content from content providers. For example, geo-location processing module 112 may obtain a zip code as a text input. Using a map interface exposed by computer 110, geo-location processing module 112 may identify a geographical area bounded by a map input such as a polygon that represents the area covered by the zip code. In another example, a text input such as “White House” may be converted to a map input such as a polygon indicating an area surrounding the White House.
In some embodiments, geo-location processing module 112 may be configured to store the geo-location specification defined by a geo-location input and/or other information related to the request to create a geofeed as a geofeed definition in a geofeed database 136. The geofeed definition may include information that allows geofeed creation module 111 and/or other components of the system to generate a geofeed that was previously requested using the geo-location specification and/or other information related to the geofeed. In this manner, a content consumer or other user need not re-enter the geo-location input in order to view the geofeed defined by the geofeed definition.
In some embodiments, geo-location processing module 112 may access a geo-location database 138 (illustrated in
In some embodiments, geo-location inputs obtained by geo-location processing module 112 may be stored in and/or retrieved from a user profile database 132. For example, a user profile may include information related to a user (e.g., a content consumer) such as, for example, prior geo-location specifications.
In some embodiments, when content is received from one or more of the various content providers, the system may store the content (as allowed by law or terms of service) and/or links to the content in a manner that associates the content and/or links with a standard location format. In this manner, once the geo-location input has been normalized for input to the content providers and the content has been received, subsequent searches on the stored content and/or links may use the standard location format used by the system. The standard location format may be based on a point-and-radius, bounded box, and/or other geo-location specifying format.
Geo-location correction module 113 may be configured to determine whether the received content is over-inclusive and/or under-inclusive based on the original geo-location input. For example, geo-location correction module 113 may determine a location associated with individual content and determine whether the location is within the original geo-location input.
When the received content includes excess content such as content that is within a geographic area defined by the formatted geo-location input but outside of a geographic area defined by the original geo-location input, geo-location correction module 113 may remove the extraneous content. For example, geo-location correction module 113 may identify an item of the content to be removed by comparing geo-coordinates of that content item with geo-coordinates associated with the original geo-location input (e.g., geo-coordinates associated with various points along the perimeter of the geographic area bounded by the geo-location input). In this manner, even if a particular content provider provides only an input mechanism that broadly defines a geo-location such as a zip code, geo-location correction module 113 may be used to fine-tune the content received from the content provider.
In some embodiments, the extraneous content that have been removed by geo-location correction module 133 may be tracked, stored in a database such as geofeed database 136, and/or communicated to the user. In this manner, the content consumer may be informed of the content items that were removed (and may be available to access if the geo-location input is enlarged).
When the received content is under-inclusive, geo-location correction module 113 may identify additional content items that are located inside of the original geo-location input and/or add those items to the geofeed.
Communication module 114 may be configured to communicate one or more geofeeds generated by geofeed creation module 111. In some embodiments, the communication module may communicate formatting results, correction results, and/or other information related to processing location inputs.
User interface module 115 may be configured to generate a user interface that communicates and/or displays one or more geofeeds. The user interface may include a web page, an application executing on a mobile device, or other interface that can receive inputs and/or communicate outputs. For example, content consumer device 120 may display a user interface provided by user interface module 115, which a content consumer may use to request a geofeed.
Exemplary screenshots of interfaces generated by user interface module 115 are illustrated in
Those having skill in the art will recognize that computer 110 and content consumer device 120 may each comprise one or more processors, one or more interfaces (to various peripheral devices or components), memory, one or more storage devices, and/or other components coupled via a bus. The memory may comprise random access memory (RAM), read only memory (ROM), or other memory. The memory may store computer-executable instructions to be executed by the processor as well as data that may be manipulated by the processor. The storage devices may comprise floppy disks, hard disks, optical disks, tapes, or other storage devices for storing computer-executable instructions and/or data.
One or more applications, including various modules, may be loaded into memory and run on an operating system of computer 110 and/or consumer device 120. In one implementation, computer 110 and consumer device 120 may each comprise a server device, a desktop computer, a laptop, a cell phone, a smart phone, a Personal Digital Assistant, a pocket PC, or other device.
Network 102 may include any one or more of, for instance, the Internet, an intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN (Storage Area Network), a MAN (Metropolitan Area Network), a wireless network, a cellular communications network, a Public Switched Telephone Network, and/or other network.
In some embodiments, geofeed creation module 111 may receive the request and communicates the geo-location input of the request to geo-location processing module 112 to process the geo-location input.
Geo-location processing module 112 may obtain the geo-location input and/or normalize the geolocation input into a format that is compatible with different content providers 150. For example, the request may include a geo-location input that is an address, while content provider 150A may take as input a point and radius location for defining a geo-location and content provider 150B may take as input a zip code for defining the geo-location. As such, geo-location processing module 112 may format the geo-location input so that it conforms to a corresponding provider 150.
Geo-location processing module 112 may normalize the geo-location input from the request to be compatible with API 140A and API 1408. For example, geo-location processing module 112 may normalize the address into a point that defines a geographic center of the address and determine a radius about the center to approximate the geographic region of the address in order to request content from provider 150A using API 140A. On the other hand, geo-location processing module 112 may normalize the address into a zip code of which the address is a part in order to request content from provider 150B using API 140B.
In some embodiments, a content provider may not expose an API. In these embodiments, geo-location processing module 112 may normalize the geo-location input to be compatible with provider 150N. For example, geo-location processing module 112 may request content from provider 150N directly by crawling a website of provider 150N, executing search queries on a search module of provider 150N and/or using other techniques to access content from provider 150N.
Geo-location processing module 112 may store the geo-location specification defined by a geo-location input and/or other information related to the request to create a geofeed as a geofeed definition in a geofeed database 136.
Geo-location processing module 112 may obtain various profiles such as a user profile (201) and/or a provider profile (203). The provider profile (203) may include information related to a content provider such as, for example, a geo-location input format acceptable by the content provider and/or rules (and/or other intelligence) used to format geo-location inputs to be compatible with different content providers. The user profile (201) may include information related to a content consumer such as, for example, prior geo-location specifications.
In some instances, the content from providers 150 may be over-inclusive or under-inclusive because of the normalization process (e.g., a zip code may return more results than a particular address). Geo-location correction module 113 may adjust the over-inclusive (or under-inclusive) content using various techniques discussed herein with respect to
Geofeed creation module 111 may aggregate the received content, which may or may not be adjusted by geo-location correction module 113 and generate a geofeed based on the aggregated content. The geofeed may be communicated to the content consumer via the user interface communicated via user interface module 115 and/or other communication channel. Examples of various user interfaces are described with respect to
In an operation 301, process 300 may include obtaining a geo-location input which may be a map input and/or a text input. In an operation 302, process 300 may include normalizing the geo-location input into a format that is compatible with the next provider from which content is received. In an operation 303, process 300 may include communicating the formatted geo-location input to the next provider. In an operation 304, process 300 may include receiving the content requested based on the formatted geo-location input from the provider.
In an operation 310, process 300 may include determining whether the received content is over-inclusive such that it contains excess content whose associated locations are within the area specified by the formatted geo-location input but outside of the area specified by the original geo-location. If the received content is over-inclusive, process 300 may include removing the excess content from the received content in an operation 312. On the other hand, if the received content is not over-inclusive, process 300 may include determining whether the received content is under-inclusive such that there may be additional content that are located just outside of the area specified by the formatted geo-location input but still within the area specified by the original geo-location input in an operation 311. If the received content is under-inclusive, process 300 may include adding the additional content to the received content in an operation 313. On the other hand, if the received content is not under-inclusive, process 300 may include determining whether more providers are to be queried for content. If more providers remain, process 300 may return to operation 302, where the geo-location input is normalized for the next provider. If no more providers remain, in an operation 315, process 300 may include generating the geofeed.
Interface 400 and other interfaces described herein may be implemented as a web page communicated from computer 110 to a client, an application such as a mobile application executing on the client that generates the interface based on information communicated from computer 110, and/or other interface. Whichever type of interface is used, computer 110 may communicate the data and/or formatting instructions related to the interface to the client, causing the client to generate the various interfaces of
Referring to
The content received from the content provider based on centroid 450 and distance 430 may include excess content that is outside of the area represented by polygon 411. Such excess content such as a content item 470 may be located in the shaded area of a circle 410. Content item 470 may be removed from the received content whereas content such as a content item 460 that are within polygon 411 may be added to the geofeed.
Referring to
The content received from the content provider based on the point and radius information may include excess content that is outside of the area represented by polygon 511. Such excess content such as a content item 562 may be located in the shaded area of the circles. Content item 562 may be removed from the received content whereas content such as a content item 561 that are within polygon 511 may be added to the geofeed.
In some embodiments, a region 620 in which two or more circles overlap may include duplicate content. For example, if a content item 560 was received from the content provider based on center 580 and radius 581 and a duplicate content item 560 was also received based on center 582 and radius 583, the duplicate content item may be removed, disregarded, ignored, indicated as excess content, and/or otherwise may not be added to the geofeed.
Referring to
The content received from the content provider based on centroid 650 and radius 651 may be under-inclusive such that there may be additional content such as a content item 670 that is located just outside of the area specified by a circle 610 but still within the area specified by polygon 611. Such additional content such as content item 670 may be added to the received content including a content item 660, for example.
Referring to
The content received from the content provider based on the zip code shaped as rectangle 710 may include excess content that is outside of the area represented by polygon 711. Such excess content such as a content item 770 may be located in the shaded area of rectangle 710. Content item 770 may be removed from the received content whereas content such as a content item 760 that is within polygon 711 may be added to the geofeed.
Referring to
The content received from the content provider based on the zip code shaped as rectangle 810 may be under-inclusive such that there may be additional content such as a content item 870 that is located just outside of the area specified by rectangle 810 but still within the area specified by polygon 811. Such additional content such as content item 870 may be added to the received content including a content item 860, for example.
Referring to
The content received from the content provider based on zip codes 912 and 913 may include excess content that is outside of the area represented by polygon 911. Such excess content such as content items 970A and 970B may be located in the shaded area of zip codes 912 and 913. Content items 970A and 970B may be removed from the received content whereas content such as content items 960A and 960B that are within polygon 911 may be added to the geofeed.
Referring to
The content received from the content provider based on the zip code shaped as rectangle 1010 may include excess content that is outside of the area represented by circle 1011. Such excess content such as a content item 1070 may be located in the shaded area of rectangle 1010. Content item 1070 may be removed from the received content whereas content such as a content item 1060 that is within circle 1011 may be added to the geofeed.
Referring to
The content received from the content provider based on zip codes 1112 and 1113 may include excess content that is, outside of the area represented by circle 1111. Such excess content such as content items 1170A and 1170B may be located in the shaded area of zip codes 1112 and 1113. Content items 1170A and 1170B may be removed from the received content whereas content such as content items 1160A and 1160B that are within circle 1111 may be added to the geofeed.
Other embodiments, uses and advantages of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. The specification should be considered exemplary only, and the scope of the invention is accordingly intended to be limited only by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6363320 | Chou | Mar 2002 | B1 |
6591266 | Li | Jul 2003 | B1 |
7522940 | Jendbro et al. | Apr 2009 | B2 |
7680796 | Yeh | Mar 2010 | B2 |
7698336 | Nath | Apr 2010 | B2 |
7912451 | Eckhart | Mar 2011 | B2 |
7974983 | Goeldi | Jul 2011 | B2 |
8103741 | Frazier et al. | Jan 2012 | B2 |
8341223 | Patton et al. | Dec 2012 | B1 |
8428228 | Baxter, Jr. | Apr 2013 | B1 |
8484224 | Harris et al. | Jul 2013 | B1 |
8595317 | Harris et al. | Nov 2013 | B1 |
8612533 | Harris et al. | Dec 2013 | B1 |
8639767 | Harris et al. | Jan 2014 | B1 |
8655873 | Mitchell et al. | Feb 2014 | B2 |
8655983 | Harris et al. | Feb 2014 | B1 |
8843515 | Burris | Sep 2014 | B2 |
8849935 | Harris | Sep 2014 | B1 |
8850531 | Harris | Sep 2014 | B1 |
8862589 | Harris | Oct 2014 | B2 |
8990346 | Harris | Mar 2015 | B2 |
9055074 | Harris | Jun 2015 | B2 |
9077675 | Harris | Jul 2015 | B2 |
9077782 | Harris | Jul 2015 | B2 |
9258373 | Harris | Feb 2016 | B2 |
20020029226 | Li et al. | Mar 2002 | A1 |
20020116505 | Higgins | Aug 2002 | A1 |
20020188669 | Levine | Dec 2002 | A1 |
20030040971 | Freedenberg | Feb 2003 | A1 |
20030088609 | Guedalia et al. | May 2003 | A1 |
20040203854 | Nowak | Oct 2004 | A1 |
20040225635 | Toyama et al. | Nov 2004 | A1 |
20050034074 | Munson et al. | Feb 2005 | A1 |
20060002317 | Punaganti Venkata | Jan 2006 | A1 |
20060184968 | Clayton et al. | Aug 2006 | A1 |
20060200305 | Sheha et al. | Sep 2006 | A1 |
20070043721 | Ghemawat et al. | Feb 2007 | A1 |
20070112729 | Wiseman et al. | May 2007 | A1 |
20070121843 | Atazky et al. | May 2007 | A1 |
20070143345 | Jones et al. | Jun 2007 | A1 |
20070210937 | Smith et al. | Sep 2007 | A1 |
20070276919 | Buchmann et al. | Nov 2007 | A1 |
20070294299 | Goldstein | Dec 2007 | A1 |
20080092054 | Bhumkar et al. | Apr 2008 | A1 |
20080104019 | Nath | May 2008 | A1 |
20080125969 | Chen | May 2008 | A1 |
20080162540 | Parikh et al. | Jul 2008 | A1 |
20080192934 | Nelger et al. | Aug 2008 | A1 |
20080250031 | Ting et al. | Oct 2008 | A1 |
20080294603 | Ranjan | Nov 2008 | A1 |
20090005968 | Vengroff et al. | Jan 2009 | A1 |
20090102859 | Athsani | Apr 2009 | A1 |
20090132435 | Titus et al. | May 2009 | A1 |
20090138497 | Zavoli et al. | May 2009 | A1 |
20090210426 | Kulakov | Aug 2009 | A1 |
20090217232 | Beerel | Aug 2009 | A1 |
20090297118 | Fink | Dec 2009 | A1 |
20090300528 | Stambaugh | Dec 2009 | A1 |
20090327232 | Carter | Dec 2009 | A1 |
20100010907 | Dasgupta | Jan 2010 | A1 |
20100076968 | Boyns et al. | Mar 2010 | A1 |
20100079338 | Wooden | Apr 2010 | A1 |
20100145947 | Kolman et al. | Jun 2010 | A1 |
20100149399 | Mukai | Jun 2010 | A1 |
20100153386 | Tysowski | Jun 2010 | A1 |
20100153410 | Jin et al. | Jun 2010 | A1 |
20100174998 | Lazarus | Jul 2010 | A1 |
20100177120 | Balfour | Jul 2010 | A1 |
20100180001 | Hardt | Jul 2010 | A1 |
20110007941 | Chen et al. | Jan 2011 | A1 |
20110010674 | Knize et al. | Jan 2011 | A1 |
20110035284 | Moshfeghi | Feb 2011 | A1 |
20110072106 | Hoffert | Mar 2011 | A1 |
20110078584 | Winterstein et al. | Mar 2011 | A1 |
20110083013 | Nice et al. | Apr 2011 | A1 |
20110113096 | Long et al. | May 2011 | A1 |
20110123066 | Chen et al. | May 2011 | A9 |
20110131496 | Abram et al. | Jun 2011 | A1 |
20110137561 | Kankainen | Jun 2011 | A1 |
20110142347 | Chen et al. | Jun 2011 | A1 |
20110153368 | Pierre | Jun 2011 | A1 |
20110202544 | Carle | Aug 2011 | A1 |
20110227699 | Seth | Sep 2011 | A1 |
20110270940 | Johnson | Nov 2011 | A1 |
20110288917 | Wanek et al. | Nov 2011 | A1 |
20110307307 | Benmbarek | Dec 2011 | A1 |
20120001938 | Sandberg | Jan 2012 | A1 |
20120047219 | Feng et al. | Feb 2012 | A1 |
20120078503 | Dzubay et al. | Mar 2012 | A1 |
20120084323 | Epshtein et al. | Apr 2012 | A1 |
20120101880 | Alexander | Apr 2012 | A1 |
20120124161 | Tidwell | May 2012 | A1 |
20120150901 | Johnson et al. | Jun 2012 | A1 |
20120166367 | Murdock et al. | Jun 2012 | A1 |
20120212398 | Border | Aug 2012 | A1 |
20120221687 | Hunter et al. | Aug 2012 | A1 |
20120232939 | Pierre | Sep 2012 | A1 |
20120239763 | Musil | Sep 2012 | A1 |
20120254774 | Patton | Oct 2012 | A1 |
20120259791 | Zoidze | Oct 2012 | A1 |
20120276848 | Krattiger et al. | Nov 2012 | A1 |
20120276918 | Krattiger et al. | Nov 2012 | A1 |
20120323687 | Schuster et al. | Dec 2012 | A1 |
20120330959 | Kretz et al. | Dec 2012 | A1 |
20130013713 | Shoham | Jan 2013 | A1 |
20130018957 | Parnaby et al. | Jan 2013 | A1 |
20130051611 | Hicks | Feb 2013 | A1 |
20130073388 | Heath | Mar 2013 | A1 |
20130073389 | Heath | Mar 2013 | A1 |
20130073631 | Patton et al. | Mar 2013 | A1 |
20130110631 | Mitchell et al. | May 2013 | A1 |
20130110641 | Ormont | May 2013 | A1 |
20130132194 | Rajaram | May 2013 | A1 |
20130150015 | Valko et al. | Jun 2013 | A1 |
20130159463 | Bentley et al. | Jun 2013 | A1 |
20130201182 | Kuroki | Aug 2013 | A1 |
20130238599 | Burris | Sep 2013 | A1 |
20130238652 | Burris | Sep 2013 | A1 |
20130238658 | Burris | Sep 2013 | A1 |
20130268558 | Burris | Oct 2013 | A1 |
20130346563 | Huang | Dec 2013 | A1 |
20140025911 | Sims | Jan 2014 | A1 |
20140040371 | Gurevich | Feb 2014 | A1 |
20140089296 | Burris | Mar 2014 | A1 |
20140089343 | Burris et al. | Mar 2014 | A1 |
20140089461 | Harris | Mar 2014 | A1 |
20140095509 | Patton | Apr 2014 | A1 |
20140164368 | Mitchell | Jun 2014 | A1 |
20140207893 | Harris | Jul 2014 | A1 |
20140222950 | Rabel | Aug 2014 | A1 |
20140258451 | Harris | Sep 2014 | A1 |
20140259113 | Harris | Sep 2014 | A1 |
20140274148 | Harris | Sep 2014 | A1 |
20140280103 | Harris | Sep 2014 | A1 |
20140280278 | Harris | Sep 2014 | A1 |
20140280569 | Harris | Sep 2014 | A1 |
20140297740 | Narayanan | Oct 2014 | A1 |
20150019648 | Harris | Jan 2015 | A1 |
20150019866 | Braness | Jan 2015 | A1 |
20150020208 | Harris | Jan 2015 | A1 |
20150032739 | Harris | Jan 2015 | A1 |
20150172396 | Longo | Jun 2015 | A1 |
20150256632 | Harris | Sep 2015 | A1 |
20150381380 | Harris | Dec 2015 | A1 |
20160006783 | Harris | Jan 2016 | A1 |
20160014219 | Harris | Jan 2016 | A1 |
Number | Date | Country |
---|---|---|
1 045 345 | Oct 2000 | EP |
WO 9915995 | Apr 1999 | WO |
WO 2010049918 | May 2010 | WO |
WO 2013133870 | Sep 2013 | WO |
WO 2013134451 | Sep 2013 | WO |
Entry |
---|
U.S. Appl. No. 13/284,455, a non-final Office Action, mailed Jan. 7, 2013, 18 pages. |
U.S. Appl. No. 13/619,888, a non-final Office Action, mailed Mar. 1, 2013, 15 pages. |
U.S. Appl. No. 13/708,466, a non-final Office Action, mailed Apr. 17, 2013, 15 pages. |
U.S. Appl. No. 13/708,516, a non-final Office Action, mailed May 15, 2013, 11 pages. |
U.S. Appl. No. 13/708,404, a Notice of Allowance, mailed May 24, 2013, 12 pages. |
Chow et al., “Towards Location-Based Social Networking Services”, LBSN 2010 Proceedings of the 2nd ACM SIGSPATIAL International Workshop on Location Based Social Networks, Nov. 2, 2010, pp. 31-38. |
Bao, Jie, et al., “GeoFeed: A Location-Aware News Feed System”, IEEE Xplore® Digital Library, Published in 2012 IEEE 28th International Conference on Data Engineering, Apr. 1-5, 2012, 14 pages. |
Sarwat, Mohamed, et al., “Sindbad: A Location-Based Social Networking System”, SIGMOD '12, Scottsdale, Arizona, May 20-24, 2012, 4 pages. |
U.S. Appl. No. 13/708,466, a Notice of Allowance, mailed Sep. 3, 2013, 11 pages. |
U.S. Appl. No. 13/843,832, a non-final Office Action, mailed Sep. 13, 2013, 12 pages. |
U.S. Appl. No. 13/284,455, a Notice of Allowance, mailed Oct. 4, 2013, 17 pages. |
Amitay et al., “Web-a-Where: Geotagging Web Content”, Proceedings of the 27th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval(SIGIR), 2004, pp. 273-280. |
U.S. Appl. No. 13/284,455, a non-final Office Action, mailed Jun. 4, 2013, 28 pages. |
U.S. Appl. No. 13/708,516, a Notice of Allowance, mailed Jun. 7, 2013, 14 pages. |
U.S. Appl. No. 13/619,888, a Notice of Allowance, mailed Jul. 9, 2013, 10 pages. |
U.S. Appl. No. 13/788,760, a Notice of Allowance, mailed Jul. 26, 2013, 12 pages. |
U.S. Appl. No. 13/788,909, a non-final Office Action, mailed Aug. 12, 2013, 17 pages. |
U.S. Appl. No. 13/843,949, a non-final Office Action, mailed Aug. 29, 2013, 12 pages. |
U.S. Appl. No. 13/843,832, a Notice of Allowance, mailed Jan. 24, 2014, 6 pages. |
U.S. Appl. No. 13/788,909, a Notice of Allowance, mailed Jan. 24, 2014, 12 pages. |
U.S. Appl. No. 13/843,949, a Notice of Allowance, mailed Feb. 3, 2014, 11 pages. |
Lee et al., “Tag-Geotag Correlation in Social Networks”, Proceedings of the 2008 ACM Workshop on Search in Social Media, 2008, pp. 59-66. |
U.S. Appl. No. 14/500,881, a non-final Office Action, mailed Sep. 21, 2015, 5 pages. |
U.S. Appl. No. 13/788,909, a Notice of Allowance, mailed Jun. 24, 2014, 11 pages. |
U.S. Appl. No. 13/843,832, a Notice of Allowance, mailed May 20, 2014, 7 pages. |
U.S. Appl. No. 13/843,949, a Notice of Allowance, mailed May 9, 2014, 10 pages. |
U.S. Appl. No. 14/089,631, a final Office Action, mailed Jan. 2, 2015, 8 pages. |
U.S. Appl. No. 14/089,631, a non-final Office Action, mailed Jul. 8, 2014, 21 pages. |
U.S. Appl. No. 14/089,631, a Notice of Allowance, mailed Feb. 2, 2015, 10 pages. |
U.S. Appl. No. 14/108,301, a non-final Office Action, mailed Sep. 11, 2014, 10 pages. |
U.S. Appl. No. 14/108,301, a Notice of Allowance, mailed Feb. 20, 2015, 13 pages. |
U.S. Appl. No. 14/164,362, a non-final Office Action, mailed Oct. 23, 2014, 15 pages. |
U.S. Appl. No. 14/164,362, a Notice of Allowance, mailed Feb. 24, 2015, 22 pages. |
U.S. Appl. No. 14/180,473, a final Office Action, mailed Jan. 5, 2015, 7 pages. |
U.S. Appl. No. 14/180,473, a non-final Office Action, mailed Jul. 8, 2014, 18 pages. |
U.S. Appl. No. 14/180,473, a Notice of Allowance, mailed Jan. 27, 2015, 8 pages. |
U.S. Appl. No. 14/180,845, a final Office Action, mailed Feb. 25, 2015, 32 pages. |
U.S. Appl. No. 14/180,845, a non-final Office Action, mailed Aug. 27, 2015, 43 pages. |
U.S. Appl. No. 14/180,845, a non-final Office Action, mailed Oct. 23, 2014, 32 pages. |
U.S. Appl. No. 14/215,612, a final Office Action, mailed Nov. 28, 2014, 31 pages. |
U.S. Appl. No. 14/215,612, a non-final Office Action, mailed Jul. 11, 2014, 16 pages. |
U.S. Appl. No. 14/215,612, a non-final Office Action, mailed Aug. 18, 2015, 27 pages. |
U.S. Appl. No. 14/500,832, a non-final Office Action, mailed May 21, 2015, 13 pages. |
U.S. Appl. No. 14/512,293, a final Office Action, mailed Aug. 14, 2015, 15 pages. |
U.S. Appl. No. 14/512,293, a non-final Office Action, mailed Jan. 28, 2015, 18 pages. |
U.S. Appl. No. 14/666,056, a non-final Office Action, mailed Aug. 10, 2015, 17 pages. |
U.S. Appl. No. 14/500,881, a non-final Office Action issued by Examiner Shanto Abedin, mailed Dec. 21, 2015, 24 pages. |
U.S. Appl. No. 14/512,293, a non-final Office Action issued by Examiner Joshua Bullock, mailed Dec. 9, 2015, 14 pages. |
U.S. Appl. No. 14/666,056, a Final Office Action issued by Examiner Djenane M. Bayard, mailed Jan. 4, 2016, 11 pages. |
U.S. Appl. No. 14/813,031, a non-final Office Action issued by Examiner Matthew D. Henry, mailed Nov. 24, 2015, 23 pages. |
U.S. Appl. No. 14/813,039, a non-final Office Action issued by Examiner Phuoc H. Nguyen, mailed Jan. 20, 2016, 20 pages. |
Number | Date | Country | |
---|---|---|---|
20140256355 A1 | Sep 2014 | US |