-
Hintergrund
-
Sofern nicht anders angegeben, bilden die in diesem Abschnitt beschriebenen Materialien keinen Stand der Technik für die Ansprüche und gelten nicht als Stand der Technik durch Aufnahme in diesem Abschnitt.
-
Moderne Kommunikationsvorrichtungen verwenden im Allgemeinen einen Mechanismus, durch den ein Benutzer eine Zieladresse, wie beispielsweise eine Telefonnummer, eine E-Mail-Adresse oder dergleichen zur Verwendung für einen neuen Kommunikationsvorgang bestimmen oder auswählen kann. Insbesondere kann eine Kommunikationsvorrichtung eine Benutzeroberfläche, über die ein Benutzer ausdrücklich eine gewünschte Adresse eingeben und/oder eine gewünschte Adresse aus einer von der Vorrichtung angebotenen Adressliste auswählen kann, umfassen. Zum Beispiel kann die Vorrichtung eine Anzeige umfassen, die eine grafische Benutzeroberfläche (GUI) darstellt, die ein Textfeld definiert, in dem ein Benutzer eine Zieladresse eingeben kann. Während der Benutzer beginnt, die Adresse einzugeben, kann die Vorrichtung nach einer vorbestimmten Anzahl eingegebener Zeichen automatisch innerhalb der GUI eine Adressliste anzeigen, die dem bis dahin eingegebenen Text entspricht. Der Benutzer kann dann eine Adresse aus den angezeigten auswählen. Als weiteres Beispiel kann die Vorrichtung ein Adressbuch oder ein Kommunikationsprotokoll, das verschiedene Adressen auflistet, anzeigen, und der Benutzer kann durch diese Liste blättern und eine gewünschte Adresse auswählen, um damit einen Kommunikationsvorgang zu initiieren.
-
Zusammenfassung
-
Hierin offenbart ist ein Verfahren und eine entsprechende Vorrichtung zum Bereitstellen von Zieladressvorschlägen auf einer Kommunikationsvorrichtung, um einen Benutzer bei der Auswahl einer Adresse zur Verwendung für einen neuen Kommunikationsvorgang zu unterstützen.
-
In einem Aspekt ist z. B. ein nicht-transitorisches, computerlesbares Medium mit gespeicherten Programmbefehlen offenbart, die durch einen Prozessor zur Durchführung verschiedener Funktionen ausführbar sind, um Vorschläge für Zieladressen bereitzustellen. In der Praxis können die Funktionen das Bestimmen einer ersten Vielzahl von Zählwerten eines ersten Kommunikationstyps umfassen, wobei jeder Zählwert aus der ersten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen des ersten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus einer Vielzahl von Kommunikationsadressen verortet wird. Ferner können die Funktionen das Bestimmen einer zweiten Vielzahl von Zählwerten eines zweiten Kommunikationstyps umfassen, wobei jeder Zählwert der zweiten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen des zweiten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet wird. Und der erste Kommunikationstyp und der zweite Kommunikationstyp können sich gegenseitig ausschließen.
-
Die Funktionen können dann das Erfassen einer ersten Anfrage einer Vielzahl von Zieladressvorschlägen umfassen, wobei die erste Anfrage von einem ersten Anwendungsprogramm empfangen und einem ersten neuen Kommunikationsvorgang zugeordnet wird, und wobei der erste neue Kommunikationsvorgang den ersten Kommunikationstyp umfasst. Im Gegenzug können die Funktionen als Reaktion auf die erste Anfrage eine erste Liste senden, die die Vielzahl von Kommunikationsadressen umfasst, wobei als Reaktion darauf, dass der erste neue Kommunikationsvorgang den ersten Kommunikationstyp umfasst, die Vielzahl der Kommunikationsadressen in der ersten Liste entsprechend einem ersten Rangordnungsvorgang, der mindestens teilweise auf die erste Vielzahl von Zählwerten beruht, geordnet wird. Zudem beruht mindestens ein Zählwert aus der ersten Vielzahl von Zählwerten zumindest teilweise auf einen oder mehreren Kommunikationensvorgängen, die durch mindestens ein zweites Anwendungsprogramm, das sich von dem ersten Anwendungsprogramm unterscheidet, verortet wird.
-
Unter Verwendung dieser Funktionen kann das erste Anwendungsprogramm die erste Liste für eine Ausgabe auf einer Anzeige senden. Ein Benutzer kann dann bequem eine der dargestellten Zieladressen zur Verwendung für den ersten neuen Kommunikationsvorgang auswählen.
-
In einem weiteren Aspekt können die Funktion zusätzlich zum Bestimmen der ersten Vielzahl von Zählwerten und der zweiten Vielzahl von Zählwerten das Erfassen einer Anfrage von Zieladressvorschlägen für einen neuen Kommunikationsvorgang umfassen und als Reaktion auf die Anfrage, (i) wenn der neue Kommunikationsvorgang den ersten Kommunikationstyp umfasst, Darstellen einer ersten Liste durch eine Benutzeroberfläche, die die Vielzahl von Kommunikationsadressen umfasst, die zumindest teilweise auf der Grundlage der für die Vielzahl der Kommunikationsadressen bestimmten ersten Vielzahl von Zählwerten und nicht auf der Grundlage der für die Vielzahl der Kommunikationsadressen bestimmten zweiten Vielzahl von Zählwerten sortiert wird, jedoch, (ii) wenn der neue Kommunikationsvorgang den zweiten Kommunikationstyp umfasst, Darstellen einer zweiten Liste durch eine Benutzeroberfläche, die die Vielzahl von Kommunikationsadressen umfasst, die zumindest teilweise auf der Grundlage der für die Vielzahl der Kommunikationsadressen bestimmten zweiten Vielzahl von Zählwerten und nicht auf der Grundlage der für die Vielzahl der Kommunikationsadressen bestimmten ersten Vielzahl von Zählwerten sortiert wird.
-
In einem noch weiteren Aspekt ist ein Verfahren zum Darstellen von Zieladressvorschlägen offenbart. Das Verfahren kann eine Kommunikationsvorrichtung umfassen, die eine erste Vielzahl von Zählwerten von Kommunikationsvorgängen eines ersten Kommunikationstyps erfasst, wobei jeder Zählwert aus der ersten Vielzahl von Zählwerten auf eine entsprechende Menge von Kommunikationsvorgängen des ersten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus einer Vielzahl von Kommunikationsadressen verortet wird. Des Weiteren kann das Verfahren eine Kommunikationsvorrichtung umfassen, die eine zweite Vielzahl von Zählwerten von Kommunikationsvorgängen eines zweiten Kommunikationstyps bestimmen, wobei jeder Zählwert aus der zweiten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen des zweiten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet wird, wobei sich der erste Kommunikationstyp und der zweite Kommunikationstyp gegenseitig ausschließen.
-
Das Verfahren kann dann die Kommunikationsvorrichtung umfassen, die eine Anfrage für Zieladressvorschläge für einen neuen Kommunikationsvorgang erfasst und als Antwort auf die Anfrage, (i) wenn der neue Kommunikationsvorgang den ersten Kommunikationstyp umfasst, Darstellen einer ersten Liste auf einer Benutzeroberfläche durch die Kommunikationsvorrichtung, die die Vielzahl von Kommunikationsadressen umfasst, die zumindest teilweise auf der Grundlage der für die Vielzahl von Kommunikationsadressen bestimmten ersten Vielzahl von Zählwerten und nicht auf Grundlage der für die Vielzahl von Kommunikationsadressen bestimmten zweiten Vielzahl von Zählwerten sortiert wird, jedoch (ii) wenn der neue Kommunikationsvorgang den zweiten Kommunikationstyp umfasst, Darstellen einer zweiten Liste auf einer Benutzeroberfläche durch die Kommunikationsvorrichtung, die die Vielzahl von Kommunikationsadressen umfasst, die zumindest teilweise auf Grundlage der für die Vielzahl von Kommunikationsadressen bestimmten zweiten Vielzahl von Zählwerten und nicht auf der Grundlage der für die Vielzahl der Kommunikationsadressen bestimmten ersten Vielzahl von Zählwerten sortiert wird.
-
Alternativ oder zusätzlich dazu kann das Verfahren einen Computerprozessor umfassen, der eine erste Vielzahl von Zählwerten von Kommunikationsvorgängen, die durch eine oder mehrere Anwendungen einer ersten Anwendungsklasse verortet werden, bestimmt, wobei jeder Zählwert aus der ersten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen beruht, die durch eine oder mehrere Anwendungen der ersten Anwendungsklasse an eine entsprechende Kommunikationsadresse aus einer Vielzahl von Kommunikationsadressen verortet wird, und wobei der Computerprozessor eine zweite Vielzahl von Zählwerten von Kommunikationsvorgängen bestimmt, die durch eine oder mehrere Anwendungen einer zweiten Anwendungsklasse verortet werden, wobei jeder Zählwert aus der zweiten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen beruht, die durch eine oder mehrere Anwendungen der zweiten Anwendungsklasse an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet werden.
-
Das Verfahren kann dann den Computerprozessor umfassen, der eine erste Anfrage für eine Vielzahl von Zieladressvorschlägen erfasst, wobei die erste Anfrage von einer ersten Anwendung empfangen und einem ersten neuen Kommunikationsvorgang zugeordnet wird, und wobei die erste Anwendung ein Mitglied der ersten Anwendungsklasse ist. Des Weiteren kann das Verfahren als Reaktion auf die erste Anfrage umfassen, Darstellen einer ersten Liste auf einer Benutzeroberfläche durch den Computerprozessor, die die Vielzahl der Kommunikationsadressen umfasst, wobei als Reaktion darauf, dass die erste Anwendung ein Mitglied der ersten Anwendungsklasse ist, die Vielzahl der Kommunikationsadressen in der ersten Liste entsprechend einem ersten Rangordnungsvorgang, der zumindest teilweise auf der ersten Vielzahl von Zählwerten von Kommunikationsvorgängen beruht, die durch eine oder mehrere Anwendungen der ersten Anwendungsklasse verortet wird, geordnet wird.
-
Ferner kann das Verfahren den Computerprozessor umfassen, der eine zweite Anfrage einer Vielzahl von Zieladressvorschlägen erfasst, wobei die zweite Anfrage von einer zweiten Anwendung empfangen und einem zweiten neuen Kommunikationsvorgang zugeordnet wird, und wobei die zweite Anwendung ein Mitglied der zweiten Anwendungsklasse ist. Und das Verfahren kann dann als Reaktion auf die zweite Anfrage umfassen, Darstellen einer zweiten Liste auf einer Benutzeroberfläche durch den Computerprozessor, die die Vielzahl der Kommunikationsadressen umfasst, wobei als Reaktion darauf, dass die zweite Anwendung ein Mitglied der zweiten Anwendungsklasse ist, die Vielzahl der Kommunikationsadressen in der zweiten Liste entsprechend einem zweiten Rangordnungsvorgang geordnet wird, die zumindest teilweise auf der zweiten Vielzahl von Zählwerten von Kommunikationsvorgängen beruht, die durch eine oder mehrere Anwendungen der zweiten Anwendungsklasse verortet wird, wobei die zweite Rangordnung sich von der ersten Rangordnung unterscheidet.
-
Diese sowie weitere Aspekte, Vorteile und Alternativen werden für den Durchschnittsfachmann auf diesem Gebiet durch das Lesen der nachfolgenden detaillierten Beschreibung gegebenenfalls unter Bezugnahme auf die beigefügten Zeichnungen deutlicher. Ferner versteht es sich, dass die Beschreibung in dieser Zusammenfassung und an anderer Stelle in diesem Dokument dazu bestimmt ist, das Verfahren und die Vorrichtung nur beispielhaft und nicht einschränkend zu beschreiben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt ein vereinfachtes Blockdiagramm einer Kommunikationsvorrichtung, die innerhalb des vorliegenden Verfahrens bedienbar ist.
-
2 zeigt ein detailliertes Diagramm eines repräsentativen nicht-transistorischen Datenspeichersystems
-
3 zeigt eine Darstellung von beispielhaften Nutzungsanzahldaten für unterschiedliche Kommunikationsklassifizierungen.
-
4 zeigt ein Flussdiagramm, das Funktionen darstellt, die anhand des vorliegenden Verfahrens durchführbar sind.
-
5 zeigt ein weiteres Flussdiagramm, das Funktionen darstellt, die anhand des vorliegenden Verfahrens durchführbar sind.
-
6 zeigt ein weiteres Flussdiagramm, das Funktionen darstellt, die anhand des vorliegenden Verfahrens durchführbar sind.
-
7 zeigt ein noch weiteres Flussdiagramm, das Funktionen darstellt, die anhand des vorliegenden Verfahrens durchführbar sind.
-
8 (Teile A und B) zeigt eine Darstellung einer grafischen Benutzeroberfläche, die anhand des vorliegenden Verfahrens darstellbar sind.
-
Detaillierte Beschreibung
-
In der nachfolgenden detaillierten Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil hiervon bilden. In den Zeichnungen kennzeichnen ähnliche Symbole im Allgemeinen ähnliche Komponenten, sofern der Kontext nicht etwas anderes vorschreibt. Die darstellenden Ausführungsformen, die in der detaillierten Beschreibung, den Zeichnungen und den Ansprüchen beschrieben sind, sind als nicht einschränkend zu verstehen. Weitere Ausführungsformen können verwendet werden, und weitere Änderungen können vorgenommen werden, ohne vom Geist oder Umfang des vorliegenden Gegenstandes abzuweichen. Es versteht sich, dass die Aspekte der vorliegenden Erfindung, wie sie im Allgemeinen hierin beschrieben und in den Zeichnungen dargestellt sind, in einer Vielzahl unterschiedlicher Konfigurationen angeordnet, ausgetauscht, verbunden, getrennt und ausgebildet sein können, die alle hierin ausdrücklich berücksichtigt sind.
-
1. Überblick
-
Eine beispielhafte Implementierung des vorliegenden Verfahrens beinhaltet für jede Adresse aus einer Vielzahl von Adressen, das Erstellen mehrerer separater Zählwerte von Kommunikationsvorgängen, die an die Adresse verortet werden, wobei jede Zählung einem entsprechenden Kommunikationstyp oder einer Klasse von Kommunikationsanwendungen entspricht. Wenn ein neuer Kommunikationsvorgang eines bestimmten Typs oder durch eine bestimmte Anwendungsklasse erstellt wird, umfasst das Verfahren wiederum das Bereitstellen einer Liste mit Adressen, die auf der Grundlage von Zählwerten von Kommunikationsvorgängen für diesen bestimmten Kommunikationstyp oder Anwendungsklasse nach Rang geordnet sind. Als Ergebnis kann ein gegebener Adresssatz dem Benutzer entsprechend einer Rangordnung angezeigt werden, wenn der fragliche Kommunikationsvorgang einem bestimmten Typ entspricht oder durch eine Anwendung einer bestimmten Klasse erstellt wurde, jedoch kann der gleiche Adresssatz dem Benutzer entsprechend einer ganz anderen Rangordnung angezeigt werden, wenn der Kommunikationsvorgang einem anderen Typ entspricht oder durch eine Anwendung einer anderen Klasse erstellt wurde. Darüber hinaus können ein oder mehrere Zählwerte, die als Grundlage für das Erstellen einer Rangordnung eines bestimmten Kommunikationstyps oder Anwendungsklasse verwendet werden, selbst auf der gemeinsamen Verwendung der Adresse durch mehrere Kommunikationsanwendungen beruhen.
-
Vorteilhafterweise kann dieses Verfahren dazu beitragen, eine Situation zu unterstützen, in der bestimmte Adressen für mehrere unterschiedliche Kommunikationstypen und/oder durch mehrere unterschiedliche Anwendungsklassen verwendet werden und in der sich die relative Häufigkeit der Nutzung der Adressen durch einen Benutzer auf der Grundlage des Kommunikationstyps oder der Anwendungsklasse unterscheidet.
-
Ein gutes Beispiel hierfür ist eine herkömmliche Telefonnummer, wie beispielsweise eine, die dem nordamerikanischen Rufnummernplan entspricht, die eine Vorwahl, eine Amtskennziffer und eine Teilnehmernummer enthalten kann. Während solche Zahlen im Allgemeinen als Zieladressen für Telefonanrufe verwendet werden, können in vielen Fällen die gleichen Nummern auch als Zieladressen für Textnachrichten und dergleichen verwendet werden. Für einen gegebenen Satz derartiger Nummern kann ein Benutzer bestimmte Nummern eher für Telefonanrufe und andere Nummern eher für Textnachrichten verwenden. Angenommen die gegebene Telefonnummer lauten A und B, so kann der Benutzer Telefonanrufe öfter an die Nummer A als an die Nummer B tätigen, aber der Benutzer kann Textnachrichten öfter an die Nummer B als an die Nummer A senden.
-
Beim Anzeigen der Nummern A und B als Zieladressvorschläge für einen neuen Kommunikationsvorgang kann das vorliegende Verfahren diesen Fall berücksichtigen, indem bestimmt wird, welcher Kommunikationstyp initiiert wurde, und dann können die Nummern auf der Grundlage des bestimmten Typs nach Rang geordnet angezeigt werden. Wenn beispielsweise der Kommunikationsvorgang ein Telefonanruf ist, kann dann das Verfahren darin bestehen, die Nummern in der Reihenfolge A-B bereitzustellen, so dass die Nummer, die für gewöhnlich öfter für Telefonanrufe verwendet wird, als erstes aufgelistet wird (und damit vielleicht eher für den neuen Telefonanruf ausgewählt wird). Wenn hingegen der Kommunikationsvorgang eine Textmitteilung ist, dann kann das Verfahren darin bestehen, die Nummern in der Reihenfolge B-A bereitzustellen, so dass die Nummer, die häufiger für Textmitteilungen verwendet wird, als erstes aufgelistet wird (und damit vielleicht eher für eine neue Textmitteilung ausgewählt wird).
-
Zur Unterstützung dieser unterschiedlichen Rangordnungsmöglichkeit von Zieladressvorschläge kann das Verfahren für jede Adresse das Bestimmen mehrerer Zählwerte von Adressnutzungen umfassen, wobei jeder Zählwert einer entsprechenden Klassifizierung, wie beispielsweise einem bestimmten Kommunikationstyp oder einer bestimmten Kommunikationsanwendungsklasse, entspricht.
-
In dem obigen Beispiel können beispielsweise Telefonanrufe dem Kommunikationstyp ”Anrufe”, ”Echtzeitverbindungen”, oder einfach ”Telefonanrufe” umfassen, und Textmitteilungen können dem Kommunikationstyp ”Mitteilungen”, ”Nichtechtzeit-Kommunikationsvorgänge” oder einfach ”Textmitteilungen” umfassen. Ebenso können Telefonanrufe unter Verwendung von Anwendungen verortet werden, die eine Klasse, wie beispielsweise ”Anrufsanwendungen”, ”Echtzeitanrufsanwendungen”, oder einfach ”Telefonanwendungen” umfasst, und Textnachrichten können unter Verwendung von Anwendungen verortet werden, die eine Klasse, wie beispielsweise ”Mitteilungsanwendungen”, ”Nichtechtzeit-Kommunikationsanwendungen”, oder einfach ”Textmitteilungsanwendungen” umfasst.
-
Das Verfahren kann durchgeführt werden, indem jeweils für jede Telefonnummer (beispielsweise A und B) ein erster Zählwert einer ersten Klassifizierung und ein zweiter Zählwert einer anderen Klassifizierung bestimmt wird. Beispielsweise umfasst das Verfahren für jeweils jede Telefonnummer das Bestimmen eines ersten Zählwerts von Telefonanrufen, der an die Nummer verortet wird, und eines zweiten Zählwerts von Textmitteilungen, der an die Nummer verortet wird (an die Nummer gesendet werden). Und als ein weiteres Beispiel umfasst das Verfahren für jeweils jede Telefonnummer das Bestimmen eines ersten Zählwerts von Kommunikationsvorgängen, der an die Nummer unter Verwendung von Anrufanwendungen verortet wird, und eines zweiten Zählwerts von Kommunikationsvorgängen, der an die Nummer unter Verwendung von Mitteilungenanwendungen verortet wird.
-
Wenn der neue Kommunikationsvorgang eines bestimmten Typs oder durch eine Anwendung einer bestimmten Klasse erstellt wird, umfasst das Verfahren dann das Bestimmen der Klassifizierung und das Bereitstellen einer Liste, die die Telefonnummern nach entsprechendem Rang geordnet umfasst, so dass je nach Klassifizierung eine unterschiedliche Rangordnung erstellt wird. Wenn beispielsweise ein Telefonanruf getätigt wird, umfasst das Verfahren, Bereitstellen der nach Rang geordneten Nummern auf der Grundlage des ersten Zählwerts (beispielsweise in der Reihenfolge der Häufigkeit der Verwendung für Telefongespräche oder von Anrufsanwendungen). Wenn hingegen eine Textmitteilung verfasst wird, umfasst das Verfahren dann das Bereitstellen der gleichen nach Rang geordneten Nummern auf der Grundlage des zweiten Zählwerts (beispielsweise in der Reihenfolge der Häufigkeit der Verwendung für Textmitteilungen oder von Mitteilungsanwendungen).
-
Ein weiteres gutes Beispiel für einen Adresstyp, der das vorliegende Verfahren optimal nutzen kann, betrifft E-Mail-Adressen, da E-Mail-Adressen in ähnlicher Weise wie Zieladressen für mehrere unterschiedliche Kommunikationstypen und/oder durch mehrere unterschiedliche Anwendungsklassen genutzt werden können. Während E-Mail-Adressen beispielsweise für gewöhnlich als Zieladressen für E-Mail-Nachrichten, die mit dem einfachen E-Mail-Transportprotokoll (Simplified Mail Transfer Protocol – SMTP) kompatibel sind, oder für Kommunikationsvorgänge durch ”E-Mail”-Anwendungen verwendet werden, können in vielen Fällen die gleichen E-Mail-Adressen auch als Zieladressen für Textmitteilungen und dergleichen oder von ”SMS”-Anwendungen verwendet werden. In ähnlicher Weise kann sich für einen Benutzer ferner die Verwendungshäufigkeit einer Gruppe von E-Mail-Adressen für E-Mail-Nachrichten von jener für Textnachrichten relativ unterscheiden.
-
In diesem Fall umfasst das vorliegende Verfahren dann in ähnlicher Weise für jede E-Mail-Adresse das Bestimmen mehrerer Zählwerte einer Verwendung, wie beispielsweise einen Zählwert für die Verwendung für E-Mail-Nachrichten und einen Zählwert für die Verwendung für Textmitteilungen, oder einen Zählwert für eine Verwendung für Nachrichten durch E-Mail-Anwendungen und einen weiteren Zählwert für eine Verwendung für Mitteilungen durch Textanwendungen. Wird ein neuer Kommunikationsvorgang aufgebaut, stellt das Verfahren, wenn der Kommunikationsvorgang eine E-Mail-Nachricht ist oder mit einer E-Mail-Anwendung erzeugt wird, die Adresse nach Rang geordnet auf der Grundlage der Nutzungsanzahl für E-Mail-Nachrichten bereit. Wenn hingegen der Kommunikationsvorgang eine Textmitteilungen umfasst oder mit einer Textanwendung erzeugt wird, kann das Verfahren die Adresse nach Rang geordnet auf der Grundlage der Nutzungsanzahl für Textmitteilungen bereitstellen.
-
Es sollte verstanden werden, dass die hierin beschriebenen Typen von Kommunikationsadressen, Typen von Kommunikationsvorgängen und Klassen der Kommunikationsanwendungen lediglich als Beispiele dienen, und dass das Verfahren ebenso gut zur Benutzung mit zahlreichen weiteren Typen und Klassen erweiterbar ist.
-
Ohne Beschränkung der Allgemeinheit umfassen unter anderem beispielsweise weitere Beispiele von Kommunikationstypen Sprachkommunikation, Videokommunikation, Bildkommunikation, Textkommunikation, leitungsvermittelte Kommunikation, paketvermittelte Kommunikation, Festnetzkommunikation, drahtlose Kommunikation, Kommunikation unter Verwendung eines bestimmten Anwendungsschichtprotokolls, Kommunikation unter Verwendung eines bestimmten Transportports, Kommunikation unter Verwendung eines bestimmten Verbindungssicherungsschichtprotokolls, Kommunikation unter Verwendung eines bestimmten Bitübertragungsschichtprotokolls oder -oberfläche, Kommunikation unter Verwendung bestimmter Geräte- oder Anwendungseinstellungen, soziale Netzwerkkommunikation, Kurznachrichtendienst-(SMS)-Kommunikation, Multimedianachrichtendienst-(MMS)-Kommunikation, Unicastkommunikation, Broadcast- oder Gruppenzielkommunikation (wie beispielsweise Kommunikation zu einer Buddygruppe oder -kreis).
-
Ebenso umfassen, ebenfalls ohne Beschränkung der Allgemeinheit, andere Beispiele von Anwendungsklassen unter anderem leitungsvermittelte Kommunikationsanwendungen, paketvermittelte Kommunikationsanwendungen (beispielsweise Internettelefonie (VoIP)), Audio-Chat-Anwendungen, Videokonferenzanwendungen, soziale Netzwerkkommunikationsanwendungen, und Streaming-Media-Player-Anwendungen.
-
Ferner kann das vorliegende Verfahren zur Festlegung der Rangordnung der Kommunikationsadressen für die Darstellung als Zieladressvorschläge, über die für den fraglichen Kommunikationstyp oder die fragliche Kommunikationsklasse spezifische Nutzungsanzahl hinausgehend, vorteilhafterweise weitere Faktoren in Betracht ziehen. Alternativ können diese zusätzlichen Faktoren den Kommunikationstyp oder die Anwendungsklasse definieren oder eine Eigenschaft davon sein und somit in der Rangordnung, die auf den Typ des Kommunikationstyps oder der Anwendungsklasse beruht, berücksichtigt werden.
-
Beispielsweise kann das Verfahren berücksichtigen, welche der möglicherweise mehreren Source-Personen (source persona) für die vergangenen Kommunikationsvorgänge und für den neuen Kommunikationsvorgang verwendet werden, und den Zieladressen mehr oder weniger Gewicht geben (beispielsweise durch Zuweisung einer höheren Rangordnung oder einer niedrigeren Rangordnung), je nachdem, wie häufig oder weniger häufig die Adressen für Kommunikationsvorgänge der gleichen Source-Person verwendet wurden, die für den neuen Kommunikationsvorgang verwendet wird.
-
Beispielsweise kann eine bestimmte Kommunikationsvorrichtung und/oder möglicherweise eine oder mehrere Anwendungen, die auf der Vorrichtung ausgeführt werden, es einem Benutzer ermöglichen, selektiv unter verschiedenen Source-Personen zu arbeiten, von denen Kommunikationsvorgänge verortbar wären. Jede Source-Person kann durch eine entsprechende Profileinstellung auf der Vorrichtung definiert werden und eine entsprechende Source-Adresse aufweisen, von der ausgehend die Vorrichtung Kommunikationsvorgänge verorten würde. Beispielsweise kann ein Benutzer eine geschäftliche Source-Person aufweisen, die eine geschäftliche E-Mail-Adresse, von der Nachrichten gesendet werden, definiert, und der Benutzer kann eine persönliche Source-Person aufweisen, die eine persönliche E-Mail-Adresse, von der Nachrichten gesendet werden, definiert. Die Vorrichtung kann über eine Einstellmöglichkeit verfügen, über die der Benutzer das Gerät einstellen kann, das eine Profil oder das andere zu verwenden. Alternativ oder zusätzlich dazu kann der Benutzer durch eine individuelle Kommunikationsanwendung eine Source-Person auswählen, die für einen neuen Kommunikationsvorgang durch beispielsweise Auswählen einer ”Von”-Adresse aus einer Liste verfügbarer ”Von”-Adressen, verwendet werden kann.
-
Wenn ein neuer Kommunikationsvorgang eines bestimmten Typs von einer Anwendung einer bestimmten Klasse erzeugt wird und mit einer bestimmten Source-Person verortet wird, kann das vorliegende Verfahren eine Liste von Zieladressen in der Reihenfolge der Häufigkeit der Verwendung auf der Grundlage des bestimmten Kommunikationstyps und/oder der bestimmten Anwendungsklasse und ferner auf der Grundlage der bestimmten Source-Person bereitstellen.
-
Wenn beispielsweise das Ordnen der Adresse nach Rang grundsätzlich durch Sortieren der Adresse in der Reihenfolge ihrer Nutzungsanzahl für den bestimmten Kommunikationstyp oder die bestimmte Anwendungsklasse durchgeführt wird, kann das Verfahren jeden der mit der bestimmten Source-Person verorteten Kommunikationsvorgänge identifizieren und den Kommunikationsvorgang zweimal oder unter Verwendung eines anderen Scale-Up-Faktors zählen. Auf diese Weise würde eine angegebene Adresse höher gereiht werden, wenn die Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse öfters mit dieser bestimmten Source-Person als mit einer anderen Source-Person an diese Adresse verortet wurden, und eine angegebene Adresse würde niedriger gereiht werden, wenn die Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse weniger häufig mit dieser bestimmten Source-Person als mit einer anderen Source-Person an diese Adresse verortet wurden.
-
Als weiteres Beispiel kann eine Rangordnung auf Grundlage einer Source-Person erzielt werden, indem Nutzungsereignisse (und somit die Nutzungsanzahl) in ”Buckets” eingeteilt werden, die jeweils einer entsprechenden Source-Person entsprechen, und indem jenem Nutzungsereignis, das die zurzeit fragliche Person umfasst, die höchste Priorität gegeben wird. Wenn es beispielsweise drei Personen P1, P2 und P3 gibt, und ein neuer Kommunikationsvorgang eines bestimmten Typs oder von einer bestimmten Anwendungsklasse wird unter Verwendung der Person P2 aufgebaut, umfasst das Verfahren (i) Festlegen einer ersten Rangordnung von Kommunikationsadressen für Kommunikationsvorgänge, die die Person P2 verwenden, auf der Grundlage von Zählwerten, die für den Kommunikationstyp und/oder die Anwendungsklasse kennzeichnend sind, (ii) Feststellen einer zweiten Rangordnung von Kommunikationsadressen für Kommunikationsvorgänge, die eine andere Person (d. h. eine gemischte Rangordnung für Nutzungen unter der Person P1 und P2) verwenden, auf der Grundlage von Zählwerten, die für den Kommunikationstyp und/oder die Anwendungsklasse kennzeichnend sind, und (iii) Bereitstellen einer nach Rang geordneten Auflistung von Zieladressen der ersten Rangordnung, gefolgt von der zweiten Rangordnung. Andere Möglichkeiten, Source-Personen in dem Rangordnungsvorgang zu berücksichtigen, sind ebenfalls möglich.
-
Weitere Faktoren, die als Grundlage zum Bestimmen der Rangordnung von Zieladressen berücksichtigt werden können, umfassen den Zeitpunkt des Kommunikationsvorgangs und den Ort des Kommunikationsvorgangs (falls zutreffend).
-
Beispielsweise kann das Verfahren die Tageszeit berücksichtigen, zu der sich die letzten Kommunikationsvorgänge ereigneten und zu der der neue Kommunikationsvorgang erzeugt wird, und das Verfahren kann den Zieladressen mehr oder weniger Gewicht geben, je nachdem wie häufig oder weniger häufig die Adressen für Kommunikationsvorgänge zur gleichen oder ähnlichen Tageszeit für den neuen Kommunikationsvorgang verwendet wurden (beispielsweise ein Zeitbereich, wie in etwa am Morgen, Nachmittag, Abend, Wochentag, Wochenende, etc.). Wenn beispielsweise das Ordnen die Adressen nach Rang grundsätzlich erfolgt, indem die Adressen in der Reihenfolge ihrer Nutzungsanzahl für den bestimmten Kommunikationstyp oder für die bestimmte Anwendungsklasse sortiert werden, umfasst das Verfahren das Bestimmen einer aktuellen Tageszeit, in der der neue Kommunikationsvorgang erzeugt wird, und anschließendes Erhöhen des Zählwerts für jeden vergangenen Kommunikationsvorgang, der zu einer ähnlichen Tageszeit verortet wurde. Ferner kann das Verfahren einen größeren Skalierungswert verwenden oder anderenfalls mehr Gewicht auf Kommunikationsvorgänge legen, die zeitlich näher am aktuellen Zeitpunkt liegen, und einen niedrigeren Skalierungswert verwenden oder anderenfalls weniger Gewicht auf Kommunikationsvorgänge legen, die zeitlich weiter vom aktuellen Zeitpunkt entfernt sind.
-
Ferner kann das Verfahren als Grundlage für die Bestimmung der Rangordnung die Aktualität der letzten Kommunikationsvorgänge berücksichtigen, um so Kommunikationsadressen, die in jüngerer Vergangenheit verwendet wurden als andere, in der Rangordnung höher einzureihen. Die Berücksichtigung der Aktualität vergangener Kommunikationsvorgänge (d. h. wann die jüngsten vergangenen Kommunikationsvorgänge auftraten) kann auf gleiche Art erfolgen, wie das zuvor beschriebene Berücksichtigen der Source-Person vergangener Kommunikationsvorgänge.
-
Wenn beispielsweise das Ordnen der Adressen nach Rang grundsätzlich erfolgt, indem die Adressen in der Reihenfolge ihrer Nutzungsanzahl für den bestimmten Kommunikationstyp oder die bestimmte Anwendungsklasse sortiert werden, umfasst das Verfahren das Bestimmen der Aktualität des jeweils letzten Kommunikationsvorgangs und die dementsprechende Skalierung des Zählwerts für diesen Kommunikationsvorgang. Beispielsweise kann ein Kommunikationsvorgang, der erst kürzlich stattfand, zweimal oder mithilfe eines anderen Scale-Up-Faktors gezählt werden, während ein Kommunikationsvorgang, die vor langer Zeit stattfand, zur Hälfte oder mithilfe eines anderen Scale-Down-Faktors gezählt werden. Auf diese Weise würde eine bestimmte Adresse höher eingereiht werden, wenn mehrere Kommunikationsvorgänge des bestimmten Typs oder der bestimmten Anwendungsklasse vor kurzem an diese Adresse verortet wurden, und eine bestimmte Adresse würde niedriger eingereiht werden, wenn weniger Kommunikationsvorgänge des bestimmten Typs vor kurzem an die bestimmte Adresse verortet wurden.
-
In einem weiteren Beispiel könnte die Aktualität in den Rangordnungsvorgang einbezogen werden, indem Nutzungsereignisse (und somit die Nutzungsanzahl) in ”Buckets” eingeteilt werden, wobei jeder ein bestimmtes Aktualitätsniveau aufweist, wie beispielsweise (a) einen Bucket für Kommunikationsvorgänge innerhalb der letzten drei Tage, (b) einen Bucket für vier Tage bis eine Woche alte Kommunikationsvorgänge, (c) einen Bucket für acht Tage bis einen Monat alte Kommunikationsvorgänge, und (d) einen Bucket für Kommunikationsvorgänge, die älter als einen Monat sind. Für jeden Bucket umfasst das Verfahren, wie hierin beschrieben, das Erstellen einer nach Rang geordneten Auflistung auf der Grundlage von Zählwerten, die für den fraglichen Kommunikationstyp und/oder die Anwendungsklasse kennzeichnend sind, und möglicherweise auf der Grundlage eines oder mehrerer weiterer Faktoren. Und das Verfahren umfasst das Sortieren der nach Rang geordneten Auflistungen in der Reihenfolge der Aktualität, so dass die nach Rang geordnete Auflistung mit den letzten Kommunikationsvorgängen als erstes aufgelistet wird (mit der höchsten Priorität), die nach Rang geordnete Auflistung mit den vorletzten Kommunikationsvorgängen als nächstes aufgelistet ist (mit der nächsthöheren Priorität) usw.
-
Auf diese Weise kann eine bestimmte Adresse im Rang höher eingereiht werden, wenn zu einem dem aktuellen Zeitpunkt ähnlichen Zeitpunkt Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse öfter an diese Adresse verortet wurden, und eine bestimmte Adresse im Rang niedriger eingereiht werden, wenn zu einem dem aktuellen Zeitpunkt ähnlichen Zeitpunkt Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse weniger häufig an diese Adresse verortet wurden.
-
Auf ähnliche Weise kann das Verfahren die Standorte, an denen die letzten Kommunikationsvorgänge verortet wurden, und der Standort, an dem der neue Kommunikationsvorgang erzeugt wird, berücksichtigen und den Zieladressen mehr oder weniger Gewicht beimessen, je nachdem, ob die Adressen häufiger oder weniger häufig für Kommunikationsvorgänge verwendet wurden, die an den gleichen oder einen ähnlichen Standort wie der neue Standort verortet wurden. Wenn beispielsweise das Ordnen der Adressen nach Rang grundsätzlich durch Sortieren der Adressen in der Reihenfolge ihrer Nutzungsanzahl für den bestimmten Kommunikationstyp oder die bestimmte Anwendungsklasse erfolgt, kann das Verfahren das Bestimmen eines aktuellen Standortes für den neuen Kommunikationsvorgang und anschließendes Erhöhen des Zählwerts für jeden vergangenen Kommunikationsvorgang, der an einen ähnlichen Standort verortet wurde, umfassen. Ferner kann das Verfahren auf ähnliche Weise mehr Gewicht auf Kommunikationsvorgänge legen, deren Standort näher am aktuellen Standort liegt, und weniger Gewicht auf Kommunikationsvorgänge legen, deren Standort weiter entfernt vom aktuellen Standort liegt, indem beispielsweise unterschiedliche Skalierungsfaktoren oder Buckets verwendet werden, wie zuvor im Hinblick auf die Aktualität der vergangenen Kommunikationsvorgänge beschrieben.
-
Auf diese Weise könnte eine bestimmte Adresse im Rang höher gereiht werden, wenn die Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse öfter an die Adresse, die sich an einem Standort ähnlich dem aktuellen Standort befindet, verortet werden, und eine bestimmte Adresse könnte im Rang niedriger gereiht werden, wenn Kommunikationsvorgänge des bestimmten Typs oder von der bestimmten Anwendungsklasse weniger häufig an die Adresse, die sich an einem Standort ähnlich dem aktuellen Standort befindet, verortet werden.
-
Es sollte auch beachtet werden, dass für einen vorgegebenen Satz von Kommunikationsadressen unterschiedliche Zählwerte mit Bezug auf unterschiedlich geeignete Teilsätze der Kommunikationsadressen erstellt werden können, und der Teilsatz von Adressen, der folglich als die nach Rang geordnete Liste von Zieladressvorschlägen angezeigt wird, kann sich je nach Kommunikationstyp und/oder Anwendungsklasse unterscheiden.
-
Wenn beispielsweise ein Satz zehn Kommunikationsadressen A1–A10 umfasst, kann der Fall eintreten, dass nur Adressen A1–A8 für einen ersten Kommunikationstyp verwendet werden, jedoch nur die Adressen A3–A10 für einen zweiten Kommunikationstyp verwendet werden. In diesem Fall können die Zählwerte von Kommunikationsvorgängen des ersten Typs nur für die Adressen A1–A8 die Zählwerte von Kommunikationsvorgängen des zweiten Typs nur für die Adressen A3–A10 bestimmt werden. Wird ein neuer Kommunikationsvorgang des ersten Typs aufgebaut, kann das Verfahren die Adressen A1–A8 auf der Grundlage der Nutzungsanzahl nach Rang geordnet darstellen. Wird hingegen ein neuer Kommunikationsvorgang des zweiten Typs aufgebaut, kann das Verfahren die Adressen A3–A10 auf der Grundlage der Nutzungsanzahl nach Rang geordnet darstellen. In der Praxis jedoch schließen sich die Teilsätze nicht gegenseitig aus, so dass es mindestens eine Adresse in einem Teilsatz geben würde, die sich auch in dem anderen Teilsatz befindet.
-
Es sollte beachtet werden, dass jede der Adressen A3–A8 mehr als eine Nutzungsanzahl aufweist, nämlich einen Zählwert für den ersten Kommunikationstyp und einen Zählwert für den zweiten Kommunikationstyp. Die Liste der Zieladressvorschläge kann folglich die Adressen A3–A8 auf der Grundlage der Zählwerte, die für den fraglichen Kommunikationstyp kennzeichnend sind, nach Rang geordnet aufweisen. Jedoch kann die Liste der Zieladressvorschläge auch zusätzliche Adressen umfassen. Wenn beispielsweise der neue Kommunikationsvorgang den ersten Kommunikationstyp umfasst, kann die Liste der Zieladressvorschläge auch die Adressen A1 und A2 umfassen. Und wenn der neue Kommunikationsvorgang den zweiten Kommunikationstyp umfasst, dann kann die Liste der Zieladressvorschläge auch die Adressen A9 und A10 umfassen.
-
Ferner kann in einigen Anwendungen des Verfahrens eine Adresse, an die kein Kommunikationsvorgang eines bestimmten Kommunikationstyps und/oder von einer bestimmten Anwendungsklasse verortet wurde, gänzlich von der nach Rang geordneten Auflistung, die für einen neuen Kommunikationsvorgang dieses Kommunikationstyps und/oder von dieser Anwendungsklasse angezeigt wird, ausgeschlossen werden. Alternativ kann das Nichtverwenden der Adressen bei der Ordnung nach Rang einem Zählwert von Null entsprechen, wodurch die Kommunikationsadresse wahrscheinlich ans Ende der dargestellten Liste gestellt würde.
-
2. Beispielarchitektur
-
Im Allgemeinen kann das vorliegende Verfahren von einer Kommunikationsvorrichtung verwendet werden, die verschiedene Kommunikationstypen unterstützt und/oder verschiedene Kommunikationsanwendungen aufweist, über die ein Benutzer Kommunikationsvorgänge verorten kann. Das Verfahren kann dann eine Programmlogik auf der Vorrichtung umfassen, um für jede der mehreren Kommunikationsadressen mehrere an die Adresse verortete Kommunikationszählwerte zu erstellen, wobei jeder Zählwert für einen entsprechenden Kommunikationstyp und/oder Anwendungsklasse steht und auf Kommunikationsvorgängen durch Mehrfachanwendungen beruht. Ferner kann in dem Verfahren die Programmlogik erfassen, dass ein Kommunikationsvorgang eines bestimmten Typs und/oder von einer bestimmten Anwendungsklasse erzeugt wird, und die Programmlogik kann als Reaktion darauf die Zählwertdaten ausdrücklich für den bestimmten Typ und/oder die bestimmte Anwendungsklasse (und nicht beispielsweise für einen oder mehrere andere Typen oder eine oder mehrere andere Anwendungsklassen) verwenden, um die Kommunikationsadressen nach Rang zu ordnen und eine Liste bereitzustellen, die die Adressen in der sich daraus ergebenden Rangordnung zur Ansicht für den Benutzer umfasst. Geeigneterweise kann der Benutzer dann aus der dargestellten Liste eine Zieladresse für die Vorrichtung, die für den neuen Kommunikationsvorgang verwendet wird, auswählen.
-
Alternativ oder zusätzlich dazu kann das Verfahren von einem anderen Gerät, wie beispielweise einem Netzwerkserver (z. B. Cloud-Server) ausgeführt werden. Um in der Praxis eine derartige Implementierung zu erleichtern, kann das Endnutzergerät programmiert werden, dem Server (oder einem anderen Gerät) verschiedene, von dem Gerät verortete Kommunikationsvorgänge anzuzeigen, und auf Grundlage dieser Daten kann der Server für jede der verschiedenen Adressen mehrere Zählwerte von Kommunikationsvorgängen programmatisch erstellen, jeweils für einen entsprechenden Kommunikationstyp und/oder Anwendungsklasse. Alternativ kann der Server solche Daten aus Netzwerkkommunikationsaufzeichnungen extrahieren, wie beispielsweise Anrufdetailsaufzeichnungen (call detail records) oder dergleichen, die beispielsweise durch den Kommunikationsdienstanbieter (z. B. in Netzwerkabrechnungssystemen) geführt werden. Wenn das Endnutzergerät versucht, einen neuen Kommunikationsvorgang eines bestimmten Typs und/oder von einer Anwendung einer bestimmten Klasse zu erzeugen, kann das Gerät dann den Server abfragen, um eine Auflistung von Zieladressvorschlägen zu erhalten, und der Server kann dem Gerät eine Auflistung der Kommunikationsadressen bereitstellen, die auf der Grundlage der Anzahl der Verwendungen für den bestimmten Kommunikationstyp und/oder Anwendungsklasse nach Rang geordnet ist. Das Endnutzergerät kann dann die nach Rang geordnete Auflistung anzeigen, so dass ein Benutzer problemlos eine gewünschte Zieladresse, die für den Kommunikationsvorgang verwendet werden soll, auswählen kann.
-
Ferner umfasst das Verfahren das Berücksichtigen einer Nutzungsanzahl für Kommunikationsvorgänge, die von mehreren Geräten verortet wurden, wie beispielsweise eine Gruppe von Geräten, die alle einem gemeinsamen Benutzerkonto oder dergleichen zugeordnet sind (beispielsweise unter diesem registriert sind). Wenn beispielsweise mehrere Endnutzergeräte Kommunikationsvorgänge verorten, kann jedes die Kommunikationsvorgänge auf einem Server anzeigen, oder der Server kann die Kommunikationsvorgangsaufzeichnungen aus anderen Aufzeichnungen extrahieren. Der Server kann dann für jede der mehreren Kommunikationsadressen zusammengefasste Mehrfachzählwerte von Kommunikationsvorgängen, die an dieser Adresse von der Gruppe der Geräte verortett wurden, bestimmen, wobei jeder zusammengefasste Zählwert einem bestimmten Kommunikationstyp und/oder Anwendungsklasse entspricht. Wenn eines der Geräte versucht, einen neuen Kommunikationsvorgang eines bestimmten Typs und/oder von einer Anwendung einer bestimmten Klasse zu erzeugen, kann das Gerät den Server nach einer Auflistung von Zieladressvorschlägen abfragen, und der Server kann darauf eine Auflistung ausgeben, die auf der Grundlage der Zählwerte, die für den bestimmten Kommunikationstyp und/oder Anwendungsklasse kennzeichnend sind, nach Rang geordnet ist.
-
In Bezug auf die Zeichnungen zeigt die 1 ein vereinfachtes Blockdiagramm, das funktionelle Komponenten einer beispielhaften Kommunikationsvorrichtung 12 darstellt, die anhand des vorliegenden Verfahrens bedient werden kann. Im Allgemeinen kann als die Kommunikationsvorrichtung jede Vorrichtung dienen, die Kommunikationsvorgänge verorten kann und mit einem Benutzer kommunizieren kann. Beispiele für derartige Vorrichtungen umfassen ohne Einschränkung Festnetztelefone oder drahtlose Telefone, Videokonferenzgeräte, Computer sowie andere Geräte, die jetzt bekannt oder später entwickelt werden.
-
Die beispielhafte Kommunikationsvorrichtung 12 kann selbst das vorliegende Verfahren ausführen, um einen Benutzer mit Zieladressvorschlägen für einn neuen Kommunikationsvorgang zu versorgen. Alternativ kann die Kommunikationsvorrichtung 12 mit einer oder mehreren anderen Vorrichtungen, wie beispielsweise zuvor erwähnt, mit einem Netzwerkserver zusammenarbeiten, um einen oder mehrere Aspekte der vorliegenden Erfindung zu unterstützen, wie beispielsweise das Erstellen von Mehrfachnutzungszählwerten pro Kommunikationsadresse und das Anzeigen einer Auflistung von Zieladressvorschlägen an einen Benutzer, die auf der Grundlage der Anzahl der Verwendungen für den fraglichen Kommunikationstyp und/oder die Anwendungsklasse nach Rang geordnet sind.
-
Wie in der 1 gezeigt, umfasst die beispielhafte Kommunikationsvorrichtung 12 eine Kommunikationsschnittstelle 14, eine Benutzeroberfläche 16, einen Computerprozessor 18 und einen Datenspeicher 20, die alle kommunikativ miteinander durch einen Systembus, ein Netzwerk oder einen anderen Verbindungsmechanismus 22 verbunden sein können. Obwohl diese Komponenten als einzelne Blöcke in der Figur gezeigt sind, können sie auf unterschiedliche Weise zusammengefügt werden. Obwohl ferner diese Komponenten als Bestandteil der Kommunikationsvorrichtung 12 gezeigt sind, können einige oder alle der Komponenten außerhalb der Vorrichtung vorgesehen sein oder aus der Vorrichtung entnehmbar ausgebildet sein.
-
Das Kommunikationsschnittstelle 14 umfasst eine oder mehrere Kommunikationsschnittstellenmodule, über die die Kommunikationsvorrichtung 12 in Netzwerkkommunikationsvorgänge eingreifen kann, um beispielsweise Kommunikationsvorgänge zu verorten und zu empfangen. Beispiele derartiger Module umfassen RJ-11- und RJ-45-Module zur Kopplung mit Festnetztelefonschaltungen oder drahtgebundenen Ethernetschaltungen, Chipsätzen und Antennen für die Verbindung mit verschiedenen Formen drahtloser Kommunikation, wie z. B. WIFI, BLUETOOTH, LTE, WiMAX, CDMA, GSM oder HSDPA, und andere Kommunikationsschnittstellenarten, die jetzt bekannt sind oder später entwickelt werden.
-
Die Benutzeroberfläche 16 funktioniert derart, dass die Vorrichtung mit einem Benutzer kommunizieren kann (beispielsweise jeden und alle Benutzer der Vorrichtung), um Zieladressvorschläge anzuzeigen und eine Benutzerauswahl einer Zieladresse zum Verorten eines neuen Kommunikationsvorgangs zu empfangen. Als solches kann die Benutzeroberfläche einen oder mehrere Ausgangskomponenten, wie beispielsweise einem Bildschirm und einen Lautsprecher, und einen oder mehrere Eingangskomponenten, wie beispielsweise ein Keypad oder eine Tastatur, einen berührungsempfindlichen Bildschirm oder ein Touch Panel, und ein Mikrofon umfassen. Die Benutzeroberfläche kann auch eine Analog-zu-Digital-Umwandlungsschaltung umfassen, um das digitale Verarbeiten von analogen Wegen (z. B. Sprache), die einem Benutzer bereitgestellt oder von einem Benutzer empfangen werden, zu erleichtern.
-
Der Prozessor 18 umfasst einen oder mehrere Universalprozessoren (beispielsweise Mikroprozessoren) und/oder einen oder mehrere Spezialprozessoren (beispielweise anwendungsspezifische integrierte Schaltungen oder digitale Signalprozessoren). Das Datenspeichersystem 20 kann dann ein nicht-transistorisches, computerlesbares Medium sein, das eine oder mehrere flüchtige und/oder nichtflüchtige Speicherkomponenten, wie beispielsweise optische, magnetische, organische oder Flash-Speichermodule, aufweisen. In der gezeigten beispielhaften Kommunikationsvorrichtung, umfasst das Datenspeichersystem 20 eine Programmlogik 24 und Referenzdaten 26. Grundsätzlich ist die Programmlogik 24 durch den Prozessor 18 ausführbar, um verschiedene hierin beschriebene Funktionen auszuführen, und die Referenzdaten 26 enthalten Daten, die die Programmlogik 24 benutzt, wie beispielsweise Adressdaten.
-
Obwohl das Datenspeichersystem 20 als eine Komponente der Kommunikationsvorrichtung 12 gezeigt ist, können einige oder alle Aspekte des Datenspeichersystems getrennt von der Kommunikationsvorrichtung vorgesehen sein, wie beispielsweise einem externen Flash-Laufwerk, einer externen magnetischen oder optischen Festplatte, einer Disk oder einem anderen nicht-transistorischen, computerlesbaren Medium.
-
Die 2 zeigt ein detaillierteres Diagramm mit Beispieldaten, die in dem Datenspeichersystem 20 enthalten sein können, um die Umsetzung des vorliegenden Verfahrens zu erleichtern. Wie in der 2 gezeigt, umfasst die Programmlogik 24 ein Betriebssystem 28 und zahlreiche Programmanwendungen 30, und die Referenzdaten 26 umfassen Kontaktdaten 32, Source-Personendaten 34, Zählwertklassifizierungsdaten 36, Kommunikationsverlaufsdaten 38, Adresszähldaten 40 und Rangordnungsdaten 42, die alle in einem relationalen Datenbanksystem oder auf andere Weise gespeichert sein können.
-
Das Betriebssystem 28 kann jedes beliebige Betriebssystem umfassen, das den Kernbetrieb der Kommunikationsvorrichtung erleichtert, wie beispielsweise die Anwendungswechselwirkung zwischen der Kommunikationsschnittstelle 14 und der Benutzeroberfläche 16. Wie gezeigt, stellt (umfasst) das Betriebssystem 28 eine Abstraktionsschicht (eine Abstraktionsschicht definierende Programmlogik) 44 bereit, mit der die verschiedenen Anwendungen 30 über eine Anwendungsprogrammieroberfläche (application programming interface – API) interagieren können, um die verschiedenen Merkmale des Verfahrens aufzurufen, zu unterstützen und von ihnen zu profitieren.
-
Die Anwendungsprogramme 30 umfassen Programme oder Programmmodule, die auf der Kommunikationsvorrichtung ausführbar sind, um nützliche Funktionen bereitzustellen. In Bezug auf das vorliegende Verfahren umfassen die Anwendungsprogramme 30 eine oder mehrere Kommunikationsanwendungen, die beispielsweise Anwendungen der zuvor erwähnten Art sein können. Beispielsweise können charaktertstische Kommunikationsanwendungen (i) eine Sprachtelefonieanwendung zum Durchführen eines herkömmlichen Telefonanrufes, (ii) eine Internettelefonieanwendung (VoIP) zum Durchführen von Sprachanrufen oder zum Verbinden mit Videokonferenzschaltungen, (iii) eine SMS/MMS-Anwendung zum Senden von SMS-Textmitteilungen und MMS-Mitteilungen, wie beispielsweise Foto-Sharing-Mitteilungen, und (iv) eine E-Mail-Anwendung zum Senden von E-Mail-Nachrichten, die beispielsweise mit SMTP kompatibel sind. Wie zuvor erwähnt, sind ebenso zahlreiche andere Beispiele möglich.
-
Diese Kommunikationsanwendungen können gleichzeitig mit dem Betriebssystem 28 auf das Gerät geladen werden (beispielsweise zum Zeitpunkt der Geräteherstellung oder -verteilung oder zum Zeitpunkt eines Betriebssystemupdates) oder sie können zu einem anderen Zeitpunkt auf die Vorrichtung geladen werden. Ferner können, obwohl die Anwendungen 30 getrennt von dem Betriebssystem 28 dargestellt sind, eine oder mehrere Anwendungen selbst integraler Bestandteil des Betriebssystems sein. Beispielsweise kann eine charakteristische Vorrichtung eine Kontaktmanagementanwendung sein, um den Benutzer eine Interaktion mit einem Telefonbuch oder einer anderen Kontaktliste als Kernfunktion der Vorrichtung zu ermöglichen und zu unterstützen. Eine solche Anwendung kann als integraler Bestandteil des Betriebssystems selbst oder getrennt vom Betriebssystem vorgesehen sein.
-
Eine charakteristische Kommunikationsanwendung funktioniert derart, dass ein Benutzer einen neuen Kommunikationsvorgang erzeugen kann, wie beispielsweise das Tätigen eines Sprachanrufs oder eines Internetanrufs durch den Benutzer, das Verfassen und Senden von SMS/MMS-Mitteilungen durch den Benutzer, das Verfassen und Senden von E-Mail-Nachrichten durch den Benutzer, usw., und dem Benutzer eine Liste von Zieladressvorschlägen für den neuen Kommunikationsvorgang anzuzeigen (oder veranlasst, diese anzuzeigen), wobei die Liste auf Grundlage von Zählwerten, die kennzeichnend für den fraglichen Kommunikationstyp und/oder die Anwendungsklasse sind, nach Rang geordnet sind.
-
In der Praxis kann beispielsweise die Kommunikationsanwendung eine GUI definieren, die auf einem Bildschirm der Vorrichtung angezeigt wird und mit dem Benutzer interagiert, um so eine Benutzeranfrage zur Erzeugung eines neuen Kommunikationsvorgangs zu erhalten, um dem Benutzer die Zieladressvorschläge anzuzeigen, und die Benutzerauswahl oder andere Eingaben einer gewünschten Zieladresse für die Datenübertragung zu empfangen. Beispielsweise kann die Anwendung eine Drop-Down-Auflistung der nach Rang geordneten Zieladressvorschläge in oder in der Nähe eines ”An”-Feldes der GUI oder als separater Dialog vorsehen. Eine solche Liste kann hinsichtlich eines bestimmten Kontakts oder eine Gruppe von Kontakten gefiltert werden, auf der Grundlage von Daten, die durch den Benutzer eingegeben werden, beispielsweise durch Begrenzung der Liste auf Adressen für Kontakte, die Namen mit übereinstimmenden Zeichen aufweisen, die bislang vom Benutzer eingegeben wurden.
-
Ferner kann die Kommunikationsanwendung mit dem Betriebssystem 28 interagieren, um anzuzeigen, dass Kommunikationsvorgänge an bestimmte Kommunikationsadressen verortet wurden und von dem Betriebssystem eine Liste von Zieladressvorschlägen für einen neuen Kommunikationsvorgang des vorliegenden Verfahrens abzufragen und zu empfangen. Im Hinblick auf das Anzeigen von Datenübertragungen kann der Anwendungsvorgang des Verorten eines Kommunikationsvorgangs selbst von dem Betriebssystem als Anzeige des verorteten Kommunikationsvorgangs erfasst werden, oder die Anwendung kann den Kommunikationsvorgang gesondert anzeigen.
-
In der Praxis kann das Betriebssystem 28 dann eine Logik zum Durchführen bestimmter Funktionen des vorliegenden Verfahrens umfassen. Beispielsweise kann das Betriebssystem 28 eine Logik umfassen, um unterschiedliche Kommunikationsanwendungsaufzeichnungen von Kommunikationsvorgängen, die an bestimmte Adressen verortet wurden, empfangen, und eine Logik umfassen, um für jede Kommunikationsadresse Mehrfachzählwerte der Kommunikationsvorgänge, die an die Adresse verortet wurden, zu bestimmen, wobei jeder Zählwert einem entsprechenden Kommunikationstyp und/oder Anwendungsklasse entspricht. Ferner kann das Betriebssystem eine Logik umfassen, um von einer Anwendung einer bestimmten Klasse eine Anfrage für eine Liste von Zieladressvorschlägen für einen neuen Kommunikationsvorgang eines bestimmten Typs zu empfangen, um die Zieladressen auf der Grundlage der Nutzungsanzahl, die kennzeichnend für den Kommunikationstyp und/oder die Anwendungsklasse ist, nach Rang zu ordnen (und möglicherweise auf der Grundlage eines oder mehrerer zusätzlicher Faktoren, wie beispielsweise Source-Personen, Zeit und/oder Standort), und der Anfrageanwendung als Reaktion darauf eine Liste einschließlich der nach Rang geordneten Adressen für die Anwendung zur Ansicht für den Benutzer bereitzustellen.
-
Alternativ können einige oder alle der Logiken zum Durchführen der Funktionen des vorliegenden Verfahrens durch ein oder mehrere Anwendungsprogramme 30 definiert werden. Beispielsweise kann eine spezielle Anwendung als Dienstprogramm auf der Vorrichtung speziell zur Erleichterung des vorliegenden Verfahrens eingerichtet werden. Alternativ können die einen oder mehreren Anwendungen, die auf der Vorrichtung für andere Zwecke eingerichtet wurden, eine Logik umfassen, um eine oder mehrere Funktionen des Verfahrens durchzuführen.
-
Unter den Referenzdaten 26 können die Kontaktdaten 32 die Form von Adressbuchdaten aufweisen, die für die Darstellung durch eine Kontaktmanagementanwendung geeignet sind. Derartige Kontaktdaten können Kontaktaufzeichnungen umfassen, von denen jedes für einen bestimmten Kontakt (beispielsweise Person oder Geschäft) stehen kann und für den Kontakt eine oder mehrere Adressen, wie beispielsweise eine oder mehrere Telefonnummern und/oder eine oder mehrere E-Mail-Adressen, unter möglicherweise weitere Adressarten festlegen kann, wobei jede Adresse ein Label oder einen Identifikator (beispielsweise zuhause, Büro, Handy etc.) aufweist, um den Bezug zu und die Darstellung der Adresse zu erleichtern. Jede Kontaktaufzeichnung kann ferner weitere Informationen über den Kontakt bereitstellen, wie beispielsweise einen Kontaktnamen und ein Miniaturbild (thumbnail image), das beispielsweise den Kontakt darstellt, so dass ein Text und/oder eine grafische Darstellung des Kontakts angezeigt werden kann.
-
Beispielsweise können die Kontaktdaten 32 eine Aufzeichnung für den Kontaktnamen ”Adam”, die die Adressen A1, A2 und A3 angibt, umfassen, und die Kontaktdaten können ferner eine Aufzeichnung für den Kontaktnamen ”Betty”, die die Adressen B1, B2 und B3 angibt, umfassen. Diese Adressen können verschiedene Adresstypen aufweisen, wie beispielsweise E-Mail-Adressen und Telefonnummern, oder sie können alle eine Adressart umfassen. Ferner ist es möglich, dass ein oder mehrere Kontakte, die in der Kontaktdatenbank aufgelistet sind, nur eine einzelne Adresse auflisten (oder eine einzelne Adresse eines bestimmten Typs auflisten) oder überhaupt keine Adressen aufgeführt haben.
-
Die Source-Personendaten 34 können dann eine aktuell aktive Source-Person für die Vorrichtung definieren und können ferner eine oder mehrere weitere Source-Personen definieren, die beispielsweise über eine Konfigurationsschnittstelle oder auf Basis eines Zeitplans ablauffähig gemacht werden können.
-
Die Source-Personendaten 34 können für jede Source-Person eine oder mehrere entsprechende Source-Adressen zur Verwendung von Kommunikationsvorgängen von der Vorrichtung definieren. Beispielsweise können die Daten für jede Source-Person eine entsprechende Source-E-Mail-Adresse definieren, von der E-Mail-Nachrichten standardmäßig gesendet werden können, und eine entsprechende Source-Telefonnummer definieren, von der Anrufe getätigt werden könnten. (Je nach Implementierung ist es möglich, die Kommunikationsvorrichtung zwischen mehreren ”Leitungen” zu schalten, wobei jede eine andere zugeordnete Telefonnummer aufweist, oder ist es möglich, dass die Kommunikationsvorrichtung die aktuell aktive Source-Telefonnummer als Anrufer-ID-Information bei der Verbindungsaufbausignalgebung übermittelt.)
-
Wenn eine Kommunikationsanwendung in einen Modus wechselt, um eine neue Datenübermittlung zu erzeugen, kann die Anwendung das Betriebssystem abfragen, um eine entsprechende Source-Adresse für die Verwendung von Kommunikationsvorgängen zu erhalten, und kann sich selbst standardmäßig so einstellen, dass diese Kommunikationsadresse verwendet wird. Wahlweise kann die Anwendung es dem Benutzer ermöglichen, eine gewünschte Source-Adresse aus einer Liste verfügbarer Source-Adressen auszuwählen, und die Source-Personendaten 34 können implizit definieren, welche Source-Person dieser ausgewählten Source-Adresse entspricht und folglich welche Source-Person für den Kommunikationsvorgang verwendet wird.
-
Anzahlklassifizierungsdaten 36 können verschiedene Klassifizierungen angeben, die verwendet werden, um das Bestimmen der Nutzungsanzahl in dem vorliegenden Verfahren zu erleichtern. Beispielsweise können die Anzahlklassifizierungsdaten verschiedene Kommunikationstypen, verschiedene Anwendungsklassen und/oder verschiedene weitere Klassifizierung angeben, und sie können für jede Klassifizierung mit einm entsprechenden Label, Tag oder Identifikator versehen werden, um, sich auf die Klassifizierung zu beziehen. In der Praxis kann eine Kommunikationsanwendung diese Anzahlklassifizierungsdaten verwenden, um das Betriebssystem über die Anzahlklassifizierung (oder Klassifizierungen) für einen bestimmten Kommunikationsvorgang zu informieren, indem ein geeignetes Label, Tag oder Identifikator angegeben wird. Das Betriebssystem kann dann diese Spezifikation als Grundlage verwenden, um einen oder mehrere geeignete Zählwerte für die Zieladresse des Kommunikationsvorgangs, d. h., einen Zählwert für jede entsprechende Kommunikationsvorgangsklassifizierung, zu inkrementieren.
-
Die Kommunicationsverlaufsdaten 38 können Kommunikationsaufzeichnungen umfassen, die von der Vorrichtung erstellt werden, und sie können das Bestimmen veiner Nutzungsanzahl pro Adresse erleichtern, und folglich ein Beispiel von Nutzungsaufzeichnungen definieren. Die Aufzeichnung eines jeden Kommunikationsvorgangs kann Eigenschaften des Kommunikationsvorgangs identifizieren, wie beispielsweise Source-Adresse/Source-Person, Zieladresse, Klassifizierung(en) des Kommunikationsvorgangs (z. B. Kommunikationstyp und/oder Anwendungsklasse), Zeitstempel, Standort (beispielsweise durch GPS ermittelt oder durch eine andere verfügbare Standortbestimmungstechnologie), Dauer und Disposition (beispielsweise erfolgreich abgeschlossen, erfolglos versucht, etc.).
-
Einige oder alle der Kommunicationsverlaufsaufzeichnungen können durch die Anwendungen, die die Kommunikationsvorgänge verorten, an das Betriebssystem übermittelt werden, und zwar zu dem Zeitpunkt, zu dem die Datenübermittlung verortet wird (beispielsweise initiiert, erfolgreich kommuniziert oder beendet) oder zu einem anderen Zeitpunkt. Alternativ oder zusätzlich dazu können einige oder alle dieser Aufzeichnungen von dem Betriebssystem erstellt werden, das das Verorten der Kommunikationsvorgänge erfasst und die Daten bezüglich der Kommunikationsvorgänge aufzeichnet. Um ferner die Relevanz der CKmmunicationsverlaufsdaten 38 sicherzustellen, ist das Betriebssystem so einstellbar, dass es automatisch die Communication-History-Datenaufzeichnungen löscht, die älter als ein bestimmter Zeitpunkt sind (beispielsweise einen Monat oder irgendeine andere konfigurierbare Laufzeit).
-
Die Adresszähldaten 40 stellen dann die Zählwerte pro Adresse dar, die zur Bestimmung einer Rangordnung der Zieladressvorschläge gemäß dem vorliegenden Verfahren verwendbar sind. Somit können die Adresszähldaten 40 jeweils für jede der mehreren Adressen Mehrfachnutzungszählwerte der Adresse als eine Zieladresse für einen von der Vorrichtung verorteten Kommunikationsvorgang umfassen, wobei jeder Zählwert speziell für eine jeweilige Klassifizierung steht, wie beispielsweise für einen bestimmten Kommunikationstyp und/oder für eine bestimmte Anwendungsklasse.
-
Anders formuliert können die Adresszähldaten 40 mehrere Sätze von Zählwerten umfassen, wobei jeder Satz für eine bestimmte Klassifizierung steht und eine klassifizierungsspezifische Zählung für jeweils jede der mehreren Adressen umfasst. Beispielsweise können die Adresszähldaten 40 einen ersten Satz von Zählwerten für Kommunikationen einer ersten Klassifizierung umfassen, wobei jeder Zählwert in dem ersten Satz auf einer Menge von Kommunikationsvorgängen der ersten Klassifizierung, die an eine entsprechende andere Adresse verortet wird, beruht, wie beispielsweise einen Zählwert der Anzahl von Kommunikationsvorgängen der ersten Klassifizierung, die jeweils an jede Adresse verortet wird. Und die Adresszähldaten 40 können dann des Weiteren einen zweiten Satz von Zählwerten für Kommunikationsvorgänge einer zweiten Klassifizierung umfassen, wobei jeder Zählwert in dem zweiten Satz auf einer Menge von Kommunikationsvorgängen der zweiten Klassifizierung beruht, die an eine entsprechende andere Adresse verortet wird, wie beispielsweise einen Zählwert der Anzahl von Kommunikationsvorgängen der zweiten Klassifizierung, die jeweils an jede Adresse verortet wird.
-
Im Gegensatz dazu umfassen die Rangordnungsdaten 42 nach Rang geordnete Auflistungen von Adressen gemäß dem vorliegenden Verfahren. Idealerweise umfassen die Rangordnungsdaten 42 für einen bestimmten Satz von Adressen eine andere Rangordnung, auf der Grundlage einer Nutzungsanzahl für einen bestimmten Kommunikationstyp und/oder Anwendungsklasse, als auf Grundlage einer Nutzungsanzahl für einen anderen Kommunikationstyp und/oder eine andere Anwendungsklasse. In der Praxis können beispielsweise die Rangordnungsdaten 42 ermittelt werden, indem die Adressen gemäß einer Rangordnung sortiert werden, die zumindest teilweise auf den entsprechenden Adresszähldaten für die Adressen beruht. Beispielsweise kann eine nach erstem Rang geordnete Auflistung erstellt werden, indem die Adressen in der Reihenfolge ihrer jeweiligen Nutzungsanzahl für Kommunikationsvorgänge einer ersten Klassifizierung von Kommunikationsvorgängen sortiert werden, wobei eine nach zweitem Rang geordnete Auflistung erstellt werden kann, indem die Adressen in der Reihenfolge ihrer jeweiligen Nutzungsanzahl für Kommunikationsvorgänge einer zweiten Klassifizierung von Kommunikationsvorgängen sortiert werden.
-
3 zeigt ein Beispiel für Adresszählungsdaten 40 für die zuvor beschriebenen Adressen der beispielhaften Benutzer Adam und Betty. Wie in der 3 gezeigt, sind die Adresszähldaten 40 in Form einer Datentabelle angeordnet, wobei jede Reihe eine entsprechende Adresse darstellt und jede Spalte eine entsprechende Kommunikationsklassifizierung darstellt. In dem gezeigten Beispiel sind zwei charaktertstische Klassifizierungen angegeben, eine für ”Anruf” und eine weitere für ”Mitteilung”, und die Tabelle gibt für jede Klassifizierung eine entsprechende Nutzungsanzahl der Adresse als eine Zieladresse an.
-
In diesem Beispiel kann die ”Anruf”-Klassifizierung die Verwendung von mehreren Anrufsanwendungen umfassen, wie beispielsweise eine oder mehrere Sprachtelefonieanwendungen, eine oder mehrere Internettelefonieanwendungen, eine oder mehrere Videokonferenzanwendungen. Somit kann ein bestimmter Zählwert, der in der beispielhaften Tabelle gezeigt ist, Kommunikationsvorgänge umfassen, die von zwei oder mehr Anwendungen verortet wurden, wobei das Betriebssystem Nutzungsdaten über diese Anwendungen in eine entsprechende Gesamtzählung für die Klassifikation zusammenfasst. Auf ähnliche Weise kann die ”Mitteilung”-Klassifizierung die Verwendung durch mehrere Mitteilungsanwendungen umfassen, wie beispielsweise eine oder mehrere SMS/MMS-Anwendungen und eine oder mehrere E-Mail-Anwendungen. Weitere Beispiele sind ebenso möglich.
-
Wie aus der Tabelle der 3 ersichtlich, wurde die Adresse A1 für 1 Anrufsereignis, jedoch für 25 Mitteilungen verwendet, wohingegen die Adresse A2 für 13 Anrufsereignisse, jedoch nur 5 Mitteilungen verwendet wurde. Unter Berücksichtigung nur dieser beiden Adressen kann folglich die durch die vorliegende Verfahren definierte Logik festgelegt werden, um Zieladressvorschläge bereitzustellen, die dem Rang nach als A1–A2 geordnet sind (d. h., dass A1 eine höhere Priorität als A2 aufweist), wenn der besagte neue Kommunikationsvorgang ein Anrufkommunikationsvorgang ist, und um jedoch die Zieladressvorschläge bereitzustellen, die dem Rang nach als A2–A1 geordnet sind (d. h. A2 weist eine höhere Priorität als A1 auf), wenn der besagte neue Kommunikationsvorgang ein Textmitteilungskommunikationsvorgang ist. Des Weiteren kann das zuvor erwähnte Reihen der Zieladressvorschläge nach Rang weitere Faktoren berücksichtigen, wie beispielsweise eine Source-Person, Zeit und/oder Standort.
-
3. Bedienungsbeispiel
-
Die 4 zeigt ein Flussdiagramm, das Funktionen darstellt, die gemäß dem vorliegenden Verfahren durchgeführt werden können.
-
Wie in der 4 in Feld 100 gezeigt, umfassen die Funktionen das Bestimmen einer ersten Vielzahl von Zählwerten von Kommunikationsvorgängen eines ersten Kommunikationstyps, wobei jeder Zählwert in der ersten Vielzahl von Zählwerten auf einer jeweiligen Menge von Kommunikationsvorgängen des ersten Kommunikationstyps beruht, der an eine entsprechende Kommunikationsadresse aus einer Vielzahl von Kommunikationsadressen verortet wird. Wenn beispielsweise ein Satz von Kommunikationsadressen die Adressen A1–A10 umfasst, kann die erste Vielzahl von Zählwerten von Kommunikationsvorgängen des ersten Kommunikationstyps für jeweils jede Adresse in dem Satz (d. h. für jede unterschiedliche Adresse in dem Satz) einen Zählwert von Kommunikationsvorgängen des ersten Kommunikationstyps umfassen, der an diese Adresse verortet wird. Ein Zählwert kann auf einer Menge von Kommunikationsvorgängen beruhen, indem der Zählwert die Menge selbst darstellt oder indem der Zählwert aus der Menge abgeleitet wird, beispielsweise, indem dieser eine skalierte Version der Menge darstellt.
-
Wie in Feld 102 gezeigt, umfassen die Funktionen des Weiteren das Bestimmen einer zweiten Vielzahl von Zählwerten von Kommunikationsvorgängen eines zweiten Kommunikationstyps, wobei jeder Zählwert in der zweiten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen des zweiten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet werden. Wenn beispielsweise der Satz von Kommunikationsadressen die Adressen A1–A10 umfasst, kann die zweite Vielzahl von Zählwerten von Kommunikationsvorgängen des zweiten Kommunikationstyps für jeweils jede Adresse in dem Satz (d. h. für jede unterschiedliche Adresse in dem Satz) einen Zählwert von Kommunikationsvorgängen des zweiten Kommunikationstyps umfassen, die an diese Adresse verortet werden.
-
In der Praxis bestimmen die in den Feldern 100 und 102 dargestellten Funktionen letzten Endes für jede Vielzahl von Kommunikationsadressen mehrere Zählwerte von Kommunikationsvorgängen, die an die Adresse verortet werden, wobei jeder Zählwert für einen entsprechenden Kommunikationstyp einer Vielzahl von Kommunikationstypen steht, wobei die Vielzahl von Typen einen ersten Typ und einen zweiten Typ umfasst.
-
In der Praxis kann das Betriebssystem diese bestimmenden Funktionen auf der Grundlage von Kommunikationsverlaufsdaten 38 (communication-history data) umsetzen, entweder laufend oder bei Bedarf dynamisch, um bestimmte Zählwerte auf der Grundlage des Kommunikationstyps und/oder der Anwendungsklasse eines neuen Kommunikationsvorgangs zu bestimmen, beispielsweise dynamisch, falls erforderlich, um eine nach Rang geordnete Auflistung der Zieladressvorschläge zu erstellen. Der Vorgang des Ermittelns kann Berechnen, Aktualisieren (beispielsweise Inkrementieren), Empfangen oder anderenfalls Erstellen oder Erlernen umfassen.
-
Jedes Mal, wenn beispielsweise die Vorrichtung einen Kommunikationsvorgang verortet (beispielsweise einen Anruf tätigt oder eine Nachricht sendet), kann das Betriebssystem den maßgeblichen Zählwert/die maßgeblichen Zählwerte für die Bestimmungsadresse des Kommunikationsvorgangs inkrementieren. Wie beispielsweise in der Tabelle der 3 gezeigt, könnte das Betriebssystem jedes Mal, wenn die Vorrichtung einen Anruf an die Adresse A1 verortet, den Anrufszählwert für die Adresse A1 inkrementieren, wobei jedes Mal, wenn die Vorrichtung eine Nachricht an die Adresse A1 sendet, kann das Betriebssystem den Mitteilungszählwert für Adresse A1 inkrementieren, usw.
-
Wie zuvor erwähnt, können zusätzliche Faktoren bei der Bestimmung der Nutzungsanzahl berücksichtigt werden. Da einige dieser zusätzlichen Faktoren kennzeichnend für den erstellten neuen Kommunikationsvorgang sind (wie beispielsweise das Anpassen der Rangordnung auf der Grundlage der Source-Person, die für den neuen Kommunikationsvorgang verwendet wird und/oder auf der Grundlage der Zeit (beispielsweise Aktualität) oder des Standorts des neuen Kommunikationsvorgangs), kann es am besten sein, diese Zähldaten zu dem Zeitpunkt zu erstellen, wenn der neue Kommunikationsvorgang erstellt wird. Der zusätzliche Faktor bzw. die zusätzlichen Faktoren können dann auf die zuvor beschriebene Art oder auf andere Weise berücksichtigt werden. Alternativ können ein oder mehrere zusätzliche Faktoren aufgenommen werden, indem die Kommunikationsvorgänge in Buckets, die bestimmte Eigenschaften aufweisen, sortiert werden (beispielsweise personenbezogene Buckets, aktualitätsbezogene Buckets oder entfernungsbezogene Buckets) und indem Zählwerte auf einer pro-Bucket-Basis durchgeführt werden, so dass, wie zuvor erwähnt, das Ordnen nach Rang auf bucketspezifischer Basis durchführbar ist.
-
Die von dem Betriebssystem bestimmten Zählwerte können auf Adressen beschränkt sein, die tatsächlich als Zieladressen für einen oder mehrere Kommunikationsvorgänge verwendet wurden. Zum Beispiel kann das Betriebssystem die Liste der maßgeblichen Adressen in der Reihenfolge ihrer Verwendung erstellen, und jedes Mal, wenn eine Adresse wiederverwendet wird, anschließend einen oder mehrere zutreffende Zählwerte für die Adresse inkrementieren. Vorteilhafterweise würde dies dazu beitragen, dass die Zieladressvorschläge sich auf diese Adressen konzentrieren, die tatsächlich zuvor verwendet wurden. Wahlweise können die Zählwerte beispielsweise alle Adressen in den Kontaktdaten 32 umfassen, wobei jedoch jene Adressen, die nicht als Zieladressen verwendet wurden, wie zuvor erwähnt, einen Zählwert von Null aufweisen können.
-
Wie in Feld 104 gezeigt, können die Funktionen ferner das Erfassen einer ersten Anfrage oder eines anderen Triggers zur Bereitstellung einer Vielzahl von Zieladressvorschlägen umfassen. Das Erfassen dieser Anfrage oder des anderen Triggers kann auf verschiedene Weise erfolgen. Beispielsweise kann das Betriebssystem die Anfrage erfassen, indem die Anfrage von einer Kommunikationsanwendung über die Abstraktionsschicht 44 empfangen wird. Beispielsweise kann das Betriebssystem von der Kommunikationsanwendung eine API-Abfrage empfangen, die eine Liste von Zieladressvorschlägen sucht. In der Praxis kann diese Anfrage einen neuen Kommunikationsvorgang des ersten Kommunikationstyps zugeordnet sein. Beispielsweise kann die Kommunikationsanwendung derart funktionieren, dass eine API-Abfrage bei Empfang einer Benutzereingabe, die die Erzeugung des neuen Kommunikationsvorgangs des ersten Kommunikationstyps anfordert, erzeugt und gesendet wird. Das Erfassen der Anfrage kann auch auf andere Art erfolgen, indem beispielsweise bloß erfasst wird, dass der neue Kommunikationsvorgang erstellt wird.
-
Wenn, als ein konkretes Beispiel, die Anwendung eine Telefonanrufsanwendung ist, kann die Anwendung ein Interfaceelement, wie beispielsweise ein Textfeld, bereitstellen, in das ein Benutzer einen Kontaktnamen oder eine Telefonnummer, der/die angerufen werden soll, eingeben kann. Erfasst die Anwendung, dass der GUI-Schwerpunkt auf diesem Element liegt, kann die Anwendung anschließend die API-Abfrage erzeugen und senden. Wahlweise kann die Anwendung, sobald der Benutzer ein oder mehrere Zeichen einzugeben beginnt (wie beispielsweise die ersten Buchstaben eines Kontaktnamens oder die ersten Zahlen einer Telefonnummer) anschließend die API-Abfrage erzeugen und senden. Im letzteren Fall kann die Anwendung in der Abfrage eine Spezifikation der bis dahin eingegeben Buchstaben/Zahlen umfassen, und das Betriebssystem kann dann diese Daten als Schlüssen für die Durchsuchung der Kontaktdaten 32 verwenden, um so den ausgegebenen Satz der Zieladresse auf jene zu beschränken, die mit den bis dahin eingegebenen Buchstaben/Zahlen übereinstimmen.
-
Die von der Anwendung bereitgestellte API-Abfrage kann ausdrücklich eine oder mehrere Klassifizierungen des neuen Kommunikationsvorgangs bestimmen, so dass das Betriebssystem Zieladressvorschläge ausgeben kann, die in einer deiefragliche Klassifizierung kennzeichnenden Weise nach Rang geordnet sind. Die Abfrage kann die Anzahlklassifizierungsdaten 36 für diesen Zweck verwenden. Beispielsweise kann die Abfrage ausdrücklich den Kommunikationstyp und/oder die Anwendungsklasse mit einer oder mehreren Teilangaben (levels of granularity) belegen, wie beispielsweise Anrufe, Sprachtelefonie (circuit-voice calling), Internettelefonie (VoIP calling), Mitteilungen, SMS/MMS-Mitteilungen oder E-Mail-Mitteilungen. Alternativ können einige von diesen Informationen oder alle Informationen in der Abfrage, die von einer bestimmten Anwendung empfangen wird, implizit enthalten sein. Wenn beispielsweise die Abfrage von einer einfachen Telefonanrufanwendung empfangen wird, kann darin implizit enthalten sein (beispielsweise von Anwendungsregistrierungsdaten in dem Betriebssystem), dass der Kommunikationstyp ein Sprachanruf ist und die Anwendungsklasse ”Anruf” ist. Weitere Beispiele sind ebenso möglich.
-
In jedem Fall kann das Betriebssystem dann den fraglichen Kommunikationstyp und/oder die Anwendungsklasse bestimmen, um das Bereitstellen einer geeigneten Rangordnung zu erleichtern. Ferner kann das Betriebssystem auch eine oder mehrere weitere Eigenschaften des neuen Kommunikationsvorgangs bestimmen, wie beispielsweise eine Source-Person, eine Zeit und/oder einen Standort, um so das Anpassen der Rangordnung auf der Grundlage einer oder mehrerer weiterer Eigenschaften auf die zuvor beschriebene Weise zu erleichtern. In der Praxis kann die Abfrageanwendung beispielsweise eine Source-Person-Kennung als API-Abfrage umfassen oder das Betriebssystem kann sich auf eine allgemeinere Source-Person-Einstellung der Vorrichtung oder der Anwendung beziehen, um die Source-Person zu bestimmen. Auf ähnliche Weise kann das Betriebssystem die aktuelle Zeit und/oder den aktuellen Zeitpunkt bestimmen oder darüber informiert werden.
-
Wie im Feld 106 gezeigt, können die Funktionen als Reaktion auf die erste Anfrage das Senden einer Liste, die die Vielzahl der Kommunikationsadressen aufweist, umfassen. Ferner kann die Vielzahl der Kommunikationsadressen in der Liste als Reaktion auf den neuen Kommunikationsvorgang des ersten Kommunikationstyps nach Rang geordnet werden, die zumindest teilweise auf die erste Vielzahl von Zählwerten und möglicherweise auf einem oder mehreren der zuvor erwähnten Faktoren beruht.
-
In Übereinstimmung mit der obigen Diskussion kann diese Funktion das Bereitstellen einer Liste von Zieladressen, einschließlich der Vielzahl von Kommunikationsadressen, die in der den neuen Kommunikationsvorgangstyp kennzeichnenden Weise nach Rang geordnet ist, umfassen. Das Betriebssystem kann diese Liste der ersten Anwendung als Reaktion auf die API-Abfrage, die von der ersten Anwendung beispielsweise als ein Array von Zieladressvorschlägen empfangen wird, bereitstellen.
-
Die bereitgestellte Liste der Zieladressvorschläge kann die Vielzahl der Kommunikationsadressen in der Reihenfolge der Häufigkeit ihrer Verwendung (beispielsweise Nutzungsanzahl) speziell für den fraglichen Kommunikationstyp umfassen, wie beispielsweise von der größten Häufigkeit (beispielsweise der höchste Zählwert) bis zur geringsten Häufigkeit (beispielsweise der kleinste Zählwert). Es wird angenommen, dass mit Bezug auf die Adressen in 3 der fragliche Kommunikationstyp beispielsweise ”Anruf” ist. Auf der Grundlage der in der Tabelle angezeigten Zähldaten kann die Liste die Adressen dann als {B3, A2, B1, B2, A1, A3} ordnen, da die ”anrufsspezifischen” Zählwerte für diese Adressen jeweils {15, 13, 9, 7, 1, 0} sind. Wenn andererseits der Kommunikationstyp ”Mitteilung” ist, kann die Liste der Adressen als {B2, A1, B1, A2, A3, B3} ordnen, da die ”mitteilungsspezifischen” Zählwerte für diese Adresse jeweils {33, 25, 11, 5, 3, 0} sind.
-
Alternativ kann das Ordnen nach Rang kontaktspezifisch erfolgen, indem die Kontakte auf der Grundlage der Häufigkeit von Kommunikationsvorgängen des bestimmten Kontakttyps geordnet werden und anschließend die Adressen innerhalb eines jeden Kontakts nach Rang geordnet werden. (In diesem Fall kann das vorliegende Verfahren auf einer pro-Kontakt-Basis und möglicherweise auch unter einer Kontaktgruppe anwendbar sein.) Wenn beispielsweise der Kommunikationstyp ”Anruf” ist, kann das Betriebssystem bestimmen, dass der Kontakt A, der am häufigsten angerufene ist, und somit die Adressen des Kontaktes A im Rang als erstes auflisten, gefolgt von den Adressen des Kontaktes B. So kann die nach Rang geordnete Liste der Kommunikationsadressen {KONTAKT-A: A2, A1, A3}, gefolgt von {KONTAKT-B: B3, B1, B2} umfassen. Wenn andererseits der Kommunikationstyp ”Mitteilung” ist, kann das Betriebssystem bestimmen, dass der Kontakt B das am häufigste verwendete Ziel für Mitteilungen ist, und so kann die nach Rang geordnete Liste der Kommunikationsadressen {KONTAKT-B: B2, B1, B3}, gefolgt von {KONTAKT-A: A1, A2, A3} umfassen.
-
In dem Fall, in dem das Betriebssystem mehrere unterschiedliche Zählwerte für jede Adresse einer Vielzahl von Adressen führt und indem das Ordnen nach Rang auf der Grundlage der Zählwerte erfolgt, die für einen bestimmten Kommunikationstyp und/oder Anwendungsklasse kennzeichnend sind, kann es sein, dass der Rangordnungsvorgang nicht auf der Grundlage von Zählwerten für einen oder mehrere weitere Kommunikationstypen und/oder Anwendungsklassen erfolgt. Für einen ”Anruf”-Kommunikationsvorgang können die Adressen beispielsweise auf der Grundlage von anrufspezifischen Zählwerten, jedoch nicht auf der Grundlage von mitteilungsspezifischen Zählwerten nach Rang geordnet werden (d. h. ohne Bezug auf die mitteilungsspezifischen Zählwerte). Und für einen ”Mitteilung”-Kommunikationsvorgang können die Adressen auf der Grundlage von mitteilungsspezifischen Zählwerten jedoch nicht auf der Grundlage von anrufspezifischen Zählwerten nach Rang geordnet werden (d. h. ohne Bezug auf anrufspezifische Zählwerte).
-
Wie bereits zuvor erwähnt, können ein oder mehrere der Zählwerte, die die Basis der Rangordnung bilden, auf einen Kommunikationsvorgang beruhen, der von mehr als einer Anwendung verortet wird. Somit können, obwohl das Betriebssystem nach Rang geordnete Zieladressvorschläge an eine bestimmte Anwendung sendet, einer oder mehrere der Zählwerte, die die Basis für die Rangordnung bilden, auf Kommunikationsvorgänge beruhen, die von zumindest einer weiteren Anwendung verortet werden. Wenn beispielsweise die Abfrageanwendung eine Internettelefonieanwendung (VoIP) ist, kann der Fall eintreten, dass einige oder alle der Zählwerte in der Spalte „Anruf” der 3 einen oder mehrere Anrufskommunikationsvorgänge umfassen, die stattdessen von einer Sprachtelefonieanwendung verortet wurden. Weitere Beispiele sind ebenso möglich.
-
In der Praxis kann das Betriebssystem die nach Rang geordnete Liste der Adresse zu dem Zeitpunkt dynamisch erstellen, wenn das Betriebssystem die nach Rang geordnete Auflistung an die Anwendung übermittelt. Bei Empfang einer API-Abfrage oder anderenfalls beim Erfassen einer Anfrage für Zieladressvorschläge kann das Betriebssystem beispielsweise kommunikationstypspezifsche Zählwerte auf der Grundlage der Kommunikationsverlaufsdaten bilden und anschließend die geeignete Rangordnung erstellen, möglicherweise ebenso unter Berücksichtigung eines oder mehrerer weiterer Faktoren in dem Verfahren. Oder wenn der geeignete kommunikationstypspezifische Zählwert bereits gebildet wurde, kann das Betriebssystem auf die API-Abfrage oder auf andere Abfragen antworten, und anschließend die geeignete Rangordnung auf der Grundlage dieser existierenden Zählwerte erstellen. Alternativ kann das Betriebssystem vor dem Erfassen der Anfrage für die Zieladressvorschläge unterschiedliche nach Rang geordnete Auflistungen erstellen (pro Kommunikationstyp und/oder Anwendungsklasse), beispielsweise laufend im Form eines Hintergrundprozesses, um so über die geeignete Rangordnung für eine schnelle Bereitstellung an jegliche Abfrageanwendung verfügen zu können.
-
In jedem Fall kann der Vorgang des Erstellens der Liste von Zieladressvorschlägen das Sortieren von zumindest der Vielzahl der Kommunikationsadressen zumindest zum Teil auf der Grundlage ihrer Zählwerte der Kommunikationsvorgänge des maßgeblichen Kommunikationstyps umfassen. Beispielsweise umfasst der Vorgang des Erstellens der Liste das Sortieren der Adressen in der Reihenfolge der häufigsten Kommunikationsvorgänge des maßgeblichen Kommunikationstyps bis zu den wenigsten Kommunikationsvorgängen des maßgeblichen Kommunikationstyps, wie zuvor erwähnt möglicherweise ebenso unter Berücksichtigung weiterer Faktoren, wie beispielsweise, Zeit und/oder Standort.
-
Wenn das erste Anwendungsprogramm die Liste der Zieladressvorschläge von dem Betriebssystem (beispielsweise von der Abstraktionsschicht 44) empfängt, kann das Anwendungsprogramm optimalerweise bewirken, dass die Vorrichtung die Zieladressvorschläge, einschließlich der Vielzahl der Kommunikationsadressen in der erstellten Rangordnung, auf der Benutzeroberfläche 16 zur Ansicht für den Benutzer darstellt. Beispielsweise kann das Anwendungsprogramm die Liste zur Ausgabe auf einem Bildschirm senden, beispielsweise indem eine GUI erzeugt wird, die die Darstellung der Liste enthält, und indem die GUI an das Betriebssystem zur Darstellung auf dem Bildschirm bereitgestellt wird. Die Anwendung ermöglicht es dem Benutzer, eine der dargestellten Zieladressen, die für den fraglichen Kommunikationsvorgang verwendet werden soll, auszuwählen.
-
Es sollte beachtet werden, dass ”die Darstellung” oder ”die Ausgabe” der Liste von Zieladressvorschlägen auf einem Bildschirm oder anderenfalls auf einer Benutzeroberfläche eine scrollbare Darstellung der Liste umfasst. Es kann beispielsweise jeweils nur ein Bereich der Liste dargestellt sein, so dass ein Benutzer durch die Liste scrollen muss, um den Rest einsehen zu können.
-
Mit Hilfe des Verfahrens kann das Betriebssystem in der Praxis ferner eine weitere Liste bereitstellen, die die Vielzahl der Kommunikationsadressen in unterschiedlicher Rangfolge umfasst, um die Auswahl einer Adresse für einen Kommunikationsvorgang eines anderen Kommunikationstyps zu erleichtern.
-
Das Betriebssystem kann beispielsweise eine zweite Anfrage für eine Vielzahl von Zieladressvorschlägen erfassen, wobei die zweite Anfrage von einem anderen Anwendungsprogramm als das erste Anwendungsprogramm empfangen wird und einem zweiten neuen Kommunikationsvorgang des zweiten Kommunikationstyps zugeordnet wird. Als Reaktion auf die zweite Anfrage kann das Betriebssystem wiederum eine zweite Liste senden, die die Vielzahl der Kommunikationsadressen umfasst, wobei die Vielzahl der Kommunikationsadressen gemäß einer zweiten Rangordnung geordnet ist, die zumindest teilweise auf der zweiten Vielzahl von Zählwerten und möglicherweise auf einen oder mehreren weiteren der zuvor erwähnten Faktoren beruht. Das die zweite Anfrage bereitstellende Anwendungsprogramm kann die zweite Liste zur Ausgabe auf dem Bildschirm oder anderenfalls auf der Benutzeroberfläche senden, wobei die zweite Liste die Vielzahl der Kommunikationsadressen umfasst, die gemäß der zweiten Rangordnung geordnet ist, um die Auswahl einer Zieladresse für den zweiten neuen Kommunikationsvorgang zu erleichtern.
-
Die 5 zeigt ein Flussdiagramm, das die gemäß der vorliegenden Erfindung ausführbaren Funktionen darstellt, um eine Liste von Zieladressvorschlägen einschließlich einer Vielzahl von Kommunikationsadressen bereitzustellen, die in Abhängigkeit des fraglichen Kommunikationstyps gemäß einer oder einer anderen Rangordnung geordnet sind. Wie in dem Feld 110 der 5 gezeigt, umfassen die Funktionen das Bestimmen einer ersten Vielzahl von Zählwerten von Kommunikationsvorgängen eines ersten Kommunikationstyps, wobei jeder Zählwert in der ersten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen des ersten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus einer Vielzahl von Kommunikationsadressen verortet wird. Wie in Feld 112 gezeigt, umfassen die Funktionen das Bestimmen einer zweiten Vielzahl von Zählwerten von Kommunikationsvorgängen eines zweiten Kommunikationstyps, wobei jeder Zählwert in der zweiten Vielzahl der Zählwerte auf einer entsprechenden Menge von Kommunikationsvorgängen des zweiten Kommunikationstyps beruht, die an eine entsprechende Kommunikationsadresse aus der Vielzahl der Kommunikationsadressen verortet wird. Optimalerweise schließen sich der erste Kommunikationstyp und der zweite Kommunikationstyp gegenseitig aus, wie beispielsweise Anrufe und Mitteilungen (wobei ein Typ nicht den anderen umfasst und umgekehrt).
-
Wie in Feld 114 gezeigt, umfassen die Funktionen des Weiteren das Erfassen einer Anfrage für Zieladressvorschläge für einen neuen Kommunikationsvorgang. Und wie in Feld 116 gezeigt, können die Funktionen bestimmen, ob der neue Kommunikationsvorgang einen ersten Kommunikationstyp oder einen zweiten Kommunikationstyp umfasst. Wird bestimmt, dass der erste Kommunikationsvorgang den ersten Kommunikationstyp umfasst, dann stellen die Funktionen, wie in Feld 118 gezeigt, eine erste Liste auf einer Benutzeroberfläche bereit (oder bewirken, dass die Benutzeroberfläche eine erste Liste darstellt), die die erste Vielzahl von Kommunikationsadressen umfasst, die zumindest teilweise auf der Grundlage der ersten Vielzahl von Zählwerten, die für die Vielzahl der Kommunikationsadressen bestimmt sind, und nicht auf der Grundlage der zweiten Vielzahl von Zählwerten, die für die Vielzahl der Kommunikationsadressen bestimmt sind, sortiert werden. Wenn andererseits bestimmt wird, dass der neue Kommunikationsvorgang den zweiten Kommunikationstyp umfasst, dann können die Funktionen, wie in Feld 120 gezeigt, stattdessen eine zweite Liste auf der Benutzeroberfläche darstellen, die die Vielzahl der Kommunikationsadressen umfasst, die zumindest teilweise auf der Grundlage der zweiten Vielzahl von Zählwerten, die für die Vielzahl der Kommunikationsadressen bestimmt sind, und nicht auf der Grundlage der ersten Vielzahl von Zählwerten, die für die Vielzahl der Kommunikationsadressen bestimmt ist, sortiert werden.
-
Die 6 zeigt ein weites Flussdiagramm, das die gemäß der vorliegenden Erfindung ausführbaren Funktionen darstellt. Wie im Feld 130 in der 5 gezeigt, können die Funktionen eine erste Vielzahl von Zählwerten von Kommunikationsvorgängen, die von einer oder mehreren Anwendungen einer ersten Anwendungsklasse verortet werden, bestimmen, wobei jeder Zählwert in der ersten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen beruht, die von einer oder mehreren Anwendungen der ersten Anwendungsklasse an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet wird. Ferner bestimmen die Funktionen, wie in Feld 132 gezeigt, eine zweite Vielzahl von Zählwerten von Kommunikationsvorgängen, die von einer oder mehreren Anwendungen einer zweiten Anwendungsklasse verortet werden, wobei jeder Zählwert in der zweiten Vielzahl von Zählwerten auf einer entsprechenden Menge von Kommunikationsvorgängen beruht, die von einer oder mehreren Anwendungen der zweiten Anwendungsklasse an eine entsprechende Kommunikationsadresse aus der Vielzahl von Kommunikationsadressen verortet wird. Diese Funktionen können größtenteils auf die gleiche Weise wie zuvor mit Bezug auf den Kommunikationstyp beschrieben durchgeführt werden, wobei jedoch die Klassifizierung auf der Anwendungsklasse beruht, wie beispielsweise in oder implizit von den Nutzungsaufzeichnungen festgelegt. Ferner können sich die erste und die zweite Anwendungsklasse gegenseitig ausschließen (wobei eine Klasse nicht die andere umfasst und umgekehrt).
-
Wie in Feld 134 gezeigt, können die Funktionen eine erste Anfrage für eine Vielzahl von Zieladressvorschlägen erfassen, wobei die erste Anfrage von einer ersten Anwendung empfangen und einem ersten neuen Kommunikationsvorgang zugeordnet wird, und wobei die erste Anwendung ein Mitglied der ersten Anwendungsklasse ist. Wie in Feld 136 gezeigt, können die Funktionen als Reaktion auf die erste Anfrage eine erste Liste, die die Vielzahl der Kommunikationsadressen umfasst, senden. Ferner kann die Vielzahl der Kommunikationsadressen als Reaktion darauf, dass die erste Anwendung (die den ersten neuen Kommunikationsvorgang erzeugt) ein Mitglied der ersten Anwendungsklasse ist, entsprechend einer ersten Rangordnung geordnet werden, die zumindest teilweise auf der ersten Vielzahl von Zählwerten beruht, d. h. sie beruht auf den Zählwerten von Kommunikationsvorgängen, die von einer oder mehreren Anwendungen der ersten Anwendungsklasse verortet werden.
-
In der Praxis wird die erste Rangordnung erstellt, indem die Vielzahl der Kommunikationsadressen sortiert werden, die zumindest teilweise auf der ersten Vielzahl von Zählwerten von Kommunikationsvorgängen beruht, die von einer oder mehreren Anwendungen der ersten Anwendungsklasse an die Vielzahl von Kommunikationsadressen verortet werden, und ohne Berücksichtigung der zweiten Vielzahl von Zählwerten von Kommunikationsvorgängen, die von der einen oder mehreren Anwendungen der zweiten Anwendungsklasse an die Vielzahl von Kommunikationsadressen verortet werden, um so die erste Liste, die die gemäß der ersten Rangordnung geordnete Vielzahl von Kommunikationsadressen umfasst, zu erstellen.
-
Ferner können bei Erfassung der ersten Anfrage die Funktionen bestimmen, dass die erste Anwendung ein Mitglied der ersten Anwendungsklasse ist. Und die Funktionen können dann als Reaktion auf diese Bestimmung zumindest die Vielzahl der Kommunikationsadressen, die zumindest teilweise auf der ersten Vielzahl von Zählwerten von Kommunikationsvorgängen beruht, die von der einen oder von mehreren Anwendungen der ersten Anwendungsklasse an die Vielzahl der Kommunikationsadressen verortet werden, sortieren, um so die erste Liste, die die entsprechend der ersten Rangordnung geordnete Vielzahl von Kommunikationsadressen umfasst, zu erstellen. Alternativ können die Funktionen vor dem Erfassen der ersten Anfrage zumindest die Vielzahl der Kommunikationsadressen, die zumindest auf der ersten Vielzahl von Zählwerten von Kommunikationsvorgängen beruht, die von der einen oder von mehreren Anwendungen der ersten Anwendungsklasse an die Vielzahl von Kommunikationsadressen verortet werden, sortieren, um so die erste Liste, die die gemäß der ersten Rangordnung geordnete Vielzahl von Kommunikationsadressen umfasst, zu erstellen.
-
Wie in Feld 138 gezeigt, können die Funktionen ferner eine zweite Anfrage für eine Vielzahl von Zieladressvorschlägen erfassen, wobei die zweite Anfrage von einer zweiten Anwendung empfangen und einem zweiten neuen Kommunikationsvorgang zugeordnet wird, und wobei die zweite Anwendung ein Mitglied der zweiten Anwendungsklasse ist.
-
Wie in Feld 140 gezeigt, können die Funktionen als Reaktion auf die zweite Anfrage eine zweite Liste, die die Vielzahl der Kommunikationsadressen umfasst, senden. Ferner kann die Vielzahl der Kommunikationsadressen in der zweiten Liste als Reaktion darauf, dass die zweite Anwendung (die den zweiten neuen Kommunikationsvorgang erzeugt) ein Mitglied der zweiten Anwendungsklasse ist, gemäß einer zweiten Rangordnung geordnet werden, die zumindest teilweise auf der zweiten Vielzahl von Zählwerten beruht, d. h. sie beruht auf den Zählwerten von Kommunikationsvorgängen, die von der einen oder von mehreren Anwendungen der zweiten Anwendungsklasse verortet werden.
-
Die 7 zeigt ein weiteres Flussdiagramm, das die gemäß dem vorliegenden Verfahren ausführbaren Funktionen darstellt. Das Flussdiagramm der 7 zeigt, dass das Verfahren eine bestimmte Rangordnung von Zieladressvorschlägen bereitstellen kann, wobei die Rangordnung auf der Klassifizierung der erstellten neuen Kommunikationsvorgänge beruht (beispielsweise auf der Grundlage des Kommunikationstyps des neuen Kommunikationsvorgangs und/oder der Anwendungsklasse jener Anwendung, die den neuen Kommunikationsvorgang erstellt).
-
Wie im Feld 150 der 7 gezeigt, umfassen die Funktionen das Erfassen einer Anfrage für Zieladressvorschläge für einen neuen Kommunikationsvorgang. Wie in Feld 152 gezeigt, bestimmen die Funktionen dann eine Klassifizierung des neuen Kommunikationsvorgangs (wie beispielsweise einen Kommunikationstyp und/oder eine Anwendungsklasse). Wie in Feld 154 gezeigt, stellen (beispielsweise Senden) die Funktionen als Reaktion auf die Anfrage eine Vielzahl von Kommunikationsadressen, die gemäß einer Rangordnung geordnet sind, bereit, wobei die Rangordnung zumindest teilweise auf der bestimmten Klassifizierung des neuen Kommunikationsvorgangs beruht. In der Praxis können die Funktionen beispielsweise die Kommunikationsadressen zumindest teilweise auf der Grundlage der Nutzungsanzahl, die für die bestimmte Klassifizierung kennzeichnend ist, nach Rang ordnen und anschließend die nach Rang geordnete Auflistung bereitstellen. Alternativ umfassen die Funktionen Angeben einer Vielzahl von klassifizierungsspezifischen, nach Rang geordneten Auflistungen (beispielsweise eine nach Rang geordnete Auflistung pro Klassifizierung) und Auswählen jener nach Rang geordneten Auflistung, die mit den festgelegten Klassifizierungen übereinstimmt, aus der Vielzahl von klassifikationsspezifischen, nach Rang geordneten Auflistungen, und anschließend Bereitstellen der nach Rang geordneten Auflistung.
-
Schließt zeigt die 8 (Teile A und B) zwei beispielhafte GUI-Abbildungen, um zu demonstrieren, wie das vorliegende Verfahren einen Satz von Adressen, der je nach erzeugtem Kommunikationstyp eine unterschiedliche Rangordnung aufweist, bereitstellen kann. Die 8A zeigt eine GUI einer Mitteilungsanwendung (wie beispielsweise eine SMS- oder MMS-Anwendung) und die 8B zeigt eine GUI einer Telefonanwendung (wie beispielweise eine Sprachtelefonieanwendung). In beiden Abbildungen umfasst die GUI eine QWERTY-Tastatur, die ein Benutzer betätigen kann, um die ersten Zeichen eines Zielkontakts für einen gewünschten Kommunikationsvorgang einzugeben. Ferner zeigt die GUI für Mitteilungen der 6A die Felder ”Von”, ”Betreff” und ”Textfeld” (wobei das Betreffsfeld und das Textfeld teilweise mit weiteren Informationen belegt sind), die ein Benutzer für eine Textmitteilung ausfüllen kann.
-
Beide dieser beispielhaften GUI-Abbildungen umfassen ein Feld, das der Benutzer ausfüllen kann, um eine gewünschte Zieladresse für einen neuen Kommunikationsvorgang anzuzeigen. Die GUI für Mitteilungen umfasst ein ”An”-Feld, und die GUI für Telefonanrufe umfasst ein ”Wähl”-Feld. Ferner zeigt jede Abbildung, dass ein Benutzer bislang die Zeichen ”be” als Zielkontaktnamen eingegeben hat und beide Abbildungen zeigen, dass die GUI eine Liste von Zieladressvorschlägen als gestapelte Felder unter dem Zielfeld anzeigt. Gemäß dem vorliegenden Verfahren weist, zumindest teilweise aufgrund der Adressen mit einer unterschiedlichen relativen Nutzungsanzahl für Mitteilungen als für Telefonanrufe, die Zieladressliste, die auf der GUI für Mitteilungen angezeigt wird, eine andere Rangordnung auf als die gleiche Zieladressliste, die auf der GUI für Telefonanrufe angezeigt wird.
-
Beispielsweise listet die GUI für Mitteilungsanwendungen die übereinstimmenden Kontaktnahmen ”Betty Johnson”, ”Beth Campbell”, und ”Bernie Smith” auf. Für den Namen Betty Johnson legt die Liste dann nach Rang geordnet die Telefonnummer 111-111-1111 und 222-222-2222 fest. Die Liste bestimmt dann eine Telefonnummer 333-333-3333 für Beth Campbell und eine Telefonnummer 444-444-4444 für Bernie Smith. Gemäß dem vorliegenden Verfahren beruht diese Rangordnung auf den Nutzungsanzahldaten, die angeben, dass Betty das häufigste Ziel für Textmitteilungen ist, gefolgt von Bernie und anschließend von Betty, und dass im Falle von Betty ihre Nummer 111-111-1111 öfter als Ziel für Textmitteilungen verwendet wird als ihre Nummer 222-222-2222.
-
Andererseits listet die GUI für Telefonanwendungen die Kontakte in der Reihenfolge Bernie, Betty und Beth, unter Angabe der Adressen von jedem und unter Angabe von Bettys Nummern in umgekehrter Reihenfolge. Gemäß dem vorliegenden Verfahren beruht die Rangordnung auf die Nutzungsanzahlsdaten, die angeben, dass Bernie am häufigsten angerufen wird, gefolgt von Betty und anschließend Beth, und dass im Falle von Betty ihre Nummer 222-222-2222 öfter angerufen wird als ihre Nummer 111-111-1111.
-
Ausgestattet mit einer dieser beiden GUIs kann ein Benutzer ein gewünschtes Feld aus den Feldern auswählen, die in der Liste von Zieladressvorschlägen vorgesehen sind, und die Vorrichtung kann als Reaktion darauf die ausgewählte Zieladresse in das Zielfeld für den zu erstellenden Kommunikationsvorgang eingeben. Der Benutzer kann anschließend die Vorrichtung anweisen, den Kommunikationsvorgang an diese Adresse zu initiieren.
-
Obgleich verschiedene Aspekte und Ausführungsformen hierin offenbart wurden, werden weitere Aspekte und Ausführungsformen dem Fachmann offenkundig. Die verschiedenen Aspekte und Ausführungsformen der vorliegenden Erfindung dienen der Veranschaulichung und sind als nicht einschränkend zu verstehen, wobei der wahre Umfang und Geist der vorliegenden Erfindung in den Ansprüchen wiedergegeben ist. Obwohl die vorgehende Beschreibung beispielsweise zwei Kommunikationstypen und/oder Anwendungsklassen als beispielhafte Klassifizierungen von Kommunikationsvorgängen verwendet, um eine Liste von Zieladressvorschlägen nach Rang zu ordnen, sind ebenso weitere Beispiele möglich, und mehr als zwei Klassifizierungen können verwendet werden, wobei jede zu einer entsprechend anderen Rangordnung von Kommunikationsadressen führt.