-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Ausführungsformen dieser Erfindung stehen im Allgemeinen in Beziehung zum Microblogging und genauer gesagt zu speziell dafür vorgesehenen Maschinen, Systemen und Computerbefehlen für das Assoziieren von Microposts mit geographischen Standorten. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
2. Beschreibung des verwandten Gebietes
-
Microblogging-Dienstleistungen stellen ein Übertragungsmedium bereit, das es Nutzern ermöglicht, kleine Inhaltselemente in Form von Microposts auszutauschen, die kurze Sätze, Botschaften, Videolinks oder dergleichen beinhalten. Dienstleistungen, wie etwa Twitter, ermöglichen es Nutzern, kurze Botschaften namens „Tweets” (z. B. von einer Länge von bis zu 140 Zeichen) an andere Nutzer übermitteln, die ein Interesse an das Empfangen von Inhalten, die von demjenigen Nutzer erstellt werden, zum Ausdruck gebracht haben. Als weiteres Beispiel ermöglichen soziale Netzwerkseiten, wie etwa Google+, Nutzern, kurze Statusaktualisierungen bereitzustellen, die veröffentlicht werden, um von anderen Nutzern des sozialen Netzwerks gesehen zu werden.
-
In einigen Instanzen beziehen Nutzer bestimmte Tokens in ihre Microposts mit ein. Derartige Tokens können Wörter, Phrasen, Symbole oder dergleichen beinhalten, die vorgesehen sind, um den Micropost mit einem gegebenen Gegenstand (z. B. einer Einheit, einem Standort, einem Ereignis, deinem Subjekt oder dergleichen) in Verbindung zu bringen. Ein Micropost kann beispielsweise ein Hashtag (dargestellt durch ein „#” der von einem Stichwort oder einer Stichphrase gefolgt wird) beinhalten, der einer gegebenen Einheit, einem gegebenen Standort, einem gegebenen Ereignis oder dergleichen zugeordnet ist. Ein Nutzer kann das Hashtag „#qpr” beispielsweise innerhalb eines Microposts verwenden, um den Micropost mit dem Fußballteam Queens Park Rangers in Verbindung zu bringen. Derartige Tokens können eine vereinfachte Einstufung von Microposts ermöglichen. Ein Nutzer kann beispielsweise einfach auf ein Hashtag eines Microposts klicken, um auf sonstige Microposts zuzugreifen, die dasselbe Hashtag beinhalten.
-
Obwohl Microblogging-Dienstleistungen den Austausch von kurzen Informationselementen bereitstellen, können sie nur eine beschränkte Menge von Informationen über Nutzer, Standorte, Ereignisse oder dergleichen, die mit den Microposts in Verbindung gebracht werden, bereitstellen. Obwohl ein Nutzer über das Klicken eines Hashtags beispielsweise in der Lage sein kann, über ein Ereignis auf eine große Anzahl von Microposts zugreifen, ist er möglicherweise nicht in der Lage, einen Standort des Ereignisses, der auf den Inhalt der Microposts basiert, auszumachen. Darüber hinaus sind sich Nutzer, die Microposts erstellen, möglicherweise nicht der Tokens, die sich auf ihre Microposts beziehen, bewusst und setzen diese daher möglicherweise auch nicht ein. Infolgedessen kann der Micropost eines Nutzers möglicherweise nicht mit verwandten Microposts eingestuft werden, da er kein entsprechendes Token enthält.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Verschiedene Ausführungsformen der Verfahren und Vorrichtung für das Assoziieren von Microblogging-Nachrichten mit geographischen Standorten werden hierin bereitgestellt. In einigen Ausführungsformen wird ein computerimplementiertes Verfahren bereitgestellt, das das Empfangen von Microposts, einschließlich Tokens, beinhaltet, wobei eine Teilmenge von Microposts identifiziert werden, die ein gegebenes Token beinhalten, das einen geographischen Standort ermittelt, der der Teilmenge an Microposts entspricht, die das gegebene Token beinhalten, wobei das gegebene Token mit dem geographischen Standort in Verbindung gebracht wird, und auch das Aktualisieren eines Index beinhalten, um eine Assoziation zwischen dem gegebenen Token und dem geographischen Standort widerzuspiegeln.
-
In einigen Ausführungsformen wird ein nicht-transitorisches computerlesbares Medium bereitgestellt, das darauf gespeicherte Programmanweisungen umfasst, die vom Prozessor ausführbar sind, um die im Folgenden aufgeführten Schritte herbeizuführen: das Empfangen von Microposts, einschließlich Tokens, die eine Teilmenge von Microposts identifizieren, die ein gegebenes Token beinhalten, das einen geographischen Standort ermittelt, der der Teilmenge von Microposts entspricht, die das gegebene Token beinhalten, wobei das gegebene Token mit dem geographischen Standort in Verbindung gebracht wird, und auch das Aktualisieren eines Index beinhalten, um eine Assoziation zwischen dem gegebenen Token und dem geographischen Standort widerzuspiegeln.
-
In einigen Ausführungsformen wird ein System bereitgestellt, das ein oder mehrere Speicher beinhaltet, die Anweisungen speichern und ein oder mehrere Prozessoren beinhaltet, an die ein oder mehrere Speicher gekoppelt sind, und die konfiguriert sind, um darauf gespeicherte Anweisungen auszuführen, um die im Folgenden aufgeführten Schritte durchzuführen: das Empfangen von Microposts, einschließlich Tokens, die eine Teilmenge von Microposts identifizieren, die ein gegebenes Token beinhalten, das einen geographischen Standort ermittelt, der der Teilmenge an Microposts entspricht, die das gegebene Token beinhalten, wobei das gegebene Token mit dem geographischen Standort in Verbindung gebracht wird, und auch das Aktualisieren eines Index beinhalten, um eine Assoziation zwischen dem gegebenen Token und dem geographischen Standort widerzuspiegeln.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Flussdiagramm, das ein Verfahren für das Assoziieren eines Microblogging-Tokens mit einem geographischen Standort in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung, verdeutlicht.
-
2 ist eine Tabelle, die ein Log von empfangenen Microposts in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht.
-
3 ist eine Tabelle, die eine Teilmenge von Microposts verdeutlicht, die mit einem Token in Verbindung gebracht werden, das sich in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung befindet.
-
4 ist eine Tabelle, die ein Token-Standort-Index in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht.
-
5 ist ein Flussdiagramm, das ein Verfahren für das Bereitstellen eines vorgeschlagenen Tokens verdeutlicht, das in ein Micropost in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung miteinbezogen werden soll.
-
6 ist ein Blockdiagramm, das ein exemplarisches Microblogging-Umfeld in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht.
-
7 ist ein Blockdiagramm, das ein exemplarisches Computersystem in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Wie nachfolgend detaillierter abgehandelt, werden Systeme und Verfahren für das Assoziieren von Microposts mit geographischen Standorten bereitgestellt, die zumindest teilweise auf Standortinformationen basieren, die in Verbindung mit Microposts bereitgestellt werden.
-
Wie hier in verwendet, kann ein „Micropost” sich auf Inhalte beziehen, die mittels Microblogging-Dienstleistungen gepostet werden. Ein Micropost kann beispielsweise Kurznachrichten (z. B. einen „Tweet”, eine Statusaktualisierung innerhalb eines sozialen Netzwerks, oder dergleichen) beinhalten, die von einer Einheit (z. B. einem Nutzer, einem Unternehmen oder dergleichen) erstellt werden, und an andere Einheiten (z. B. Follower, Abonnenten, Freunde oder dergleichen) übermittelt werden, die ein Interesse an das Empfangen von Inhalten, die von der Einheit erstellt werden, geäußert haben. In einigen Ausführungsformen kann ein Micropost eine beschränkte Menge an Inhalten (z. B. eine Länge von bis zu ungefähr 150 Zeichen) beinhalten.
-
In einigen Instanzen kann ein Micropost mit einem oder mehreren Tokens in Verbindung gebracht werden. Ein Token kann Teil eines Microposts (z. B. eine Einheit, ein Standort, ein Ereignis, ein Subjekt, oder dergleichen), der mit einem gegebenen Gegenstand in Verbindung gebracht werden soll, sein oder auf sonstige Weise damit in Verbindung gebracht werden. In einigen Ausführungsformen kann ein Token ein Hashtag beinhalten, der von einem „#” dargestellt und von einem Stichwort oder einer Stichphrase gefolgt wird, die den Micropost mit einer bestimmten Sache in Verbindung bringen sollen. Ein Micropost kann beispielsweise das Hashtag „#qpr” (das mit dem Fußballteam Queens Park Rangers in Verbindung gebracht wird) beinhalten, um den Micropost mit dem Fußballteam Queens Park Rangers in Verbindung zu bringen. Microposts, die ein ähnliches Hashtag beinhalten oder auf sonstige Weise damit in Verbindung gebracht werden, können zusammengefasst werden. In einigen Instanzen kann ein Nutzer einfach auf ein Hashtag eines Microposts klicken, um auf sonstige Microposts derselben Kategorie zuzugreifen (z. B. solche, die dasselbe Hashtag beinhalten)
-
In einigen Instanzen kann ein Micropost mit geographischen Standortinformationen (Geostandort) in Verbindung gebracht werden. Ein Micropost, der zum Beispiel unter Verwendung einer elektronischen Einrichtung, wie zum Beispiel eines Mobiltelefons generiert wurde, kann mit Informationen geografisch markiert sein (geo-tagged), die auf einen Geostandort der elektronischen Einrichtung zu einer bestimmten oder ungefähren Uhrzeit schließen lassen, während der der Micropost generiert wurde. Das geografische Markieren (das Geo-Tagging) eines Microposts kann das Hinzufügen von Metadaten hinsichtlich des Geostandorts (z. B. geographische Koordinaten) zum Micropost oder eine sonstige Assoziation von Metadaten des Geostandorts mit den Micropost beinhalten. Ein geografisch markierter (geo-tagged) Micropost, der mittels eines Mobiltelefons generiert worden ist, kann den Inhalt des Microposts und eine geografische Markierung (ein Geotag) beinhalten, die geographische Koordinaten beinhaltet, die auf einen Geostandort des Mobiltelefons zu einer bestimmten oder ungefähren Zeit schließen lassen, zu der der Micropost vom Nutzer generiert wurde.
-
In einigen Ausführungsformen werden Informationen zum Geostandort, die mit dem Micropost in Verbindung gebracht werden, verwendet, um ein oder mehrere Geostandorte, die mit einem Micropost Token in Verbindung gebracht werden sollen, zu identifizieren. Falls beispielsweise eine große Anzahl von Microposts generiert werden, die das Hashtag „#qpr” beinhalten, und die mit Standortinformationen geographisch markiert sind (geo-tagged), die dem Loftus Road Stadium in London entsprechen, kann das Hashtag „#qpr” mit dem Geostandort des Loftus Road Stadiums in Verbindung gebracht werden.
-
In einigen Ausführungsformen wird ein Geostandort, der als mit einem gegebenen Token in Verbindung stehend identifiziert wird, verwendet, um die vorgeschlagenen Tokens, die mit einem Mikropost in Verbindung gebracht werden, bereitzustellen In den Fällen, in denen ein Nutzer ein Micropost generiert, während er neben dem Loftus Road Stadium steht, kann die Nähe des Nutzers zum Loftus Road Stadium identifiziert werden und dem Nutzer kann das vorgeschlagene Hashtag „#qpr” als Anregung bereitgestellt werden. Derartige vorgeschlagene Tokens können Nutzer von Tokens darüber in Kenntnis setzen, dass sie sich nicht darüber im Klaren sind, dass sie ein Hashtag zu einem Mikropost auf schnelle und einfache Weise hinzuzufügen und/oder dass sie es einem Nutzer ermöglichen können, dasselbe zu tun.
-
In einigen Ausführungsformen wird eine Einheit, die mit einem gegebenen Token in Verbindung gebracht wird, mit dem Identifizierten Geostandort in Verbindung gebracht. In den Fällen, in denen das Hashtag „#qpr” beispielsweise mit einem Fußballspiel in Verbindung gebracht wird, das vom Fußballteam Queens Park Rangers spielt wird, wird das Fußballspiel mit dem Geostandort des Loftus Road Stadiums in Verbindung gebracht. Eine derartige Assoziation kann verwendet werden, um Standortinformationen für ein Ereignis zu extrahieren, die andernfalls nicht zur Verfügung stehen können. In dem Fall, in dem ein Fußballspiel, an dem beispielsweise das Fußballteam Queens Park Rangers teilnimmt, nicht veröffentlicht wird, kann ein Geostandort für das Spiel zumindest teilweise auf Basis von Information hinsichtlich des Geostandorts identifiziert werden, der in Verbindung mit Microposts eingeholt wird, die das Hashtag „#qpr” beinhalten.
-
In einigen Ausführungsformen kann der Standort eines Nutzers zumindest teilweise auf dessen Veröffentlichung eines Microposts basieren, das ein gegebenes Token beinhaltet, wobei das gegebene Token mit einem Standort in Verbindung gebracht wird In den Fällen, in denen das Hashtag „#qpr” beispielsweise mit dem Standort des Loftus Road Stadium in Verbindung gebracht wird, kann ein Nutzer, der ein Mikropost generiert, das das Hashtag „#qpr” beinhaltet, mit dem Standort Loftus Road Stadium in Verbindung gebracht werden. Eine derartige Assoziation kann verwendet werden, um den Standort des Benutzers zu ermitteln. Derartige Informationen können im Kontext der Personalisierung von Suchergebnissen verwendet werden.
-
1 ist ein Flussdiagramm, das ein Verfahren 100 für das Assoziieren eines Microblogging-Tokens mit einem Geostandort in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung, verdeutlicht. Verfahren 100 kann im Allgemeinen das Empfangen von Microposts beinhalten, die Microblogging-Tokens beinhalten, die eine Teilmenge von empfangenen Microposts identifizieren, die ein gegebenes Microblogging-Token beinhalten, das einen Geostandort identifiziert, der einer Teilmenge von Microposts entspricht und das gegebene Microblogging-Token mit dem identifizierten Geostandort in Verbindung bringt.
-
Verfahren 100 kann das Empfangen von Microposts beinhalten, die, wie in Block 102 abgebildet, Microblogging-Tokens („Tokens”) beinhalten. In einigen Ausführungsformen beinhaltet das Empfangen von Microposts, die Tokens beinhalten, das Empfangen ein oder mehrerer Microposts von einem oder mehreren Nutzern. Ein Microblog-Server (z. B. Microblog-Server 602) kann beispielsweise Microposts empfangen, die von einer Anzahl von Nutzern über Microblogging-Anwendungen generiert werden, die auf ihren entsprechenden elektronischen Einrichtungen (z. B. Mobiltelefone, mobile Computer, Desktop-Computer, oder dergleichen) ausgeführt werden. Die gesendeten Microposts können von Microblogging-Servern empfangen und eingesammelt werden. Der Microblogging-Server kann beispielsweise einen Block von empfangenen Microposts in einer Datenbank speichern. In einigen Ausführungsformen beinhalten mindestens einige der empfangenen Microposts Microblogging-Tokens, die damit in Verbindung gebracht werden. Beispielsweise können mindestens die von den Nutzern generierten Microposts ein oder mehrere Hashtags, die in den Inhalt des Microposts eingebettet sind, beinhalten.
-
2 ist eine Tabelle, die ein Log 200 von empfangenen Microposts 202 in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht. Der veranschaulichte Abschnitt des Index 200 beinhaltet neun Microposts 202, die jeweils einen Identifikator, einen Verfasser, eine Uhrzeit, einen Standort (sofern verfügbar) und entsprechende Micropost-Inhalte beinhalten. Der Identifikator kann den entsprechenden Micropost auf charakteristische Weise in Bezug auf andere Microposts des Logs 200 identifizieren. Der Verfasser kann einen Identifikator beinhalten, der auf die Einheit schließen lässt, die den entsprechenden Micropost generierte. Der Verfasser kann beispielsweise einen Benutzernamen (z. B. Bildschirmname) hinzufügen, der mit einem Microblogging-Konto in Verbindung gebracht wird, das verwendet wird, um den entsprechenden Micropost zu generieren. Die Uhrzeit kann einen Zeitstempel beinhalten, der auf eine Uhrzeit schließen lässt, während der der entsprechende Micropost generiert wurde. In einigen Ausführungsformen ist es erforderlich, dass der Verfasser sich damit einverstanden erklärt, dass Standortinformationen des Verfassers verwendet werden, um den Micropost geografisch zu markieren (geotag). In einigen Ausführungsformen wird das Einverständnis des Verfassers erfordert, um Informationen zu speichern, die den Verfasser mit einer bestimmten Uhrzeit und einem bestimmten Standort in Verbindung setzen, die mit dem Micropost in Verbindung stehen, oder um Informationen mit anderen Nutzern zu teilen. In einigen Implementierungen kann Log 200 nur den Micropost-Identifikator, die Uhrzeit und den Standort des Microposts speichern.
-
Der Standort kann auf einen Standort schließen lassen, von dem aus, der entsprechende Micropost generiert wird. In einigen Ausführungsformen kann der Standort von den Standortdaten abgeleitet werden, die in Verbindung mit dem entsprechenden Micropost bereitgestellt werden. In den Fällen, in denen ein Nutzer beispielsweise einen Micropost von einem mobilen elektronischen Gerät aus sendet, in das ein Ortungsgerät, das ein Global Positioning System (GPS) verwendet, eingebaut ist, kann das mobile elektronische Gerät die GPS-Einrichtung dazu verwenden, um seine geographischen Koordinaten zur oder der ungefähren Uhrzeit zu bestimmen, während der, der Nutzer den Micropost generierte, und kann den Micropost mit den Metadaten des Geostandorts, die die geografischen Koordinaten beinhalten, geografisch markieren (geotag). In einigen Ausführungsformen ermittelt der Microblogging-Server nach Empfang des geographisch markierten (geo-tagged) Microposts vom elektronischen Gerät, den entsprechenden Standort, der zumindest teilweise auf die Metadaten des Geostandorts basiert. Obwohl einige Ausführungsformen das Einholen von Standortinformationen beinhalten, die auf den Metadaten des Geostandorts basieren, die von einem elektronischen Gerät bereitgestellt werden, das verwendet wird, um den Micropost zu generieren, können andere Arten von Standortbestimmungsverfahren verwendet werden, um die Standortinformationen zu ermitteln. Der Standort des elektronischen Geräts zur oder zur ungefähren Uhrzeit, zu der der Micropost generiert wird, kann beispielsweise unter Verwendung von Standortbestimmungen, die sich des Triangulationsverfahrens bedienen, unter Verwendung von Standortbestimmungen, die sich des Internet-Protokolls bedienen (z. B. Nachschlagetabellen, die IP-Adresseinträge enthalten) oder dergleichen bestimmt werden. Obwohl die dargestellten Standorte zu illustrativen Zwecken als „LN” bezeichnet werden, können alle bezeichneten Standorte für jede beliebige Vielzahl an Standortdaten, wie etwa geographischen Koordinaten (z. B. Breitengrad- und Längengradkoordinaten) repräsentativ sein. In einigen Ausführungsformen stehen Standortinformationen für einige Microposts zur Verfügung, wobei für andere Microposts möglicherweise keine Standortinformationen zur Verfügung stehen. In der dargestellten Ausführungsform wurden die Standortinformationen beispielsweise für jede der ersten acht Microposts (z. B. Microposts 1–8) identifiziert, wobei für den neunte Micropost keine Standortinformationen identifiziert worden sind (z. B. Micropost 9)
-
Die Micropostinhalte können Textstränge des entsprechenden Microposts beinhalten. Wie bereits veranschaulicht, können in mindestens einigen der Microposts ein oder mehrere Tokens (z. B. Hashtags) innerhalb deren Inhalten eingebettet sein, obwohl dies bei anderen Microposts nicht der Fall ist. Jeder der Microposts 1 und 3–9 verfügt beispielsweise über ein Hashtag (z. B. „#qpr” oder „#olympics”), das innerhalb deren Inhalten eingebettet ist, obwohl dies bei Micropost 2 nicht der Fall ist.
-
Verfahren 100 kann das Identifizieren einer Teilmenge von Microposts beinhalten, die, wie am Block 104 abbildet, ein gegebenes Microblogging-Token beinhalten. In einigen Ausführungsformen beinhaltet das Identifizieren einer Teilmenge von Microposts, die ein gegebenes Microblogging-Token beinhalten, das Identifizieren eines gegebenen Tokens und das Filtern des empfangenen Microposts, um die eine Teilmenge von empfangenen Microposts zu identifizieren, die je das gegebene Token beinhalten oder auf sonstige Weise damit in Verbindung gebracht werden. Der Microblogging-Server kann beispielsweise das Hashtag „#qpr” als ein Token von Interesse identifizieren und eine Teilmenge von Microposts des Logs 200, dessen Unterstrang „#qpr” innerhalb seines Inhalts eingebettet ist, identifizieren. In einigen Ausführungsformen ist die Teilmenge der Microposts auf Microposts beschränkt, die innerhalb eines gegebenen Zeitraums gesendet werden. Die Teilmenge kann nur Microposts beinhalten, die Zeitstempel beinhalten, die darauf schließen lassen, dass diese innerhalb der letzten zwei Stunden generiert worden sind. Es versteht sich von selbst, dass ein Zeitrahmen von zwei Stunden illustrativen Zwecken bereitgestellt wird, obwohl jeder geeignete Zeitrahmen hierfür verwendet werden kann (z. B. zehn Minuten, dreißig Minuten, eine Stunde, fünf Stunden, vierundzwanzig Stunden, eine Woche, usw.).
-
3 ist eine Tabelle, die eine Teilmenge 300 von Microposts verdeutlicht, die mit dem Hashtag „#qpr” in Verbindung gebracht werden, das sich in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung befindet. Wie abgebildet beinhaltet Teilmenge 300 Microposts 202, die innerhalb der letzten 2 Stunden veröffentlicht wurden, und innerhalb deren Inhalt der Unterstrang „#qpr” eingebettet liegt und schließt Micropost-Einträge 202 aus, die vor mehr als zwei Stunden generiert wurden und in deren Inhalt der Unterstrang „#qpr” nicht eingebettet liegt. Jeder aus Micropost 1 (dessen Uhrzeit angibt, dass er vor mehr als zwei Stunden generiert wurde), Micropost 2, (der kein Hashtag beinhaltet) und Micropost 6 (der zwar das Hashtag „#olympics”, aber dafür das „#qpr” nicht beinhaltet) sind beispielsweise von Teilmenge 300 ausgeschlossen. Obwohl Teilmenge 300 zu illustrativen Zwecken sechs Microposts beinhaltet, versteht es sich von selbst, dass eine Teilmenge jede Anzahl von Microposts beinhalten kann, die die Filterkriterien (z. B. diejenigen, die mit dem Token von Interesse in Verbindung gebracht werden und innerhalb des zuvor festgelegten Zeitrahmens generiert werden) erfüllen.
-
Verfahren 100 kann, wie an Block 106 abgebildet, das Identifizieren eines oder mehrerer Standorte beinhalten, die der Teilmenge von Microposts, einschließlich des gegebenen Tokens, entsprechen. In einigen Ausführungsformen basiert das Identifizieren einer oder mehrerer Standorte, die der Teilmenge von Microposts entsprechen, zumindest teilweise auf Standortinformationen, die mit der Teilmenge von Microposts in Verbindung gebracht werden. Eine oder mehrere Geostandorte können beispielsweise für die Teilmenge 300 identifiziert werden, basierend zumindest teilweise auf Standorte L1–L5, L7, L8 usw. In einigen Ausführungsformen werden der eine oder die mehreren Standorte unter Verwendung eines Clustering-Verfahrens identifiziert. Ein dbscan oder, auf ähnliche Weise auch, ein Clustering-Algorithmus kann beispielsweise verwendet werden, um ein oder mehrere Clusterstandorte basierend auf die Standorte L1–L5, L7, L8 usw., zu identifizieren. In einigen Ausführungsformen kann ein Standort nicht infolge der Bewertung identifiziert werden. In den Fällen, in denen die Standorte L1–L5, L7, L8 usw. weit verbreitet sind und an einem gegebenen Standort über keine identifizierbare Dichte verfügen, kann der Clustering-Algorithmus einen Standort, der mit Teilmenge 300 in Verbindung gebracht werden soll, möglicherweise nicht identifizieren. In einigen Ausführungsformen kann ein einzelner Standort infolge der Bewertung identifiziert werden. In den Fällen, in denen die Standorte L1–L5, L7, L8 usw. an einem einzelnen Standort beispielsweise über eine identifizierbare Dichte verfügen, kann der Clustering-Algorithmus den einzelnen Standort zur Assoziation mit Teilmenge 300 identifizieren. Ein derartiger einzelner Standort kann beispielsweise, in den Fällen, in denen ein Ereignis, wie etwa ein Fußballspiel über einen einzigen Veranstaltungsort verfügt, identifiziert werden. In den Fällen, in denen L1–L5, L7, L8 usw. am Standort Loftus Road Stadium (wo Queens Park Rangers an Fußballspielen teilnehmen) beispielsweise über eine identifizierbare Dichte verfügen, kann das Anwenden eines Clustering-Algorithmus einen Standort „L9”, der dem Geostandort des Loflus Road Stadiums entspricht, identifizieren. In einigen Ausführungsformen können mehrere Standorte infolge der Bewertung identifiziert werden. In denjenigen Fällen, in denen die Standorte L1–L5, L7, L8 usw. an zwei oder mehreren Standorten beispielsweise über eine identifizierbare Dichte verfügen, kann der Clustering-Algorithmus die zwei oder mehreren Standorte zur Assoziation mit Teilmenge 300 identifizieren. Mehrere Standorte können beispielsweise, in den Fällen, in denen ein Ereignis, wie etwa die olympischen Spiele über mehrere Veranstaltungsorte verfügen, identifiziert werden. In den Fällen, in denen L1–L5, L7, L8 usw. über eine identifizierbare Dichte am Standort der olympischen Schwimmeinrichtung und am Standort der olympischen Leichtathletik-Einrichtungen verfügen, kann die Anwendung eines Clustering-Algorithmus einen Standort „L10”, der dem Geostandort der olympischen Schwimmeinrichtung entspricht und einen Standort „L11”, der dem Geostandort der olympischen Leichtathletik Einrichtungen entspricht, identifizieren.
-
In einigen Ausführungsformen kann der Schritt zum Identifizieren eines oder mehrerer Geostandorte, die einer Teilmenge an Microposts einschließlich der gegebenen Tokens entsprechen, nur da zu Ende gebracht werden, wo die Untermenge ein oder mehrere Schwellenwertkriterien erfüllt. Der Schritt zum Identifizieren eines oder mehrerer Geostandorte, die der Teilmenge von Microposts, einschließlich des gegebenen Tokens, entsprechen, kann beispielsweise ergriffen werden, falls einige oder sämtliche der folgenden Bedingungen erfüllt sind: (1) die Teilmenge von Microposts beinhaltet mindestens eine Schwellenanzahl von Microposts (n); (2) die Teilmenge von Microposts beinhaltet mindestens eine Schwellenanzahl von Microposts, die Standortinformationen (p) beinhalten; und (3) die Teilmenge von Microposts beinhaltet mindestens eine Schwellenanzahl von einzelnen Verfassern (q). Die illustrierte Untermenge 300 beinhaltet mindestens sechs Microposts (z. B. Microposts 3–5 und 7–9), mindestens fünf unterschiedliche Verfasser (z. B. alex, jane, john_1, josh, und qpr_layer) und mindestens fünf Microposts, die über Standardinformationen (z. B. L3, L4, L5, L7 und L8) verfügen. Aus diesem Grund müssen die Grenzwertkriterien für das Fortfahren mit dem Identifizieren eines Standorts die folgenden Bedingungen erfüllen: (1) die Teilmenge von Microposts beinhaltet mindestens 5 Microposts (n = 5); (2) die Teilmenge von Microposts beinhaltet mindestens vier Microposts (p = 4), die Standardinformationen beinhalten; und (3) die Teilmenge von Microposts beinhaltet mindestens drei unterschiedliche Verfasser (q = 3), Teilmenge 300 kann die Schwellenkriterien erfüllen und die Teilmenge kann wie oben besprochen (z. B. über die Anwendung eines Clustering-Algorithmus) in einem Versuch ein oder mehrere Geostandorte die Teilmenge 300 entsprechend identifizieren, ausgewertet werden. Es versteht sich von selbst, dass exemplarische Schwellenwertkriterien zu illustrativen Zwecken bereitgestellt werden und sämtliche geeigneten Werte und Kombinationen an Kriterien beinhalten können. Beispielsweise kann ein weiterer exemplarischer Satz an Schwellenwertkriterien n = 20, p = 5, und q = 5 beinhalten.
-
Wie bei Block 108 abgebildet, kann Verfahren 100 das Assoziieren des gegebenen Tokens mit einem oder mehreren identifizierten Standorten beinhalten In einigen Ausführungsformen beinhaltet das Assoziieren des gegebenen Tokens mit einem oder mehreren identifizierten Standorten das Aktualisieren eines Index, um die identifizierte Assoziation zwischen dem gegebenen Token von Interesse und dem einen oder den mehreren Standorten widerspiegeln. In den Fällen, in denen der geographische Standort L9 mindestens teilweise auf Teilmenge 300 basierend, die Microposts beinhaltet, die mit dem Hashtag „#qpr”, Verbindung stehen, identifiziert wird, kann ein Token-Standortindex aktualisiert werden, um die Assoziation zwischen dem Hashtag „#qpr” und dem Standort L9 widerzuspiegeln.
-
4 ist eine Tabelle, die ein Token-Standort-Index 400 in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht. Wie abgebildet, spiegelt ein erster Eintrag des Index 400 eine Verbindung zwischen dem Hashtag „#qpr” und dem Standort L9 wieder. Wie oben bemerkt, kann Standort L9 dem Geostandort des Loftus Road Stadiums in London entsprechen. Ferner spiegelt ein zweiter Eintrag des Index 400 eine Assoziation zwischen dem Hashtag „#olympic” und den Standorten L10 und L11 wider. Wie oben bemerkt, können die Standorte L10 und L11 jeweils den Geostandorten einer olympischen Schwimmeinrichtung und einer olympischen Leichtathletik-Einrichtung entsprechen. Index 400 kann aus Referenzgründen gespeichert werden (z. B. in einer Datenbank 610 eines Microblogservers 602).
-
Die Beziehungen, die zwischen den Microblogging-Tokens und den Geostandorten identifiziert werden, können auf vielfältige Art und Weise verwendet werden. Während des Generierens eines Microposts, können einem Nutzer beispielsweise ein oder mehrere vorgeschlagene Tokens bereitgestellt werden, die mit Standorten in Verbindung gebracht werden, die sich in der Nähe des jeweiligen Standorts des Nutzers befinden. 5 ist ein Flussdiagramm, das ein Verfahren 500 zum Vorschlagen eines Tokens verdeutlicht, der in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung in einen Micropost miteinbezogen werden soll. Verfahren 500 kann das Empfangen von Nutzereingaben beinhalten, die sich wie in Block 502 abgebildet, auf das Generieren eines Microposts beziehen. Ein Nutzer kann beispielsweise eine Mikroblockanwendung auf einem mobilen Gerät öffnen und eine Option auswählen, um ein Mikropost zu generieren und selbst damit zu beginnen, den Inhalt eines Mikroposts in ein Eingabefeld der Microblogging-Anwendung einzugeben. Die Nutzereingabe oder zumindest ein Hinweis auf die Nutzereingabe kann auf den Microblogging-Server übertragen werden. Der Microblogging-Server kann dann wie bei Block 504 abgebildet, einen Standort, der mit dem Nutzer in Verbindung steht, identifizieren. In einigen Ausführungsformen kann der Standort des Benutzers unter Verwendung geeigneter Verfahren, wie etwa der Bewertung der Metadaten des Geostandorts (z. B. Geotag-Daten), Standortbestimmungsverfahren mittels einer Triangulation, Standortermittlungsverfahren mittels des Internetprotokolls (IP) (z. B. Nachschlagetabellen, die IP-Adresseinträge enthalten) und/oder dergleichen ermittelt werden. In denjenigen Fällen, in denen die Eingabedaten des Nutzers geographisch markiert sind (geo-tagged), so dass sie Standort L12 beinhalten, kann der Microblogging-Server beispielsweise den Geostandort L12 als Standort des Benutzers identifizieren.
-
Wie bei Block 506 abgebildet, kann Verfahren 500 das Identifizieren eines Tokens beinhalten, der mit dem identifizierten Geostandort in Verbindung steht. In einigen Ausführungsformen beinhaltet das Identifizieren eines Tokens, der mit dem identifizierten Geostandort in Verbindung steht, das Identifizieren eines oder mehrerer Token, die mit einem Standort, der sich in der Nähe des identifizierten Standorts des Benutzers befindet, in Verbindung stehen. Der Microblogging-Server kann den Token-Standortindex 400 beispielsweise bewerten, um Tokens zu identifizieren, die Standorten entsprechen, die innerhalb der Schwellenwertentfernung des identifizierten Standorts L12 fallen. Unter Bezugnahme des Token-Standortindex der 4, bei der eine Schwellenwert-Entfernung von einem Kilometer spezifiziert ist und Standort L12 sich innerhalb eines ein Kilometer-Radius von Standort L9 befindet, kann das Hashtag „#qpr” als ein Token identifiziert werden, das mit dem identifizierten Standort in Verbindung steht. Als weiteres Beispiel, in dem eine Schwellenwertentfernung von zwei Kilometer spezifiziert wird, befindet sich Standort L12 innerhalb eines zwei Kilometer Radius von Standort L9 und Standort L12 innerhalb eines zwei Kilometer Radius von mindestens einem der Standorte „L10” oder „L11” entfernt, wobei sowohl Hashtag „#qpr” als auch Hashtag „#olympics” als Token identifiziert werden kann, das mit dem identifizierten Standort in Verbindung steht. Um einem Nutzer in einigen Ausführungsformen ein Token vorzuschlagen, ist das Einverständnis des Nutzers erforderlich, um die Standortinformationen des Nutzers zu verwenden. Der Nutzer kann sich beispielsweise damit einverstanden erklären, dass sein aktueller Standort verwendet wird, um ein Micropost-Token vorzuschlagen. In einigen Ausführungsformen kann auch das Einverständnis des Nutzers erforderlich sein, um den aktuellen Standort des Nutzers zu verwenden, um den Standort, der mit dem Micropost-Token in Verbindung steht feinzusteuern. Das Einverständnis des Nutzers kann beispielsweise erforderlich sein, um den aktuellen Standort des Benutzers mit dem Micropost-Token-Identifikator in Log 200 zu speichern. In einigen Ausführungsformen kann auch das Einverständnis des Nutzers erforderlich sein, um den Identifikator und den Standort des Nutzers mit dem Token-Identifikator in Log 200 zu speichern, oder um die gespeicherten Standortinformationen des Nutzers mit anderen Nutzern, die den Micropost sehen, zu teilen.
-
Wie bei Block 508 abgebildet, kann Verfahren 500 das Bereitstellen eines vorgeschlagenen Tokens für das Einbeziehen in den Micropost beinhalten. In einigen Ausführungsformen kann das Bereitstellen eines vorgeschlagenen Tokens zur Einbeziehung in den Micropost das Bereitstellen eines oder mehrerer der identifizierten Tokens zur Verwendung im Micropost beinhalten. In denjenigen Fällen, in denen beispielsweise die Hashtags „#qpr” und „#olympics” an Block 506 identifiziert werden, kann ein Display des elektronischen Geräts ein Feld für das Eingeben des Micropost-Inhalts entlang mit einer vom Nutzer auswählbaren Option beinhalten, um ein oder beide der Hashtags „#qpr” und „#olympics” miteinzubeziehen. Ein Nutzer kann einfach ein oder mehrere der Hashtags auswählen, um diese innerhalb seines Microposts miteinzubeziehen. In einigen Ausführungsformen können die identifizierten Tokens verwendet werden, um eine Funktion zum automatischen Vervollständigen bei der Eingabe von Hashtags bereitzustellen. In denjenigen Fällen, in denen Hashtag „#qpr” beispielsweise an Block 506 identifiziert wird, nachdem der Nutzer das Symbol „#” in das Feld für die Eingabe des Micropost-Inhalts eingegeben hat, kann das Hashtag „#qpr” automatisch in das Feld bevölkert werden, so dass der Nutzer nicht mehr die Gesamtheit des Hashtags eingeben muss.
-
In einigen Ausführungsformen kann etwas, wie etwa ein Ereignis, das mit einem Token in Verbindung gebracht wird, mit einem Standort in Verbindung gebracht werden, der dem Token entspricht. In denjenigen Fällen, in denen ein Fußballspiel beispielsweise mit dem Hashtag „#qpr” und dem Standort L9 als dem Hashtag „#qpr” entsprechend identifiziert wurde, kann das Fußballspiel mit dem Standort L9 in Verbindung gebracht werden. In einigen Ausführungsformen kann ein Index aktualisiert werden, um die Assoziation zwischen dem jeweiligen Gegenstand und dem Standort widerzuspiegeln. Ein Ereignisstandortindex (z. B. das in Datenbank 610 des Microblogging-Servers 602 gespeichert wurde) kann beispielsweise aktualisiert werden, um einen Eintrag zu beinhalten, der das Fußballspiel als am Standort L9 stattfindend widerspiegelt. Eine derartige Assoziation kann verwendet werden, um diejenigen Standardinformationen zu identifizieren und bereitzustellen, die andernfalls nicht verfügbar wären. In denjenigen Fällen, in denen es sich bei dem Fußballspiel, um ein Freundschaftsspiel handelt, das beispielsweise nicht publik gemacht worden ist und ein Nutzer eine kartenbasierte Suche für London generiert, kann ein Suchserver (z. B. Suchserver 602b) ermitteln, dass das Fußballspiel basierend auf einer Bewertung des Ereignis-Standort-Index an Standort L9 stattfindet und als Suchergebnis dienen, das eine Karte des entsprechenden Londoner Teils beinhaltet, das eine Markierung für das Fußballspiel beinhaltet, das an Standort L9 (d. h. Standort Loftus Road Stadium) auf der Karte angezeigt wird. Ein derartiger Ereignis-Standort-Index kann eine Log-Historie der Standorte von nicht gut publik gemachten Ereignissen bereitstellen.
-
In einigen Ausführungsformen wird ein Nutzer, der ein Token in einem Micropost bereitstellt, mit einem Standort, der dem Token entspricht, in Verbindung gebracht. In denjenigen Fällen, in denen er einem Nutzer ein Micropost absendet, das das Hashtag „#qpr” beinhaltet, und der Standort L9 als dem Hashtag „#qpr” (z. B. wie hierin besprochen) entsprechend identifiziert wird, kann der Nutzer mit dem Standort L9 in Verbindung gebracht werden. In einigen Ausführungsformen ist das Einverständnis des Nutzers erforderlich, um den Nutzer mit dem Standort, der mit dem Micropost Token in Verbindung gebracht wird, zu bringen. In einigen Ausführungsformen kann ein Index aktualisiert werden, um die Verbindung zwischen dem Nutzer und dem Standort widerzuspiegeln. Ein Nutzer-Standort-Index (z. B. in Datenbank 610 eines Makroblock-Servers 602 gespeichert) kann beispielsweise aktualisiert werden, um einen Eintrag zu beinhalten, der widerspiegelt, dass der Nutzer sich an Standort L9 befindet. Eine derartige Verbindung kann verwendet werden, um Standorte zu identifizieren, die verwendet werden können, um Nutzern personalisierte Inhalte bereitzustellen. In denjenigen Fällen, in denen ein Nutzer beispielsweise ein Micropost absendet, der das Hashtag „#qpr” von seinem elektronischen Gerät enthält und der Nutzer im Anschluss daran vom elektronischen Gerät aus eine Suchanfrage für „Hotels” absendet, kann der Suchserver (z. B. Server 602b) auf Basis auf der Bewertung des Nutzer-Standort-Index bestimmen, dass der Nutzer sich an Standort L9 befindet und kann aufgrund der Tatsache, dass der Nutzer mit Standard L9 in Verbindung gebracht wird, eine Reihe von Suchergebnissen identifizieren und einstufen. In denjenigen Fällen, in denen L9 sich in London befindet, können die Suchergebnisse für Hotels aus dem Londoner Raum beispielsweise einer Verstärkung ihres Rankings unterzogen werden. Obwohl Ausführungsformen im Kontext der personalisierten Suchergebnisse besprochen worden sind, versteht es sich von selbst, dass Standortinformationen für einen Nutzer je nach Kontext auf vielfältige Weise verwendet werden kann.
-
Obwohl bestimmte Ausführungsformen in Bezug auf Login-Daten in Verbindung mit bestimmten Nutzer-Identifikationsinformationen zum Zwecke der Illustration verwendet worden sind, können Ausführungsformen eine beliebige Vielzahl von Verfahren beinhalten, um die Identität der Nutzer zu schützen. Beispielsweise darf der Name des Verfassers nicht eingesammelt werden, oder sofern er eingesammelt wird, muss dieser anonymisiert werden, um die tatsächliche Identität der Verfasser zu schützen. Darüber hinaus können die eingeholten Daten Aufbewahrungsrichtlinien unterliegen, aufgrund derer Daten, sobald sie zur Bearbeitung verwendet worden sind, vernichtet werden müssen. Der Micropost kann beispielsweise nach Ablauf einer bestimmten Zeitdauer (z. B. zwei Stunden) oder sobald die Daten bearbeitet und die Informationen von Interesse extrahiert worden sind, vernichtet werden. In bestimmten Ausführungsformen ist das Einverständnis des Verfassers oder des Nutzers erforderlich, um Informationen, wie etwa Standortinformationen vom Verfasser oder Nutzer einzusammeln. Falls der Verfasser oder der Nutzer kein Einverständnis für die Verwendung ihrer Standortinformationen erteilen, können bestimmte der hierin beschriebenen Funktionalitäten (z. B. personalisierte Suchergebnisse) für derartige Personen nicht verfügbar gemacht werden.
-
Verfahren 100 und 500 sind exemplarische Ausführungsformen von Verfahren, die in Übereinstimmung mit den hierin beschriebenen Verfahren eingesetzt werden Verfahren 100 und 500 können modifiziert werden, um Variationen ihrer Implementierungen und Verwendungen zu ermöglichen. Die Reihenfolge der Schritte der Verfahren 100 und 500 können verändert werden und verschiedene Elemente können hinzugefügt, in eine andere Reihenfolge gesetzt, kombiniert, ausgelassen, modifiziert werden, usw. Verfahren 100 und 500 können in Software, Hardware oder einer Kombination davon implementiert werden. Einige oder sämtliche der Verfahren 100 und 500 können von einem oder mehreren der hierin beschriebenen Module/Anwendungen implementiert werden, wie etwa dem Microblogging-Verarbeitungsmodul 612a, dem Suchmodul 602b, und/oder den Anwendungen 608, die nachfolgend in Bezug auf die Microblogging-Umgebung 600 der 6 genauer abgebildet und beschrieben werden.
-
6 ist ein Blockdiagramm, das ein exemplarisches Microblogging-Umfeld 600 in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung verdeutlicht. Umfeld 600 beinhaltet einen Microblogging-Server 602a, einen Suchserver 602b, und ein Zugangsgerät 604, die kommunikativ über ein Netzwerk 606 gekoppelt sind.
-
Netzwerk 606 kann ein elektronisches Kommunikationsnetzwerk, wie etwa das Internet, ein lokales Netzwerk (LAN), ein Wide Area Network (WAN), ein Mobilfunkkommunikationsnetzwerk oder dergleichen beinhalten. Netzwerk 606 kann ein einzelnes Netzwerk oder eine Kombination von Netzwerken beinhalten.
-
Zugangsgeräte 604 können ein elektronisches Gerät beinhalten, das in der Lage ist, Informationen über Netzwerk 606 zu vermitteln. Zugangsgerät 604 kann beispielsweise einen Personal Computer (z. B. einen Desktop Computer) eine mobile Recheneinrichtung (z. B. einen Laptop oder Tablett-Computer), eine Mobilfunkkommunikationseinrichtung (z. B. ein Mobiltelefon), einen persönlichen digitalen Assistenten (PDA) oder dergleichen beinhalten. In einigen Ausführungsformen handelt es sich beim Zugangsgerät 604 um einen Client von Servern 602. In einigen Ausführungsformen beinhaltet das Zugangsgerät 604 verschiedene Eingabe-/Ausgabe-(I/O)-Schnittstellen, wie etwa eine grafische Benutzeroberfläche (z. B. ein Display), eine Benutzerschnittstelle zur akustischen Ausgabe (z. B. Lautsprecher), eine Benutzerschnittstelle zur akustischen Eingabe (z. B. Mikrofon), eine Tastatur, einen Pointer/eine Auswahleinrichtung (z. B. Maus, Trackball, Touchpad, Touchscreen, Stylus oder dergleichen), ein Drucker oder dergleichen. In einigen Ausführungsformen beinhaltet das Zugangsgerät 604 allgemeine Rechenkomponenten und/oder eingebettete Systeme, die mit spezifischen Komponenten zur Durchführung spezifischer Aufgaben optimiert worden sind. In einigen Ausführungsformen beinhaltet Zugangsgerät 604 ein Computersystem, das hinsichtlich zumindest 7 Ähnlichkeiten zum unten beschriebenen Computersystem 1000 aufweist.
-
In einigen Ausführungsformen beinhaltet Zugangsgerät 604 Programme/Anwendungen 608, die verwendet werden können, um eine Anfrage für Inhalte zu generieren (z. B. eine Suchanfrage), um Inhalte bereitzustellen (z. B. ein Micropost), um Inhalte wiederzugeben und/oder um eine Anfrage an andere Geräte zu senden und von anderen Geräten (z. B. Servern 602) über Netzwerk 606 zu empfangen. Zugangsgerät 604 kann beispielsweise eine Internet-Browser-Anwendung beinhalten, die die Kommunikation mit Servern 602 und/oder sonstigen Einheiten der Umgebung 600 ermöglicht. In einigen Ausführungsformen beinhalten Anwendungen 608 Module, die über Programmanweisungen verfügen, die mittels eines Computersystems ausführbar sind, um einige oder sämtliche der hierin beschriebenen Funktionalitäten hinsichtlich der Zugangsgeräte 604 zu leisten.
-
Die Server 602a und 602b können Netzwerkeinheiten beinhalten, die Anfragen der Clienteinheiten, wie etwa Anfragen von Zugangsgeräten 604 bedienen. Server 602 können eine Inhalte-Seite, wie etwa eine Webseite, eine File Transfer Protocol (Protokoll zur Dateiübertragung)- oder FTP-Seite, eine Internet-Suchseite, eine Microblogging-Seite oder sonstige Quellen von Netzwerkinhalten hosten. In einigen Ausführungsformen beinhaltet Server 602a einen Microblogging-Server. In einigen Ausführungsformen beinhaltet Server 602b einen Suchserver. In einigen Ausführungsformen beinhalten Server 602 Datenspeicher 610a und 610b oder haben einen sonstigen Zugang dazu. Datenspeicher 610 können ein oder mehrere Datenbanken oder ähnliche Datenaufbewahrungsorte beinhalten. In einigen Ausführungsformen beinhaltet Datenspeicher 610a einen Aufbewahrungsort für das Speichern von Micropost-Log 200, Micropost-Teilmengen (z. B. Teilmenge 300), Token-Standort-Index 400, eines Ereignis-Standort-Index, eines Nutzer-Standort-Index und/oder dergleichen. In einigen Ausführungsformen beinhaltet Microblogging-Server 602a ein Microblogging-Verarbeitungsmodul 612a. Modul 612a kann Programmanweisungen beinhalten, die von einem Computersystem ausführbar sind, um einige oder sämtliche der hierin beschriebenen Funktionalitäten hinsichtlich des Microblogging-Servers 602a auszuführen. In einigen Ausführungsformen beinhaltet Server 602b ein Verarbeitungsmodul 612b. Modul 612b kann Programmanweisungen beinhalten, die von einem Computersystem ausführbar sind, um einige oder sämtliche der hierin beschriebenen Funktionalitäten hinsichtlich des Such-Servers 602b auszuführen. In einigen Ausführungsformen beinhaltet ein oder beide Server 602 ein Computersystem, das zumindest in Bezug zu 7 Ähnlichkeiten zum unten beschriebenen Computersystem 1000 aufweist. Obwohl Server 602 je von einem einzelnen Kasten in 6 repräsentiert werden, können Server 602 je einen einzelnen Server (oder ein ähnliches System), oder eine Vielzahl von Servern (und/oder ähnliche Systeme) beinhalten. Jeder der Server 602 kann beispielsweise je eine Vielzahl von verschiedenen Servern (und/oder ähnlichen Systemen) beinhalten, die individuell oder in Kombination angewendet werden können, um einige oder alle der hierin beschriebenen Funktionalitäten hinsichtlich der entsprechenden Server 602 durchzuführen.
-
In einigen Ausführungsformen wird Umfeld 600 verwendet, um die hierin beschriebenen Verfahren anzuwenden Ein oder mehrere Nutzer 614 können beispielsweise Micropost 616 über ihre entsprechenden Zugangsgeräte 604 senden. Server 602a kann ein Log der Microposts (z. B. Log 200) im Datenspeicher 610a speichern. Server 602a kann das Log des Microposts bewerten, um Standorte zu identifizieren, die mit Tokens in Verbindung gebracht werden. Server 602a kann ein Token-Standortindex (z. B. Token-Standortindex 400), der in Datenspeicher 610a gespeichert ist, aktualisieren, um die identifizierten Assoziationen zwischen Tokens und Standorten widerzuspiegeln. Wo eine Nutzereingabe in Bezug zur Generierung eines Microposts an einem gegebenen Standort empfangen wird, kann Server 602a den Token-Standortindex bewerten, um zu identifizieren, ob ein Token mit dem gegebenen Standort in Verbindung gebracht wird, und ob ein Token identifiziert wird, um den Token als vorgeschlagenen Token 620 zur Einbeziehung in den Micropost bereitzustellen. In denjenigen Fällen, in denen Abfrage 618 beispielsweise eine kartenbasierte Suche für London beinhaltet, kann Server 602b bestimmen, dass ein an Standort L9 stattfindendes Fußballspiel auf Basis einer Bewertung eines Ereignis-Standort-Index stattfindet, der im Datenspeicher 601b gespeichert ist und als ein Suchergebnis 622 dient, das eine Karte des entsprechenden Londoner Stadtteils beinhaltet, das eine Markierung für das Fußballspiel beinhaltet, das auf der Karte an Standort L9 (d. h. Standort Loftus-Road Stadium) angezeigt wird. In denjenigen Fällen, in denen ein Nutzer beispielsweise eine Suchabfrage 618 für „Hotels” vom Zugangsgerät 604 sendet, kann Suchserver 602b auf Basis einer Bewertung des Nutzer-Standort-Index bestimmen, dass der Nutzer sich an Standort L9 befindet, der im Datenspeicher 601b gespeichert ist und kann auf Basis des Nutzers, der mit Standort L9 in Verbindung gebracht wird, einen Satz von Suchergebnissen 622 identifizieren und einstufen. In denjenigen Fällen, in denen L9 sich in London befindet, können die Suchergebnisse für Hotels aus dem Londoner Raum beispielsweise einer Verstärkung ihres Rankings unterzogen werden.
-
Exemplarisches Computersystem
-
7 ist ein Blockdiagramm, das ein exemplarisches Computersystem 1000 illustriert. Verschiedene Abschnitte der hierin beschriebenen Systeme und Verfahren können ein oder mehrere Computersysteme beinhalten oder auf Systemen ausgeführt werden, die Ähnlichkeiten mit System 1000 aufweisen. Server 602a, Server 602b und/oder Zugangsgeräte 604 können beispielsweise eine Konfiguration beinhalten, die Ähnlichkeiten mit mindestens einem Abschnitt des Computersystems 1000 beinhaltet. Ferner können die hierin beschriebenen Verfahren/Prozesse/Module (z. B. Microblog-Verarbeitungsmodul 612a, Suchverarbeitungsmodul 612b, und/oder Anwendungen 608) von einem oder mehreren Verarbeitungssystemen ausgeführt werden, die mit denen des Computersystems 1000 Ähnlichkeiten aufweisen.
-
Computersystem 1000 kann ein oder mehrere Prozessoren (z. B. Prozessoren 1010a–1010n) beinhalten, die an Speicher 1020 gekoppelt sind, eine Eingabe/Ausgabe-(I/O)-Geräteschnittstelle 1030 und eine Netzwerkschnittstelle 1040 über eine Eingabe/Ausgabe-(I/O)-Schnittstelle 1050 beinhalten. Ein Prozessor kann eine einzelne Prozessoreinrichtung und/oder eine Vielzahl von Prozessoreinrichtungen (z. B. verteilte Prozessoren) beinhalten. Ein Prozessor kann ein geeigneter Prozessor sein, der in der Lage ist, Anweisungen auszuführen/durchzuführen. Ein Prozessor kann eine Zentraleinheit (CPU) beinhalten, die Programmanweisungen durchführt, um grundlegende arithmetische, logische und andere Eingabe-/Ausgabe-Operationen des Computersystems 1000 durchzuführen. Ein Prozessor (z. B. Prozessor-Firmware, Protokollstack, ein Datenbank-Managementsystem, ein Betriebssystem oder eine Kombination davon), der eine Ausführungsumgebung für Programmanweisungen schafft. Ein Prozessor kann einen programmierbaren Prozessor beinhalten. Ein Prozessor kann allgemeine und/oder spezialisierte Mikroprozessoren beinhalten. Ein Prozessor kann Anweisungen und Daten von einem Speicher (z. B. Systemspeicher 1020) empfangen. Bei Computersystem 1000 kann es sich um ein Einprozessorsystem einschließlich eines Prozessors (z. B. Prozessor 1010a), oder um ein Multiprozessorsystem, einschließlich einer beliebigen Anzahl an geeigneten Prozessoren (z. B. 1010a–1010n) handeln. Mehrere Prozessoren können eingesetzt werden, um eine parallele und/oder sequenzielle Durchführung einer oder mehrerer Abschnitte der hierin beschriebenen Verfahren durchzuführen. Die hierin beschriebenen Verfahren und Logikströme können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durchzuführen indem Inputdaten betrieben und entsprechende Outputs generiert werden. Die hierin beschriebenen Verfahren und Logikströme können nicht nur von spezialisierten Logikschaltkreisen z. B. FPGA (feldprogrammierbares Gate-Array) oder ASIC (anwendungsspezifische integrierte Schaltung) ausgeführt werden, sondern die Vorrichtung kann auch in Form von spezialisierten Logikschaltkreisen implementiert werden. Computersystem 1000 kann ein Computersystem beinhalten, das sich einer Vielzahl von Computersystemen bedient (z. B. verteilte Computersysteme), um verschiedene Verarbeitungsfunktionen zu implementieren.
-
I/O-Geräteschnittstelle 1030 kann eine Schnittstelle zur Verbindung einer oder mehrerer I/O-Geräte 1060 zum Computersystem 1000 bereitstellen. I/O-Geräte können jegliche Vorrichtungen beinhalten, die das Empfangen von Eingaben (z. B von einem Nutzer) und/oder das Bereitstellen von Ausgaben (z. B einem Nutzer) vorsehen. I/O-Geräte 1060 ein können beispielsweise grafische Benutzerschnittstellendisplays (z. B. eine Kathodenstrahlröhre (CRT) oder ein Flüssigkristallanzeigen-(LCD)-Monitor), Zeigeeinrichtungen (z. B. eine Computermaus oder Trackball), Tastaturen, Keypads, Scanningeinrichtungen, Spracherkennungseinrichtungen, Gestenerkennungseinrichtungen, Drucker, Audio-Lautsprecher, Mikrofone, Kameras oder dergleichen beinhalten. I/O-Geräte 1060 können über eine drahtgebundene oder drahtlose Verbindung mit Computersystem 1000 verbunden werden. I/O-Geräte 1060 können von einem entfernten Standort aus mit Computersystem 1000 verbunden werden. I/O-Geräte 1060, die auf einem Remotecomputersystem positioniert sind, können beispielsweise über ein Netzwerk und Netzwerkschnittstelle 1040 mit Computersystem 1000 verbunden werden.
-
Netzwerkschnittstelle 1040 kann einen Netzwerkadapter beinhalten, der eine Verbindung des Computersystems 1000 mit einem Netzwerk bereitstellt. Netzwerkschnittstelle 1040 kann den Datenaustausch zwischen Computersystem 1000 und anderen mit dem Netzwerk verbundenen Vorrichtungen ermöglichen. Netzwerkschnittstelle 1040 ist sowohl in der Lage, eine drahtgebundene als auch eine drahtlose Kommunikation unterstützen. Das Netzwerk kann ein elektronisches Kommunikationsnetzwerk, wie etwa das Internet, ein lokales Netzwerk (LAN), ein Wide Area Network (WAN), ein Mobilfunkkommunikationsnetzwerk oder dergleichen beinhalten.
-
Systemspeicher 1020 kann konfiguriert werden, um Programmanweisungen 1100 und/oder Daten 1110 zu speichern. Programmanweisungen 1100 können von einem Prozess (z. B. einem oder mehreren Prozessoren 1010a–1010n) ausführbar sein, um ein oder mehrere Ausführungsformen der vorliegenden Methode zu implementieren. Anweisungen 1100 können Module von Computerprogrammanweisungen für das Implementieren eines oder mehrerer der hierin beschriebenen Verfahren mit Bezug auf verschiedene Bearbeitungsmodule beinhalten. Programmanweisungen können ein Computerprogramm (auch als ein Programm, Software, Softwareanwendung, Script oder Code bekannt) beinhalten. Ein Computerprogramm kann in einer beliebigen Form von Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen. Ein Computerprogramm kann eine Einheit beinhalten, die zur Benutzung in einer Rechenumgebung geeignet ist, einschließlich als ein unabhängiges Programm, ein Modul, eine Komponente, eine Subroutine. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem Dokument in Markup-Sprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern). Ein Computerprogramm kann eingesetzt werden, um an einem oder mehreren Computerprozessoren ausgeführt zu werden, die sich an einem Standort vor Ort befinden oder über mehrere Standorte verteilt und über ein Kommunikationsnetz verbunden sind.
-
Systemspeicher 1020 kann einen materiellen Programmträger beinhalten. Ein materieller Programmträger kann ein propagiertes Signal und/oder ein nicht-transitorisches computerlesbares Speichermedium beinhalten. Ein propagiertes Signal kann ein künstlich erzeugtes Signal (z. B. ein maschinengeneriertes elektrisches, optisches oder elektromagnetisches Signal) beinhalten, in das darin eingebettete Informationen hineincodiert worden sind. Das propagierte Signal kann über ein geeignetes Sendegerät übertragen und/oder über ein geeignetes Empfangsgerät empfangen werden. Ein nicht transitorisches computerlesbares Speichermedium kann eine maschinenlesbare Speichereinrichtung, eine maschinenlesbares Speichersubstrat, ein Speichereinrichtung und jegliche Kombination davon oder dergleichen beinhalten. Ein nicht transitorisches computerlesbares Speichermedium kann nicht flüchtige Speicher (z. B. Flash-Speicher, ROM, PROM, EPROM, EEPROM-Speicher), flüchtige Speicher (e. g., Direktzugriffsspeicher (RAM), statischer RAM-Speicher (SRAM), synchroner dynamischer Direktzugriffsspeicher (SDRAM), Massenspeicher (z. B. CD-ROM und/oder DVD-ROM, Festplatten) oder dergleichen beinhalten. Systemspeicher 1020 kann ein nicht-flüchtiges computerlesbares Speichermedium beinhalten, das über darauf gespeicherte Programmanweisungen verfügt, die über einen Computerprozessor durchführbar sind (z. B. ein oder mehrere der Prozessoren 1010a–1010n), um ein oder mehrere des hierin beschriebenen Gegenstands und der Funktionsoperationen zu verursachen. Ein Speicher (z. B. Systemspeicher 1020) kann eine einzelne Speichervorrichtung und/oder eine Vielzahl von Speichervorrichtungen (z. B. verteilte Speichereinrichtungen) beinhalten.
-
I/O-Schnittstelle 1050 kann konfiguriert sein, um den I/O Verkehr zwischen den Prozessoren 1010a–1010n, dem Systemspeicher 1020, der Netzwerkschnittstelle 1040, den I/O Einrichtungen 1060 und/oder anderen peripheren Einrichtungen zu koordinieren. I/O Schnittstelle 1050 kann Protokolle, Zeitplanungen oder sonstige Datentransformationen durchführen, um Datensignale von einer Komponente (z. B. Systemspeicher 3020) in ein Format umzuwandeln, das sich dazu eignet, um von einem anderen Komponenten (z. B. Prozessoren 1010a–1010n) verwendet zu werden. I/O Schnittstelle 1050 kann Unterstützung für Geräte beinhalten, die durch verschiedene Arten von peripheren Busen, wie etwa dem Peripheral Component Interconnect (PCI) Busstandard oder dem Universal Serial Bus (USB) Standard angebracht werden.
-
Ausführungsformen der hierin beschriebenen Verfahren können unter Verwendung einer einzelnen Instanz des Computersystems 1000, oder mehreren Computersystemen 1000, die konfiguriert werden, um verschiedene Abschnitte oder Instanzen von Ausführungsformen zu hosten. Verschiedene Computersysteme 1000 können eingesetzt werden, um eine parallele oder sequenzielle Durchführung/Ausführung einer oder mehrerer Abschnitte der hierin beschriebenen Verfahren durchzuführen.
-
Für Fachleute auf dem Gebiet wird klar sein, dass Computersystem 1000 lediglich der Veranschaulichung dient und nicht dazu bestimmt ist, um den Schutzumfang der hierin beschriebenen Verfahren einzugrenzen. Computersystem 1000 kann jegliche Kombination von Vorrichtungen und/oder Softwareoptionen beinhalten, die die Leistung der hierin beschriebenen Verfahren durchführen oder auf sonstige Weise vorsehen. Computersystem 1000 kann beispielsweise einen Desktop-Computer, einen Laptop-Computer, einen Tablett-Computer, eine Servereinrichtung, eine Clienteinrichtung, ein Mobiltelefon, einen Personal Digital Assistant (PDA), einen mobilen Audio- oder Videoplayer, eine Spielkonsole, ein Global Positioning System (GPS) oder dergleichen beinhalten. Computersystem 1000 kann auch mit anderen Geräten verbunden sein, die nicht illustriert sind, oder kann als eigenständiges System betrieben werden. Darüber hinaus kann die von den illustrierten Komponenten bereitgestellte Funktionalität in einigen Ausführungsformen mit einer geringeren Anzahl von Komponenten kombiniert werden oder auf zusätzliche Komponenten verteilt werden. Auf ähnliche Weise kann die Funktionalität einiger der illustrierten Komponenten in einigen Ausführungsformen nicht bereitgestellt werden und/oder es kann eine zusätzliche Funktionalität sonstiger Art zur Verfügung stehen.
-
Für Fachleute auf dem Gebiet wird klar sein, dass während unterschiedliche Gegenstände im Laufe ihrer Nutzung als in Speicher oder Speichervorrichtungen gespeichert illustriert sind, diese Gegenstände oder Abschnitte zum Zwecke des Speichermanagement und der Datenintegrität zwischen Speichern oder sonstigen Speichervorrichtungen übertragen werden können. Alternativ dazu können in anderen Ausführungsformen einige oder alle der Softwarekomponenten, die in Speichern oder sonstigen Einrichtungen durchgeführt werden und mit dem illustrierten Computersystem mittels einer Interrechner-Kommunikation kommunizieren. Einige oder alle Systemkomponenten der Datenstrukturen können auch auf einem Computer zugänglichen Medium oder auf einem tragbaren Artikel gespeichert werden (z. B. als Anweisungen oder strukturierte Daten), um von einem entsprechenden Treiber gelesen zu werden. Unterschiedliche Beispiele dazu sind weiter oben beschrieben. In einigen Ausführungsformen können Anweisungen, die auf einem Computer zugänglichen Medium, das vom Computersystem 1000 getrennt ist, auf Computersystem 1000 über Übertragungsmedien oder Signale, wie etwa elektronische, elektromagnetische oder digitale Finale übertragen werden, die über ein Kommunikationsmedium, wie etwa ein Netzwerk und/oder eine drahtlose Verbindung übermittelt werden. Verschiedene Ausführungsformen können ferner das Empfangen, Senden oder Speichern von Anweisungen und/oder Daten beinhalten, die in Übereinstimmung mit der vorhergehenden Beschreibung über ein computerzugängliches Medium erfolgen. Dementsprechend kann die vorliegende Erfindung mit anderen Computersystemkonfigurationen ausgeführt werden.
-
Es sei darauf hingewiesen, dass die Beschreibung und die Zeichnungen nicht dazu gedacht sind, die Erfindung auf die bestimmte offenbarte Form zu beschränken, sondern im Gegenteil, soll die Erfindung alle Modifikationen, Äquivalente und Alternativen abdecken, die in den Geist und den Schutzumfang der vorliegenden Erfindung fallen, wie er durch die angefügten Ansprüche definiert wird. Weitere Modifikationen und alternative Ausführungsformen der verschiedenen Aspekte der Erfindung werden Fachleuten im Hinblick auf diese Beschreibung ersichtlich werden. Demgemäß ist diese Beschreibung lediglich als illustrierend zu verstehen und hat den Zweck des Lehrens der allgemeinen Weise der Ausführung der Erfindung für den Fachmann. Es ist selbstverständlich, dass die hier gezeigten und beschriebenen Formen der Erfindung als Beispiele von Ausführungsformen verstanden werden sollen. Elemente und Materialien können durch die hier gezeigten und beschriebenen ersetzt werden, Teile und Prozesse können umgekehrt oder ausgelassen werden und einige Merkmale der Erfindung können unabhängig eingesetzt werden, so wie der Fachmann dies gemäß der Beschreibung der Erfindung erkennen wird. Änderungen in den hier beschriebenen Elementen können vorgenommen werden, ohne vom Geist und Gegenstand der Erfindung, wie in den nachfolgenden Ansprüchen beschrieben, abzurücken. Die hierin verwendeten Überschriften dienen nur organisatorischen Zwecken und sollen nicht dazu verwendet zu werden, den Rahmen der Beschreibung zu begrenzen.
-
Wie in dieser Anmeldung durchweg verwendet, wird das Wort „kann” in einem zulassenden Sinn (d. h. mit der Bedeutung „hat die Möglichkeit zu”) anstatt dem verpflichtenden Sinn (d. h. mit der Bedeutung „muss”) verwendet. Die Worte „beinhalten” und „einschließlich” bedeuten „einschließlich, jedoch nicht beschränkt auf”. Wie in dieser Anmeldung durchweg verwendet, sollen die Singularformen „ein”, „eine” und „der, die, das” auch die Pluralformen einschließen, sofern es der Kontext nicht anders angibt. So kann ein Verweis auf ein „Element” beispielsweise eine Kombination von zwei oder mehreren Elementen beinhalten. Wenn nicht spezifisch anders angegeben, wie aus der folgenden Diskussionen ersichtlich, wird es verstanden, dass durch die vorliegende Spezifikation hindurch, Diskussionen, die solche Begriffe wie „verarbeiten” oder „rechnen” oder „ausführen” oder „bestimmen” oder ähnliches verwenden, sich auf die Handlung und Prozesse einer spezifischen Vorrichtung beziehen, wie z. B. ein für spezifische Aufgaben vorgesehener Computer oder ähnliche für spezifische Aufgaben vorgesehene elektronische Verarbeitungs-/Rechenvorrichtungen. Im Kontext dieser Spezifikation ist ein für spezifische Aufgaben vorgesehener Computer oder eine ähnliche für spezifische Aufgaben vorgesehene elektronische Verarbeitungs-/Rechenvorrichtung in der Lage, Signale zu manipulieren und umzuwandeln, die typischerweise als physikalische, elektronische oder magnetische Größen innerhalb von Speichern, Registern oder anderen Informationsspeichervorrichtungen, Übertragungsvorrichtungen oder Anzeigevorrichtungen der Computervorrichtung dargestellt sind.