DE112016004617T5 - Mischen von Inhalten in einem Inhaltsstrom - Google Patents

Mischen von Inhalten in einem Inhaltsstrom Download PDF

Info

Publication number
DE112016004617T5
DE112016004617T5 DE112016004617.0T DE112016004617T DE112016004617T5 DE 112016004617 T5 DE112016004617 T5 DE 112016004617T5 DE 112016004617 T DE112016004617 T DE 112016004617T DE 112016004617 T5 DE112016004617 T5 DE 112016004617T5
Authority
DE
Germany
Prior art keywords
content data
aggregated content
data structure
aggregated
data structures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112016004617.0T
Other languages
English (en)
Inventor
Harish CHANDRAN
Lucian Florin Cionca
Amongh Sanjay Asgekar
Panchapagesan KRISHNAMURTHY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112016004617T5 publication Critical patent/DE112016004617T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Aspekte der betrachteten Technologie beziehen sich auf das Mischen einer aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom. Eine erste Vielzahl von aggregierten Inhaltsdatenstrukturen soll empfangen werden, wobei jede eine Gruppe von Inhaltselementen für die Anzeige in einem Inhaltsstrom eines Benutzers umfasst und einer jeweiligen Bewertung zugeordnet ist. Eine erste aggregierte Inhaltsdatenstruktur kann aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis der Bewertungen und vorher festgelegten Typzielprozentsätze ausgewählt werden, die dem Benutzer zugeordnet sind. Die erste aggregierte Inhaltsdatenstruktur kann in einen Inhaltsstrom gemischt werden, der einem Benutzer zugeordnet ist, und der Inhaltsstrom kann für die Anzeige bereitgestellt werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANWENDUNGEN
  • Die vorliegende Anmeldung beansprucht den Vorteil der Priorität unter 35 U.S.C. §119 der provisorischen US-Patentanmeldung Serien Nr. 62/239.191 mit dem Titel „Mixing Content into a Content Stream“, eingereicht am 8. Oktober 2015, deren Offenbarung hiermit durch Verweis in ihrer Gesamtheit für alle Zwecke einbezogen wird.
  • HINTERGRUND
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Lieferung von Inhalten und insbesondere auf das Mischen von Inhalten in einen Inhaltsstrom. Benutzer können Inhaltselemente aus mehreren Quellen lesen, anzeigen, posten, teilen oder sonst konsumieren. Die Menge der Inhaltselemente, die für die Konsumierung verfügbar sind, erhöht sich, zum Beispiel wenn der Benutzer zusätzliche Inhaltsquellen auswählt, von denen er Inhaltselemente empfängt, und/oder wenn die ausgewählten Quellen weiter Inhaltselemente produzieren. Der Benutzer kann zum Beispiel Live-Nachrichtenaktualisierungen von einer Nachrichtenquelle sowie Aktualisierungen sozialer Netzwerke empfangen. Das Organisieren der Inhaltselemente und Ermitteln, welche Inhaltselemente genutzt werden sollen, kann komplizierter werden, wenn sich die Menge der verfügbaren Inhalte erhöht und der Bildschirmplatz begrenzter wird, wie z. B. wenn die Inhalte auf einem Mobilgerät konsumiert werden.
  • KURZDARSTELLUNG
  • Aspekte der betrachteten Technologie beziehen sich auf ein maschinenimplementiertes Verfahren für das Erstellen einer aggregierten Inhaltsliste. Das Verfahren beinhaltet das Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur sich auf eine Gruppe von Inhaltselementen bezieht und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen dem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist, das Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger Bewertungen für die erste Vielzahl von aggregierten Inhaltsdatenstrukturen und einen vorher festgelegten Typzielprozentsatz für den Kategorietyp, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist, das Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist, und das Bereitstellen des Inhaltsstroms, einschließlich der ersten aggregierten Inhaltsdatenstruktur, für die Anzeige für den Benutzer.
  • Aspekte der betrachteten Technologie beziehen sich auch auf ein Computersystem für das Erstellen einer aggregierten Inhaltsliste. Das System beinhaltet einen oder mehrere Prozessoren und ein nicht transitorisches, computerlesbares Medium, auf dem Anweisungen gespeichert sind, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, Operationen durchzuführen. Die Operationen beinhalten das Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur sich auf eine Gruppe von Inhaltselementen bezieht und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen dem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist, das Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger Bewertungen für die erste Vielzahl von aggregierten Inhaltsdatenstrukturen und einen vorher festgelegten Typzielprozentsatz für den Kategorietyp der ersten aggregierten Inhaltsdatenstruktur, das Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist, und das Bereitstellen des Inhaltsstroms, einschließlich der ersten aggregierten Inhaltsdatenstruktur, für die Anzeige für den Benutzer.
  • Aspekte der betrachteten Technologie beziehen sich auch auf ein nicht transitorisches, maschinenlesbares Medium, auf dem Anweisungen gespeichert sind, die, wenn sie durch eine Maschine ausgeführt werden, die Maschine veranlassen, Operationen für das Erstellen einer aggregierten Inhaltsliste durchzuführen. Die Operationen beinhalten das Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur sich auf eine Gruppe von Inhaltselementen bezieht und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen einem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist, das Normalisieren der Bewertung jeder der ersten Vielzahl von Datenstrukturen, sodass sie zwischen einem ersten vorher festgelegten Wert und einem zweiten vorher festgelegten Wert liegt, das Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger normalisierter Bewertungen für die erste Vielzahl von aggregierten Inhaltsdatenstrukturen und einen vorher festgelegten Typzielprozentsatz für den Kategorietyp der ersten aggregierten Inhaltsdatenstruktur, das Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der einem Benutzer zugeordnet ist, und das Bereitstellen des Inhaltsstroms, einschließlich der ersten aggregierten Inhaltsdatenstruktur, für die Anzeige für den Benutzer.
  • Es versteht sich, dass andere Konfigurationen der vorliegenden Technologie für Fachleute aus der folgenden detaillierten Beschreibung, worin verschiedene Konfigurationen der vorliegenden Technologie mittels Veranschaulichung gezeigt und beschrieben sind, leicht offensichtlich sein werden. Wie zu erkennen ist, kann die gegenständliche Technologie andere und verschiedenartige Konfigurationen hervorbringen, zudem können ihre verschiedenen Einzelheiten Modifizierungen in vielerlei anderen Hinsichten hervorbringen, ohne vom Schutzumfang der gegenständlichen Technologie abzuweichen. Dementsprechend sind die Zeichnungen und die ausführliche Beschreibung als veranschaulichend und nicht als einschränkend anzusehen.
  • Figurenliste
  • Die beigefügten Zeichnungen, die enthalten sind, um ein weiteres Verständnis zu bieten, und die in diese Spezifikation einbezogen sind und einen Teil dieser Spezifikation darstellen, veranschaulichen offenbarte Aspekte und dienen zusammen mit der Beschreibung als Erklärung der Prinzipien der offenbarten Aspekte.
    • 1 veranschaulicht eine exemplarische Netzwerkumgebung, in der einige Implementierungen der betrachteten Technologie implementiert sein können.
    • 2 veranschaulicht eine Umgebung für die Ermöglichung des Mischens aggregierter Inhaltsdatenstrukturen in einen Inhaltsstrom gemäß exemplarischen Aspekten der betrachteten Technologie.
    • 3 veranschaulicht ein Beispiel einer aggregierten Inhaltsdatenstruktur gemäß exemplarischen Aspekten der betrachteten Technologie.
    • 4 veranschaulicht ein Ablaufdiagramm eines Prozesses für das Mischen einer aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom gemäß exemplarischen Aspekten der betrachteten Technologie.
    • 5 veranschaulicht ein Ablaufdiagramm eines Prozesses für das Mischen einer aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom gemäß exemplarischen Aspekten der betrachteten Technologie.
    • 6 veranschaulicht konzeptuell ein exemplarisches elektronisches System, mit dem einige Implementierungen der betrachteten Technologie implementiert werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachstehend dargelegte ausführliche Beschreibung soll als Beschreibung verschiedener Konfigurationen der gegenständlichen Technologie dienen und ist nicht dafür vorgesehen, die einzigen Konfigurationen darzustellen, mit denen die gegenständliche Technologie umgesetzt werden kann. Die beigefügten Zeichnungen werden hierin integriert und sind ein Bestandteil der ausführlichen Beschreibung. Die ausführliche Beschreibung beinhaltet spezifische Angaben zum Zwecke des Bereitstellens eines gründlichen Verständnisses der gegenständlichen Technologie. Jedoch ist die betrachtete Technologie nicht auf die hier vorgestellten spezifischen Details begrenzt, und kann ohne diese spezifischen Details ausgeübt werden. In manchen Fällen werden Strukturen und Komponenten in Blockdiagrammform dargestellt, um ein Verschleiern der Konzepte der betrachteten Technologie zu verhindern.
  • Ein Benutzer kann einen Webdienst, z. B. einen sozialen Netzwerkdienst, nutzen, um Inhaltselemente zu finden und zu konsumieren. Ein Inhaltselement kann jedwede Art von Inhalt beinhalten, wie z. B. Audio, Video, Grafik, Text und Kombinationen davon, der online zum Beispiel über das Internet verfügbar ist. Inhaltselemente können Nachrichtenartikel, Posts in sozialen Netzwerken, Aktualisierungen über Ereignisse in sozialen Netzwerken, von Benutzern hochgeladene Medien, Kommentare von Benutzern, Freigaben von Benutzern, Websites usw. beinhalten, die Benutzer durch Anzeigen oder Interagieren damit konsumieren können. Der soziale Netzwerkdienst kann Inhaltsquellen von verschiedenen Quellen sammeln und empfangen und Inhaltselemente dem Benutzer in einem Inhaltsstrom bereitstellen. Quellen für die Inhaltselemente beinhalten Server für Nachrichtendienste, Mediendienste, Fotofreigabedienste und andere Inhaltsdienste, sodass die Inhaltselemente von den Servern der jeweiligen Dienste angefordert und abgerufen werden können.
  • Ein Inhaltsstrom kann eines oder mehrere Inhaltselemente beinhalten. Der Inhaltsstrom kann zum Beispiel eine Liste von Inhaltselementen beinhalten, die aktualisiert werden, wenn neue Inhaltselemente erstellt oder abgerufen werden. Der Inhaltsstrom kann für oder durch einen sozialen Netzwerkdienst bereitgestellt werden und für den Benutzer über den sozialen Netzwerkdienst zugänglich sein, wie z. B. auf einer Benutzeroberfläche, die dem Benutzer durch den sozialen Netzwerkdienst bereitgestellt wird. Um zum Beispiel auf den Inhaltsstrom des Benutzers zuzugreifen, kann es sein, dass der Benutzer eine Anmeldesitzung für den sozialen Netzwerkdienst initiieren muss, indem er sich bei einem Konto anmeldet, das der Benutzer für den sozialen Netzwerkdienst erstellt hat. Die Benutzeroberfläche für das Anzeigen des Inhaltsstroms kann dem Benutzer nach Anmelden beim Konto des Benutzers für den sozialen Netzwerkdienst bereitgestellt werden. Als den Schutzbereich nicht einschränkendes Beispiel kann auf den sozialen Netzwerkdienst über eine Webseite zugegriffen werden, die durch eine Webbrowser-Anwendung geladen werden kann, die auf einem Clientgerät des Benutzers ausgeführt wird. Auf den sozialen Netzwerkdienst kann über eine Webanwendung oder eine eigenständige Clientanwendung zugegriffen werden, die auf dem Clientgerät des Benutzers ausgeführt wird.
  • In einigen Implementierungen kann der Inhaltsstrom dem Benutzer auf jeweils einer Seite bereitgestellt werden, wobei jede Seite eine Anzahl von Inhaltselementen (z. B. zehn Inhaltselemente) beinhaltet. Die ersten zehn Inhaltselemente können zum Beispiel in die Benutzeroberfläche für den Benutzer geladen werden, um es dem Benutzer zu ermöglichen, Inhaltselemente für die Konsumierung zu untersuchen, durch sie zu navigieren (z. B. zu blättern) und sie auszuwählen. Nachdem der Benutzer einen Punkt in der Benutzeroberfläche erreicht, der angibt, dass der Benutzer ein Ende der ersten zehn Inhaltselemente erreicht, kann ein nächster Satz von zehn Inhaltselementen durch den sozialen Netzwerkdienst für die Einbeziehung auf einer nächsten Seite des Inhaltsstroms ausgewählt werden, und die nächste Seite wird dann in die Benutzeroberfläche geladen.
  • Eine Bewertung kann einem Inhaltselement auf Basis eines Satzes von Kriterien zugeordnet werden. Der Satz von Kriterien kann unter anderem als ein den Schutzbereich nicht einschränkendes Beispiel Daten beinhalten, die den Inhaltselementen zugeordnet sind (z. B. die Zeit, zu der das Inhaltselement online gepostet wurde), Themen, die den Inhaltselementen zugeordnet sind, Autoren der Inhaltselemente. Für ein bestimmtes Inhaltselement kann sich die Bewertung, die einem Inhaltselement für einen Benutzer zugeordnet ist, zum Beispiel auf Basis der jeweiligen Benutzerprofile von der Bewertung unterscheiden, die demselben Inhaltselement für einen anderen Benutzer zugewiesen ist. Die Bewertung kann verwendet werden, um Inhaltselemente für den Inhaltsstrom eines Benutzers auszuwählen und um die ausgewählten Inhaltselemente innerhalb des Inhaltsstroms des Benutzers zu ordnen.
  • Inhaltselemente aus verschiedenen Quellen können analysiert und in aggregierten Datenstrukturen zusammen gruppiert werden. Aggregierte Inhaltsdatenstrukturen können Datenstrukturen wie z. B. eine Liste, eine geordnete Liste, eine Grafik oder eine Gruppierung einer finiten Anzahl von Inhaltselementen sein. Inhaltselemente können zum Beispiel auf Basis eines gemeinsamen Themas oder der Relevanz, z. B. der Relevanz für ein bestimmtes Thema, der Relevanz für einen Standort oder der Zuordnung zu bestimmten Benutzern, in aggregierte Inhaltsdatenstrukturen organisiert werden. Die aggregierte Inhaltsdatenstruktur kann auf Basis des gemeinsamen Themas oder der Relevanz benannt werden. Der Benutzer kann daran interessiert sein, dass Inhaltselemente bestimmte Eigenschaften haben und/oder bestimmten Themen zugeordnet sind. Der Benutzer kann zum Beispiel an Inhaltselementen von Personen interessiert sein, die eine bestimmte Beziehung zum Benutzer haben, wie z. B. Familienmitglieder. Der Benutzer kann an Inhaltselementen interessiert sein, die mit einem Standort verbunden sind, der dem Benutzer zugeordnet ist. Wenn das Inhaltselement zum Beispiel mit Geotags versehen ist oder Standortinformationen enthält, kann das Inhaltselement als Teil einer aggregierten Inhaltsdatenstruktur aggregiert werden, deren Inhaltselemente den Standortinformationen zugeordnet sind.
  • Gemäß verschiedenen Aspekten der betrachteten Technologie können aggregierte Inhaltsdatenstrukturen in den Inhaltsstrom eines Benutzers gemischt werden. Die aggregierten Inhaltsdatenstrukturen können dem Benutzer als Teil des Inhaltsstroms des Benutzers präsentiert werden, sodass der Benutzer Inhaltselemente aus der aggregierten Inhaltsdatenstruktur für die Konsumierung auswählen kann. Jeder aggregierten Inhaltsdatenstruktur ist eine Bewertung zugeordnet, die auf Bewertungen der Inhaltselemente in der aggregierten Inhaltsdatenstruktur basiert. In einigen Implementierungen werden die aggregierten Inhaltsdatenstrukturen ausgewählt und innerhalb des Inhaltsstroms des Benutzers auf Basis von Bewertungen der aggregierten Inhaltsdatenstrukturen geordnet. Die aggregierten Inhaltsdatenstrukturen, die höheren Bewertungen zugeordnet sind als andere aggregierte Inhaltsdatenstrukturen, können für das Mischen in den Inhaltsstrom des Benutzers ausgewählt werden (z. B. Hinzufügen der aggregierten Inhaltsdatenstrukturen zu einem vorhandenen Inhaltsstrom oder Erzeugen des Inhaltsstroms mithilfe der aggregierten Inhaltsdatenstrukturen oder anderer Inhaltselemente). Die aggregierten Inhaltsdatenstrukturen, die höheren Bewertungen zugeordnet sind, sind im Allgemeinen gegenüber den aggregierten Inhaltsdatenstrukturen, die niedrigeren Bewertungen zugeordnet sind, wahrscheinlicher für den Benutzer von Interesse.
  • Das Mischen der aggregierten Inhaltsdatenstrukturen in den Inhaltsstrom des Benutzers kann es dem Benutzer ermöglichen, Inhaltselemente aus verschiedenen Quellen zu konsumieren, die zu einem gemeinsamen Thema oder einer Relevanz gehören. Ein solches Mischen kann es dem Benutzer ermöglichen, die Inhaltselemente der verschiedenen Quellen von Inhalten zu konsumieren, ohne die verschiedenen Quellen von Inhalten einzeln zu besuchen. Das einzelne Besuchen der verschiedenen Quellen kann für den Benutzer zum Beispiel mühsam sein. Außerdem können die Inhaltselemente, die zum gemeinsamen Thema oder der Relevanz gehören, für den Benutzer schwer zu finden sein, selbst wenn der Benutzer die Quellen selbst direkt besucht statt über den Inhaltsstrom. Ein solches Mischen kann außerdem eine Einführung von Inhaltselementen, die mit dem gemeinsamen Thema oder der Relevanz verbunden sind, aus Quellen ermöglichen, die der Benutzer möglicherweise nicht kennt.
  • 1 veranschaulicht eine exemplarische Netzwerkumgebung 100, in der einige Implementierungen der betrachteten Technologie implementiert sein können. Die Netzwerkumgebung 100 beinhaltet einen Aggregationsserver 110A, einen Aggregationsserver 110B, einen Aggregationsserver 110C, einen Mischserver 115, einen Server sozialer Netzwerke 120, ein Netzwerk 130, einen Drittanbieter-Server 140, ein Clientgerät 150A und ein Clientgerät 150B. In einigen Aspekten kann es sich bei der Netzwerkumgebung 100 um ein verteiltes Client/Server-System handeln, das sich über eines oder mehrere Netzwerke, beispielsweise das Netzwerk 130, erstreckt. Bei dem Netzwerk 130 kann es sich um ein großes Computernetzwerk, beispielsweise ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), das Internet, ein Mobilfunknetz oder eine Kombination derselben handeln, die eine beliebige Anzahl mobiler Clients, ortsgebundener Clients und Server miteinander verbinden. In einigen Aspekten kann jeder Client (z. B. Clientgeräte 150A und/oder 150B) mit Servern (z. B. einem oder mehreren der Aggregationsserver 110A, 110B und 110C, dem Mischserver 115, dem Server sozialer Netzwerke 120 und dem Drittanbieter-Server 140) über ein virtuelles privates Netzwerk (VPN), einen Secure Shell (SSH)-Tunnel oder eine andere sichere Netzwerkverbindung kommunizieren. In einigen Aspekten kann das Netzwerk 130 ferner ein Unternehmensnetzwerk (z. B. Intranet) und einen oder mehrere drahtlose Zugangspunkte (Wireless Access Points) beinhalten.
  • Die Aggregationsserver 110A, 110B und 110C (im Folgenden als 110A-C bezeichnet), Mischserver 115, Server sozialer Netzwerke 120 und Drittanbieter-Server 140 sind jeweils ein Computergerät, wie z. B. ein Computerserver. In einigen Implementierungen können die Aggregationsserver 110A-C, der Mischserver 115, der Server sozialer Netzwerke 120 und/oder der Drittanbieter-Server 140 jeweils mehr als ein Computergerät darstellen, die zusammen arbeiten, um die Aktionen eines Servers durchzuführen (z. B. eine Serverfarm). Alternativ können einer oder mehrere der Aggregationsserver 110A-C, Mischserver 115, Server sozialer Netzwerke 120 und/oder Drittanbieter-Server 140 in einem gemeinsamen System implementiert sein. Ein gemeinsames System kann zum Beispiel die Aggregationsserver 110A und 110C und den Mischserver 115 beinhalten.
  • Die Clientgeräte 150A und 150B stellen verschiedene Formen von Computergeräten dar und können jedwedes System oder Gerät sein, das einen Prozessor, einen Speicher und Netzwerkkommunikationsfähigkeit aufweist. Beispiele von Computergeräten beinhalten einen Desktop-Computer, einen Laptop-Computer, einen Handheld-Computer, einen Tablet-Computer, ein Fernsehgerät, das mit einem Prozessor gekoppelt ist oder in dem ein Prozessor eingebettet ist, einen persönlichen digitalen Assistenten (PDA), eine Netzwerkvorrichtung, eine Kamera, ein Smartphone, einen Media-Player, ein Navigationsgerät, ein E-Mail-Gerät, eine Spielkonsole oder eine Kombination irgendwelcher dieser Computergeräte oder anderer Computergeräte. Auch wenn 1 nur die Clientgeräte 150A und 150B darstellt, können mehr oder weniger Clientgeräte mit dem Netzwerk 130 kommunikativ verbunden sein.
  • In einigen Aspekten können die Clientgeräte 150A und/oder 150B drahtlos über eine Kommunikationsschnittstelle (nicht dargestellt) kommunizieren, die bei Bedarf eine Schaltung für digitale Signalverarbeitung beinhalten kann. Die Kommunikationsschnittstelle kann die Kommunikation unter verschiedenen Modi oder Protokollen bereitstellen, wie z. B. unter anderem GSM-Sprachanrufe (Globales System für mobile Kommunikation), SMS (Kurznachrichtendienst), EMS (erweiterten Nachrichtenservice) oder MMS (Multimedia-Nachrichtenservice), CDMA (Codemultiplexverfahren), TDMA (Zeitmultiplexverfahren), PDC (Persönliches digitales Mobilfunksystem), WCDMA (Breitband-Codemultiplexverfahren), CDMA2000 oder GPRS (Allgemeiner paketorientierter Funkdienst). Die Kommunikation kann beispielsweise über einen Hochfrequenz-Sendeempfänger (nicht dargestellt) erfolgen. Zusätzlich kann eine Kurzstreckenkommunikation stattfinden, wie unter Verwendung eines Bluetooth-, WLAN- oder eines anderen solchen Transceivers.
  • Die Aggregationsserver 110A-C, der Mischserver 115, der Server sozialer Netzwerke 120, der Drittanbieter-Server 140 und die Clientgeräte 150A und 150B sind über das Netzwerk 130 kommunikativ gekoppelt. In einigen Implementierungen senden die Clientgeräte 150A und 150B Inhalte an und empfangen Inhalte von dem Server sozialer Netzwerke 120. Der Server sozialer Netzwerke 120 kann ein Webserver für den sozialen Netzwerkdienst sein. Der Benutzer kann die Clientgeräte 150A und/oder 150B verwenden, um auf den sozialen Netzwerkdienst vom Server sozialer Netzwerke 120 zuzugreifen. Die Clientgeräte 150A und/oder 150B können auch verwendet werden, um Inhaltselemente für den Server sozialer Netzwerke 120 zu posten.
  • Der Drittanbieter-Server 140 kann ein Server für einen anderen Webdienst sein, z. B. einen Nachrichtendienst oder Mediendienst. Die Clientgeräte 150A und 150B können Inhaltselemente vom Drittanbieter-Server 140 anzeigen oder Inhaltselemente für den Drittanbieter-Server 140 posten. Der Server sozialer Netzwerke 120 kann auf Inhaltselemente vom Drittanbieter-Server 140 zugreifen. In einigen Implementierungen kann der Drittanbieter-Server 140 eine Quelle von Inhaltselementen für einen oder mehrere der Aggregationsserver 110A-C und/oder den Server sozialer Netzwerke 120 sein.
  • Der Server sozialer Netzwerke 120 kann als ein Datenspeicher für Inhaltselemente für die Analyse durch die Aggregationsserver 110A-C dienen. Jedes Inhaltselement ist einer oder mehreren Entitäten zugeordnet, die aus Inhalten und/oder der Quelle des Inhaltselements abgeleitet ist. Eine Entität kann eine Person, wie z. B. eine spezifische Person (z. B. Präsident Washington) oder ein allgemeiner Typ von Person (z. B. Präsident) sein. Eine Entität kann ein Ort, wie z. B. ein spezifischer Standort (z. B. Washington D.C.) oder ein allgemeiner Standort (z. B. Hauptstadt) sein. Eine Entität kann ein Objekt, wie z. B. ein spezifisches Objekt (z. B. Washington Monument), ein allgemeines Objekt (z. B. Gebäude) oder eine Idee (z. B. Vermächtnis) sein.
  • Die Zuordnungen zwischen Entitäten und dem Inhaltselement basieren auf dem Inhalt des Inhaltselements. Die einem Inhaltselement zugeordneten Entitäten können auf Basis einer Analyse des Inhaltselements ermittelt werden. Die Analyse kann das Suchen nach Beschriftungen (z. B. Tags) beinhalten, die dem Inhaltselement zugewiesen wurden, wie z. B. durch einen Autor und/oder einen Verleger des Inhaltselements. Die Analyse kann außerdem das Identifizieren von Schlüsselwörtern und/oder Schlüsselphrasen im Inhaltselement beinhalten, die einer oder mehreren Entitäten zugeordnet sind, wobei die Zuordnungen in einer Datenbank bereitgestellt werden können, die Entitäten Schlüsselwörtern und/oder Schlüsselphrasen zuordnet. Ein Inhaltselement kann zum Beispiel eine Webseite über den Redwood National Park sein. Entitäten, die dem Inhaltselement zugeordnet sind, können zum Beispiel „Redwood National Park“, „Nationalparks“, „Wälder“ und „Bäume“ sein.
  • Die Entitäten und Beziehungen zwischen Entitäten können in einer Wissenskurve auf dem Server sozialer Netzwerke 120 oder einem anderen Server gespeichert werden. Die Wissenskurve kann zum Beispiel durch eine Kurve mit einem Knoten für jede Entität und Verknüpfungen zwischen den Knoten auf Basis der Beziehungen zwischen den Entitäten dargestellt werden. Die Entitäten in der Wissenskurve können auf Inhaltselementen basieren, die von einem Zeitraum verfügbar sind, wie z. B. dem vergangenen Jahr. Die Beziehungen können auf dem gleichzeitigen Vorkommen der Entitäten in den Inhaltselementen basieren.
  • Informationen, die dem Benutzer zugeordnet sind, können in einem Benutzermodell verfügbar sein, das auf dem Server sozialer Netzwerke 120 oder einem anderen Server gespeichert ist. In Situationen, in denen die hierin erörterten Systeme persönliche Informationen über Benutzer sammeln oder persönliche Informationen nutzen können, wird den Benutzern eine Möglichkeit gegeben, zu steuern, ob Programme oder Merkmale Benutzerinformationen sammeln (z. B. Informationen über das soziale Netzwerk eines Benutzers, die Browsing-Daten eines Benutzers, soziale Handlungen oder Aktivitäten eines Benutzers, Beruf eines Benutzers, Benutzerpräferenzen oder der aktuelle Standort eines Benutzers), oder um zu steuern, ob und/oder wie Inhalte von dem Inhaltsserver empfangen werden, die für den Benutzer von größerer Relevanz sein können. Darüber hinaus können bestimmte Daten auf eine oder mehrere Weisen behandelt werden, bevor diese gespeichert oder verwendet werden, sodass personenbezogene Informationen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine personenbezogenen Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wenn Standortinformationen (wie beispielsweise eine Stadt, Postleitzahl oder ein Bundesland) erhalten werden, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Auf diese Weise hat der Benutzer die Kontrolle darüber, inwiefern Informationen über den Benutzer gesammelt und von einem Inhaltsserver verwendet werden.
  • In Fällen, in denen der Benutzer der Nutzung der Daten des Benutzers im sozialen Netzwerkdienst zustimmt, kann das Benutzermodell zum Beispiel auf einem Benutzerprofil in einem sozialen Netzwerkdienst, Beziehungen im sozialen Netzwerk, einem Social Graph aus dem sozialen Netzwerk, Kontakten und Benutzereinstellungen oder -präferenzen basieren. In Fällen, in denen der Benutzer der Nutzung der Browsing-Daten des Benutzers zustimmt, können die Browsing-Daten des Benutzers mit Browsing-Daten anderer Benutzer aggregiert werden, die ebenfalls der Nutzung von Browsing-Daten zugestimmt haben. Die aggregierten Browsing-Daten des Benutzers können verwendet werden, um das Benutzermodell zu erstellen. Das Benutzermodell kann eine Angabe der Affinitäten des Benutzers zu verschiedenen Entitäten in der Wissenskurve sowie Affinitäten zu anderen Benutzern bereitstellen.
  • Der Server sozialer Netzwerke 120 kann Inhaltselemente vom Drittanbieter-Server 140 anfordern. Der Server sozialer Netzwerke 120 kann außerdem Daten speichern, die zum Beispiel aggregierte Browsing-Daten, Benutzermodelle, Wissenskurven usw. beinhalten. Die Aggregationsserver 110A-C können Inhaltselemente analysieren und Inhaltselemente in aggregierte Inhaltsdatenstrukturen gruppieren. In einigen Aspekten können die aggregierten Inhaltsdatenstrukturen den Clientgeräten 150A und/oder 150B entweder direkt oder indirekt, wie z. B. über den Server sozialer Netzwerke 120, bereitgestellt werden. Alternativ oder zusätzlich können die aggregierten Inhaltsdatenstrukturen dem Mischserver 115 bereitgestellt werden. Der Mischserver 115 kann aggregierte Inhaltsdatenstrukturen von jedem der Aggregationsserver 110A-C empfangen und die aggregierten Inhaltsdatenstrukturen in den Inhaltsstrom eines Benutzers mischen.
  • In einigen Implementierungen kann der Server sozialer Netzwerke 120 Attribute für die Inhaltselemente, die durch die Aggregationsserver 110A-C verwendet werden sollen, mit Tags versehen. Alternativ oder zusätzlich können die Attribute der Inhaltselemente durch die Aggregationsserver 110A-C, den Drittanbieter-Server 140, eine Quelle oder einen Urheber (z. B. Autor, Verleger) des Inhaltselements und/oder andere Webdienste (z. B. cloudbasierte Dienste) mit Tags versehen werden. Als den Schutzbereich nicht einschränkendes Beispiel kann ein Attribut, das einem Inhaltselement zugeordnet ist, eine Entität beinhalten, die dem Inhaltselement zugeordnet ist, ein Thema, das dem Inhaltselement zugeordnet ist, einen Standort, der dem Inhaltselement in Bezug auf einen Benutzerstandort zugeordnet ist, eine Größe oder Länge des Inhaltselements, Medien, die dem Inhaltselement zugeordnet sind, ein Alter, das dem Inhaltselement zugeordnet ist, eine ursprüngliche Quelle des Inhaltselements, einen Autor und/oder Verleger des Inhaltselements, eine Beziehung zwischen einem Benutzer und einem Autor des Inhaltselements, eine Beliebtheit des Inhaltselements, einen Prozentsatz des Inhalts, der dem Attribut entspricht, usw. beinhalten. Die Beliebtheit eines Inhaltselements (z. B. einer Webseite) kann darauf basieren, wie oft das Inhaltselement von Benutzern konsumiert (z. B. besucht) wurde.
  • In einigen Implementierungen können einer oder mehrere der Aggregationsserver 110A-C und der Mischserver 115 Teil desselben Serversystems sein. In einigen Implementierungen kann der Server sozialer Netzwerke 120 die Inhaltselemente speichern. In einigen Implementierungen können einer oder mehrere der Aggregationsserver 110A-C und der Server sozialer Netzwerke 120 Teil desselben Serversystems sein. In einigen Implementierungen können der Drittanbieter-Server 140 und der Server sozialer Netzwerke 120 Teil desselben Serversystems sein.
  • 2 veranschaulicht eine Umgebung 200 für die Ermöglichung des Mischens aggregierter Inhaltsdatenstrukturen in einen Inhaltsstrom gemäß exemplarischen Aspekten der betrachteten Technologie. Die Umgebung 200 beinhaltet Aggregationsserver 210A, 210B und 210C (im Folgenden als 210A-C bezeichnet), den Mischserver 215 und den Server sozialer Netzwerke 220. In einigen Implementierungen können die Aggregationsserver 210A-C, der Mischserver 215 und/oder der Server sozialer Netzwerke 220 die Aggregationsserver 1 10A-C, der Mischserver 115 bzw. der Server sozialer Netzwerke 120 sein, die in 1 dargestellt sind. Jede aggregierte Inhaltsdatenstruktur, die durch den Mischserver 215 empfangen wird, ist einem jeweiligen Quellserver zugeordnet, der einer der Aggregationsserver 210A-C oder ein anderer Aggregationsserver sein kann, der in 2 nicht dargestellt ist.
  • Auch wenn 2 die Aggregationsserver 210A-C darstellt, können mehr oder weniger Aggregationsserver 210A-C mit dem Mischserver 215 kommunikativ verbunden sein. Die Aggregationsserver 210A-C können mit dem Mischserver 215 über ein Netzwerk (z. B. das Netzwerk 130) kommunikativ verbunden sein. Der Mischserver 215 kann mit dem Server sozialer Netzwerke 220 über ein Netzwerk (z. B. das Netzwerk 130) kommunikativ verbunden sein.
  • 3 veranschaulicht ein Beispiel einer aggregierten Inhaltsdatenstruktur 300 gemäß exemplarischen Aspekten der betrachteten Technologie. Die aggregierte Inhaltsdatenstruktur 300 beinhaltet Inhaltselement 302 und Inhaltselement 304. Zu Zwecken der Erklärung wird die aggregierte Inhaltsdatenstruktur 300 durch den Aggregationsserver 210A erstellt. Die aggregierte Inhaltsdatenstruktur 300 kann zum Beispiel die aggregierte Inhaltsdatenstruktur 232 sein, die in 2 dargestellt wird. Jedoch können andere Aggregationsserver (z. B. 210B, 210C) die aggregierte Inhaltsdatenstruktur 300 erstellen. Die aggregierte Inhaltsdatenstruktur 300 kann zusätzliche Inhaltselemente beinhalten, die in 3 nicht dargestellt sind.
  • In einigen Implementierungen kann der Aggregationsserver 210A Inhaltselemente vom Server sozialer Netzwerke 220 empfangen. Die Inhaltselemente können Tags beinhalten. Der Server sozialer Netzwerke 220 kann zum Beispiel so konfiguriert sein, dass er Inhaltselemente für bestimmte Attribute mit Tags versieht. In 3 ist das Inhaltselement 302 mit einem Tag 312 versehen und das Inhaltselement 304 ist mit einem Tag 314 versehen. Die Tags 312 und 314 können es dem Aggregationsserver 210A ermöglichen, Inhaltselemente auf Basis von bestimmten Attributen anzufordern und/oder zu aggregieren. Die Attribute eines Inhaltselements können auf einem oder mehreren der Entitäten des Inhaltselements, Relevanz des Inhaltselements für ein bestimmtes Thema, Standort, der dem Inhaltselement zugeordnet ist, Größe oder Länge des Inhaltselements, Medien, die dem Inhaltselement zugeordnet sind, Alter des Inhaltselements, ursprüngliche Quelle des Inhaltselements, Autor des Inhaltselements, Prozentsatz des Inhalts, der dem Attribut entspricht, usw. basieren.
  • Der Aggregationsserver 210A kann die aggregierte Inhaltsdatenstruktur 300 erstellen, indem er Inhaltselemente in die aggregierte Inhaltsdatenstruktur 300 auf Basis eines Satzes von Kriterien aggregiert. Die Aggregationsserver 210B und 210C können ihre jeweiligen aggregierten Inhaltsdatenstrukturen auf Basis von unterschiedlichen jeweiligen Sätzen von Kriterien erstellen. Der Aggregationsserver 210A kann zum Beispiel Inhaltselemente, die ein gemeinsames Thema teilen (z. B. die Inhaltselemente befassen sich mit Sport) in eine aggregierte Datenstruktur aggregieren, der Aggregationsserver 210B kann Inhaltselemente, die einen gemeinsamen Standort teilen (z. B. die Inhaltselemente beziehen sich auf lokale Nachrichten), aggregieren, und der Aggregationsserver 210C kann Inhaltselemente mit den Topnachrichtenartikeln (z. B. den neuesten) aus der ganzen Welt aggregieren. In manchen Fällen kann ein Kriterium ein Vorhandensein oder Nichtvorhandensein eines bestimmten Attributs oder eines bestimmten Tags beinhalten. Auch wenn eines oder mehrere Kriterien, die durch die Aggregationsserver 210A-C genutzt werden, sich überlappen können, kann das relative Gewicht, das jedem Kriterium zugeordnet ist, sich zwischen den Aggregationsservern 210A-C unterscheiden.
  • Jedweder der Aggregationsserver 210A-C kann unterschiedliche Sätze von aggregierten Datenstrukturen auf Basis eines Kategorietyps erstellen. Der Aggregationsserver 210A kann zum Beispiel einen Satz von aggregierten Datenstrukturen, die ein gemeinsames Thema teilen (z. B. die Inhaltselemente befassen sich mit Sport), und einen Satz von aggregierten Datenstrukturen, die einen gemeinsamen Standort teilen (z. B die Inhaltselemente befassen sich mit lokalen Nachrichten), erstellen.
  • Bezugnehmend auf FIG. 2 können die Aggregationsserver 210A-C eine Bewertung für jedes Inhaltselement in jeder aggregierten Datenstruktur ermitteln und sie können eine Bewertung für jede aggregierte Inhaltsdatenstruktur auf Basis der jeweiligen Bewertungen der Inhaltselemente in der aggregierten Inhaltsdatenstruktur ermitteln. Jeder der Aggregationsserver 210A-C kann unterschiedliche Kriterien und/oder Gleichungen für das Ermitteln einer Bewertung für ein Inhaltselement und/oder eine aggregierte Inhaltsdatenstruktur nutzen. Die Aggregationsserver 210A-C können die Bewertungen der aggregierten Datenstrukturen für den Mischserver 215 bereitstellen. Die Aggregationsserver 210A-C können außerdem die Bewertungen der Inhaltselemente für den Mischserver 215 bereitstellen.
  • Die Bewertung für ein Inhaltselement kann auf Attributen basieren, die dem Inhaltselement zugeordnet sind (z. B. den Entitäten, die im Inhaltselement enthalten sind, Relevanz des Inhaltselements für ein bestimmtes Thema, Alter des Inhaltselements usw.). Die Bewertung für das Inhaltselement kann außerdem auf einer Affinität eines Benutzers zu diesen Attributen basieren, wobei die Affinität des Benutzers zu den Attributen auf Informationen über den Benutzer basieren kann, die im Benutzermodell verfügbar sind. Die Bewertung für die aggregierte Inhaltsdatenstruktur kann auf den Bewertungen von den obersten k Inhaltselementen in der aggregierten Datenstruktur basieren. Die Bewertung der aggregierten Inhaltsdatenstruktur kann auf einem Durchschnitt der Bewertungen der fünf Inhaltselemente mit den höchsten Bewertungen basieren. Demgemäß kann die jeweilige Bewertung einer aggregierten Inhaltsdatenstruktur auf Basis einer Affinität des Benutzers zu einem oder mehreren Attributen ermittelt werden, die der Gruppe der Inhaltselemente der aggregierten Datenstruktur zugeordnet sind.
  • 4 veranschaulicht ein Ablaufdiagramm 400 eines Prozesses für das Mischen einer aggregierten Inhaltsdatenstruktur 238 in einen Inhaltsstrom 240 gemäß exemplarischen Aspekten der betrachteten Technologie. Der Inhaltsstrom 240 kann ein Inhaltsstrom sein, der für das Konto eines Benutzers in einem sozialen Netzwerkdienst bereitgestellt wird, das für den Benutzer über den sozialen Netzwerkdienst zugänglich ist. Das Ablaufdiagramm 400 wird in Bezug auf 2 beschrieben.
  • Bei Block 405 empfängt der Mischserver 215 aggregierte Inhaltsdatenstrukturen von den Aggregationsservern 210A-C. Jede aggregierte Inhaltsdatenstruktur bezieht sich auf eine Gruppe von Inhaltselementen die im Inhaltsstrom 240 angezeigt werden sollen (z. B. als getrenntes Paket von Inhaltselementen). Der Aggregationsserver 210A stellt eine aggregierte Inhaltsdatenstruktur 232 für den Mischserver 215 bereit, der Aggregationsserver 210B stellt eine aggregierte Inhaltsdatenstruktur 234 für den Mischserver 215 bereit und der Aggregationsserver 210C stellt eine aggregierte Datenstruktur 236 für den Mischserver 215 bereit. Die aggregierte Inhaltsdatenstrukturen 232, 234, 236 sind in 2 als ACDS bezeichnet. Jede aggregierte Inhaltsdatenstruktur 232, 234 und 236 ist einer Bewertung zugeordnet, die durch ihren jeweiligen Aggregationsserver bereitgestellt wird.
  • In einigen Implementierungen erstellt jeder der Aggregationsserver 210A-C mehrere aggregierte Inhaltsdatenstrukturen, wählt aus diesen aggregierten Inhaltsdatenstrukturen die aggregierten Inhaltsdatenstrukturen aus, denen die höchste Bewertung zugeordnet ist, und stellt die ausgewählte aggregierte Inhaltsdatenstruktur dem Mischserver 215 bereit. Die restlichen aggregierten Datenstrukturen können in den Aggregationsservern 210A-C in der Warteschlange bleiben, bis eine nächste aggregierte Inhaltsdatenstruktur zum Mischserver 215 gesendet werden kann.
  • In einigen Implementierungen kann der Mischserver 215 eine Anforderung für die Aggregationsserver 210A-C senden, eine Anzahl von aggregierten Inhaltsdatenstrukturen zu erstellen oder sonst bereit zu haben, die dem Mischserver 215 bereitgestellt werden sollen. Der Mischserver 215 kann zum Beispiel anfordern, dass jeder der Aggregationsserver 210A-C zehn aggregierte Inhaltsdatenstrukturen erstellt und eine aggregierte Inhaltsdatenstruktur aus diesen zehn aggregierten Inhaltsdatenstrukturen sendet. Dass die Aggregationsserver 210A-C mehrere Inhaltsdatenstrukturen für den Mischserver 215 bereit haben, kann dazu beitragen, die Latenz zu verringern, die dem Mischserver 215 zugeordnet ist, der darauf wartet, dass eine aggregierte Inhaltsdatenstruktur durch einen oder mehrere der Aggregationsserver 210A-C erstellt und von ihnen empfangen wird.
  • In einigen Implementierungen kann der Mischserver 215 eine Anforderung für die Aggregationsserver 210A-C senden, eine Anzahl von aggregierten Inhaltsdatenstrukturen zu erstellen oder sonst bereit zu haben, die bestimmten Kategorietypen zugeordnet sind, die dem Mischserver 215 bereitgestellt werden sollen. Jede der aggregierten Inhaltsdatenstrukturen kann einem Kategorietyp zugeordnet sein. Diesbezüglich ist jedes der Inhaltselemente innerhalb der aggregierten Datenstruktur, und/oder auf die durch diese verwiesen wird, dem Kategorietyp der aggregierten Datenstruktur zugeordnet. Ein Kategorietyp kann zum Beispiel ein gemeinsames Thema oder eine Relevanz sein, die den Inhaltselementen zugeordnet ist. Zu Zwecken der Erklärung kann eine aggregierte Datenstruktur in 2-4 einen von drei Typen haben. Ein erster Typ von aggregierter Inhaltsdatenstruktur enthält Inhaltselemente, die sich mit Sport befassen. Ein zweiter Typ von aggregierter Inhaltsdatenstruktur enthält Inhaltselemente, die sich auf lokale Nachrichten beziehen. Ein dritter Typ von aggregierter Datenstruktur enthält Inhaltselemente, die mit den neuesten Nachrichtenartikeln aus der ganzen Welt verbunden sind. Somit erstellt der Aggregationsserver 210A aggregierte Inhaltsdatenstrukturen des ersten Typs und des zweiten Typs, der Aggregationsserver 210B erstellt aggregierte Inhaltsdatenstrukturen des zweiten Typs und der Aggregationsserver 210C erstellt aggregierte Inhaltsdatenstrukturen des dritten Typs.
  • Jedem Kategorietyp ist ein jeweiliger Typauswahlprozentsatz zugeordnet. Für einen bestimmten Kategorietyp ist der Typauswahlprozentsatz ein Prozentsatz der gesamten Anzahl von aggregierten Inhaltsdatenstrukturen, die dem bestimmten Kategorietyp zugeordnet sind, die durch den Mischserver 215 über die Gesamtzahl der aggregierten Inhaltsdatenstrukturen aller Kategorietypen ausgewählt wurden, die durch den Mischserver 215 aus den verfügbaren Aggregationsservern (z. B. den Aggregationsservern 210A-C in 2) ausgewählt wurden. In anderen Worten die Typauswahlprozentsätze für die Kategorietypen, die von Aggregationsservern 210A-C verfügbar sind, werden auf Basis früherer Auswahlen der jeweiligen aggregierten Datenstrukturen für das Mischen innerhalb des Inhaltsstroms des Benutzers ermittelt. Wenn der Mischserver 215 zum Beispiel zwei aggregierte Inhaltsdatenstrukturen des ersten Typs vom Aggregationsserver 210A, zwei aggregierte Inhaltsdatenstrukturen des zweiten Typs vom Aggregationsserver 210B und keine aggregierten Datenstrukturen des dritten Typs ausgewählt hat, ist der Typauswahlprozentsatz für den ersten Typ, den zweiten Typ und den dritten Typ 50 % (d. h. 2 von 4), 50 % (d. h. 2 von 4) bzw. 0 % (d. h. 0 von 4).
  • Jeder der drei Typen der aggregierten Datenstrukturen ist einem jeweiligen vorher festgelegten Typzielprozentsatz zugeordnet. Der vorher festgelegte Typzielprozentsatz für den ersten Typ, zweiten Typ und dritten Typ von aggregierter Inhaltsdatenstruktur kann zum Beispiel 40 %, 40 % bzw. 20 % sein. Die vorher festgelegten Typzielprozentsätze können zum Beispiel durch den Benutzer eingestellt oder auf Basis des Benutzermodells adaptiv eingestellt werden.
  • Falls Informationen über den Benutzer, die für den sozialen Netzwerkdienst verfügbar sind, spärlich sind, können die vorher festgelegten Typzielprozentsätze so eingestellt werden, dass die aggregierten Inhaltsdatenstrukturen weniger benutzerspezifischen Attributen zugeordnet sind, die einen höheren vorher festgelegten Typzielprozentsatz haben können. Der dritte Typ von aggregierter Inhaltsdatenstruktur, der Inhaltselemente enthält, die mit Topnachrichtenartikeln aus der ganzen Welt verbunden sind, kann zum Beispiel auf einen höheren vorher festgelegten Typzielprozentsatz eingestellt sein, da solche Inhaltselemente weniger benutzerspezifischen Attributen zugeordnet sind. Andererseits kann der erste Typ von aggregierter Inhaltsdatenstruktur, der Inhaltselemente enthält, die mit Sportinhalten verbunden sind, auf einen niedrigeren vorher festgelegten Typzielprozentsatz eingestellt werden, wenn Informationen, die die Affinität zwischen dem Benutzer und mit Sport verbundenen Inhaltselementen betreffen, nicht verfügbar sind. Das Mischsystem 215 kann die vorher festgelegten Typzielprozentsätze anpassen, wenn mehr Informationen über den Benutzer für den sozialen Netzwerkdienst verfügbar werden. Diesbezüglich können die vorher festgelegten Typzielprozentsätze für einen Benutzer auf vorherigen Interaktionen des Benutzers mit Inhaltselementen (z. B. bereitgestellt durch andere Benutzer) im sozialen Netzwerk basieren. Wenn der Benutzer zum Beispiel ständig Inhaltselemente (z. B. einzeln oder aus aggregierten Datenstrukturen) eines bestimmten Kategorietyps auswählt, kann der vorher festgelegte Typzielprozentsatz angepasst werden, um den vorher festgelegten Typzielprozentsatz, der dem bestimmten Kategorietyp zugeordnet ist, zu erhöhen.
  • Bei Block 410 wählt der Mischserver 215 eine der empfangenen aggregierten Inhaltsdatenstrukturen auf Basis der Bewertungen der empfangenen aggregierten Inhaltsdatenstrukturen aus. In einigen Implementierungen wählt der Mischserver 215 die aggregierte Inhaltsdatenstruktur aus, die der höchsten Bewertung zugeordnet ist. Die Typauswahlprozentsätze für jeden der Typen von aggregierten Inhaltsdatenstrukturen kann im Anschluss an die Auswahl der empfangenen aggregierten Inhaltsdatenstrukturen aktualisiert werden.
  • In einigen Implementierungen nutzen die Aggregationsserver 210A-C voneinander unterschiedliche Bewertungsmethodologien und/oder unterschiedliche Bewertungswerte. In solchen Implementierungen normalisiert der Mischserver 215 die Bewertungen der aggregierten Inhaltsdatenstrukturen, die durch die Aggregationsserver 210A-C bereitgestellt werden. Der Mischserver 215 kann zum Beispiel die Bewertungen so normalisieren, dass die Bewertung jeder der empfangenen aggregierten Inhaltsdatenstrukturen zwischen einem ersten vorher festgelegten Wert (z. B. 0) und einem zweiten vorher festgelegten Wert (z. B. 1) ist. In einigen Implementierungen wählt der Mischserver 215 die aggregierte Inhaltsdatenstruktur, die der höchsten normalisierten Bewertung zugeordnet ist.
  • In einigen Implementierungen kann, um die Bewertungen für die aggregierten Inhaltsdatenstrukturen zu normalisieren, das Mischsystem 215 die Bewertung jedes Inhaltselements jeder jeweiligen aggregierten Datenstruktur durch die Bewertung des Inhaltselements in der jeweiligen Inhaltsliste mit der höchsten Bewertung teilen. In solchen Implementierungen ist das Inhaltselement mit der höchsten Bewertung 1 für jede der aggregierten Inhaltsdatenstrukturen. Das Mischsystem 210 kann dann eine Bewertung für die aggregierten Inhaltsdatenstrukturen auf Basis der Bewertungen einiger oder aller Inhaltselemente in jeder aggregierten Inhaltsdatenstruktur berechnen. Das Mischsystem 215 kann zum Beispiel eine Bewertung einer aggregierten Inhaltsdatenstruktur berechnen, indem es einen Durchschnitt der fünf Inhaltselemente nimmt, die den höchsten Bewertungen zugeordnet sind.
  • Im Fall einer Verbindung zwischen zwei oder mehr aggregierten Inhaltsdatenstrukturen, wie z. B. wenn diese aggregierten Inhaltsdatenstrukturen dieselbe normalisierte Bewertung haben, kann der Mischserver 215 vorher festgelegte Regeln für die Unterbrechung der Verbindung haben. Der Mischserver 215 kann zum Beispiel eine vorher festgelegte Regel haben, die aggregierte Inhaltsdatenstruktur des Typs auszuwählen, der mit dem höchsten vorher festgelegten Typzielprozentsatz verbunden ist, oder die aggregierte Inhaltsdatenstruktur, die zuerst am Mischserver 215 angekommen ist. Als ein weiteres Beispiel kann der Mischserver 215 eine vorher festgelegte Regel haben, unter den verbundenen aggregierten Inhaltsdatenstrukturen zufällig auszuwählen.
  • Bei Block 415 mischt der Mischserver 215 die ausgewählte aggregierte Inhaltsdatenstruktur 238 in den Inhaltsstrom 240 des Benutzers. Diesbezüglich kann die aggregierte Inhaltsdatenstruktur 238 zu einem vorhandenen Inhaltsstrom oder zu einer Gruppe von vorhandenen Inhaltselementen, die für den Inhaltsstrom ausgewählt wurden, hinzugefügt werden. Die aggregierte Inhaltsdatenstruktur 238 wird gemischt, um unter oder zwischen andere Inhaltselemente im Strom platziert zu werden, wenn der Strom angezeigt wird (z. B. nicht in Folge mit anderen aggregierten Inhaltsdatenstrukturen). Die ausgewählte aggregierte Inhaltsdatenstruktur 238 ist eine der aggregierten Inhaltsdatenstrukturen 232, 234 oder 236. Bei Block 420 stellt der Mischserver 215 dem Server sozialer Netzwerke 220 den Inhaltsstrom 240 bereit, in den die ausgewählte aggregierte Inhaltsdatenstruktur gemischt wurde. Der Benutzer kann auf den Inhaltsstrom 240 über eine Benutzeroberfläche zugreifen, die dem Benutzer vom Server sozialer Netzwerke 220 bereitgestellt wird. Demgemäß kann der Benutzer die aggregierte Inhaltsdatenstruktur 238 als eine gebündelte Gruppe von Inhaltselementen unter anderen individuellen Inhaltselementen innerhalb des Inhaltsstroms 240 anzeigen.
  • In einigen Implementierungen behält der Mischserver 215 die Reihenfolge der Inhaltselemente in den aggregierten Inhaltsdatenstrukturen von den Aggregationsservern 210A-C bei. Die Aggregationsserver 210A-C können zum Beispiel die aggregierte Inhaltsdatenstruktur als geordnete Liste von Inhaltselementen auf Basis der Bewertungen der Inhaltselemente bereitstellen. In einem Fall, in dem die aggregierten Inhaltsdatenstrukturen von den Aggregationsservern 210A-C die Inhaltselemente nicht in einer Reihenfolge auf Basis ihrer jeweiligen Bewertungen enthalten, kann der Mischserver 215 die Inhaltselemente innerhalb der ausgewählten aggregierten Inhaltsdatenstruktur auf Basis der jeweiligen Bewertungen ordnen.
  • Der Typauswahlprozentsatz kann über eine bestimmte Zeit und/oder eine Anzahl von Inhaltselementen im Inhaltsstrom 240 angewandt werden. Um die Typauswahlprozentsätze zurückzusetzen, wird die Gesamtzahl der aggregierten Inhaltsdatenstrukturen, die durch den Mischserver 215 für jeden Typ von aggregierter Inhaltsdatenstruktur ausgewählt wurde, auf null eingestellt und die Gesamtzahl der aggregierten Inhaltsdatenstrukturen, die durch den Mischserver 215 von allen Typen von aggregierten Inhaltsdatenstrukturen ausgewählt wurde, wird auf 0 eingestellt. Damit wird, nach Zurücksetzen, der Typauswahlprozentsatz für jeden der unterschiedlichen Typen von aggregierten Inhaltsdatenstrukturen auf 0 % eingestellt.
  • Ein Zurücksetzen der Typauswahlprozentsätze kann zu bestimmten Zeiten oder auf Basis einer Anzahl von Inhaltselementen im Inhaltsstrom 240 durchgeführt werden. In einigen Implementierungen kann der Typauswahlprozentsatz für jeden der unterschiedlichen Typen von aggregierten Inhaltsdatenstrukturen zurückgesetzt werden, wenn der Benutzer eine neue Anmeldesitzung für den sozialen Netzwerkdienst initiiert. Der Benutzer muss möglicherweise eine neue Anmeldesitzung initiieren, wenn eine vorherige Anmeldesitzung abgelaufen ist (z. B. der Benutzer hat sich manuell von der Sitzung abgemeldet, es erfolgte ein Timeout der Sitzung wegen Inaktivität des Benutzers usw.). In einigen Implementierungen kann der Typauswahlprozentsatz für jeden der unterschiedlichen Typen von aggregierten Inhaltsdatenstrukturen Seite für Seite für jede Seite des Inhaltsstroms 240 zurückgesetzt werden. Der Typauswahlprozentsatz für jeden der verschiedenen Typen von aggregierten Inhaltsdatenstrukturen kann zum Beispiel zurückgesetzt werden, wenn der Benutzer von einer ersten Seite (z. B. einer aktuellen Seite) des Inhaltsstroms 240 zu einer zweiten Seite (z. B. einer nächsten Seite) des Inhaltsstroms 240 navigiert.
  • Innerhalb einer Benutzeranmeldesitzung für den sozialen Netzwerkdienst kann die Navigation des Benutzers zur neuen Seite des Inhaltsstroms 240 den Mischserver 215 auffordern, zusätzliche aggregierte Inhaltsdatenstrukturen für das Mischen in den Inhaltsstrom 240 auszuwählen. Innerhalb der Benutzeranmeldesitzung kann die Navigation des Benutzers zu einer vorherigen Seite des Inhaltsstroms 240, die vorher mit Inhaltselementen und aggregierten Inhaltsdatenströmen gefüllt wurde, zu einem Neuladen der vorherigen Seite mit denselben Inhaltselementen und aggregierten Inhaltsdatenstrukturen führen.
  • Wenn vorher ausgefüllten Seiten des Inhaltsstroms 240 erlaubt wird, mit denselben Inhaltselementen ausgefüllt zu bleiben, kann dies dem Benutzer ermöglichen, Inhaltselemente, die dem Benutzer früher präsentiert wurden, viel einfacher zu finden. In manchen Fällen kann die vorher ausgefüllte Seite des Inhaltsstroms 240 aktualisiert werden, wenn neue Inhaltselemente erstellt oder abgerufen werden, um diese neuen Inhaltselemente einzubeziehen, was ein Verschieben der Inhaltselemente der vorher ausgefüllten Seite zu einer anderen Seite verursachen kann. In manchen Fällen kann jede Seite des Inhaltsstroms 240 die Bereitstellung von zehn Inhaltselementen für den Benutzer ermöglichen, von denen jede aggregierte Inhaltsdatenstruktur, die in den Inhaltsstrom 240 gemischt wird, als eines der zehn Inhaltselemente betrachtet werden kann. In einigen Implementierungen kann es sein, dass, sobald die Anmeldesitzung abgelaufen ist, der Inhaltsstrom 240 und die aggregierten Inhaltsdatenstrukturen konstruiert werden müssen, z. B. durch den sozialen Netzwerkdienst bzw. den Mischserver 215. Die Konstruktion des Inhaltsstroms 240 und der aggregierten Inhaltsdatenstrukturen kann einen Inhaltsstrom und/oder aggregierte Inhaltsdatenstrukturen ergeben, die sich von denjenigen unterscheiden, die in den vorherigen Anmeldesitzungen des Benutzers konstruiert wurden.
  • In einigen Implementierungen mischt der Mischserver 215 aggregierte Inhaltsdatenstrukturen in den Inhaltsstrom 240, sodass ein bestimmter Prozentsatz der Inhaltselemente im Inhaltsstrom 240 aggregierte Inhaltsdatenstrukturen sind. Der Mischserver 215 kann zum Beispiel aggregierte Inhaltsdatenstrukturen in den Inhaltsstrom 240 mischen, sodass 10 % aller Inhaltselemente im Inhaltsstrom 240 aggregierte Inhaltsdatenstrukturen sind. Der Prozentsatz kann für jede Seite eingestellt werden, sodass 10 % der Inhaltselemente für jede Seite des Inhaltsstroms 240 aggregierte Inhaltsdatenstrukturen sind. Von den aggregierten Inhaltsdatenstrukturen, die in den Inhaltsstrom 240 gemischt werden, mischt der Mischserver 215 aggregierte Inhaltsdatenstrukturen der unterschiedlichen Typen auf Basis des jeweiligen vorher festgelegten Typzielprozentsatzes für jeden Typ von aggregierter Inhaltsdatenstruktur.
  • 5 veranschaulicht ein Ablaufdiagramm 500 eines Prozesses für das Mischen einer aggregierten Inhaltsdatenstruktur in den Inhaltsstrom 240 gemäß exemplarischen Aspekten der betrachteten Technologie. Der Inhaltsstrom 240 kann ein Inhaltsstrom eines Benutzers sein, der für den Benutzer über einen sozialen Netzwerkdienst zugänglich ist. Das Ablaufdiagramm 500 wird in Bezug auf 2 und 4 beschrieben.
  • Bei Block 505 empfängt der Mischserver 215 eine aggregierte Inhaltsdatenstruktur von einer Quelle (z. B. einem der Aggregationsserver 210A-C), die die ausgewählte Inhaltsdatenstruktur 238 bereitgestellt hat. Die empfangene aggregierte Inhaltsdatenstruktur kann aus der Warteschlange des Aggregationsservers bereitgestellt werden, der die ausgewählte aggregierte Inhaltsdatenstruktur 238 bereitgestellt hat. Wenn die ausgewählte aggregierte Inhaltsdatenstruktur 238 zum Beispiel die aggregierte Inhaltsdatenstruktur 232 vom Aggregationsserver 210A ist, kann die aggregierte Inhaltsdatenstruktur 232 die aggregierte Inhaltsdatenstruktur mit der höchsten Bewertung sein, die vom Aggregationsserver 210A erstellt wurde, während die aggregierte Inhaltsdatenstruktur, die vom Mischserver 215 bei Block 505 empfangen wird, die aggregierte Inhaltsdatenstruktur mit der zweithöchsten Bewertung sein kann, die vom Aggregationsserver 210A erstellt wurde.
  • Bei Block 510 passt der Mischserver 215 die Bewertung mindestens einer aggregierten Inhaltsdatenstruktur an, die vom Mischserver 215 empfangen wurde. Die aggregierten Inhaltsdatenstrukturen, die vom Mischserver 215 empfangen wurden, beinhalten die aggregierte Inhaltsdatenstruktur, die bei Block 505 empfangen wurde, sowie die restlichen (z. B. nicht ausgewählten) aggregierten Inhaltsdatenstrukturen, die bei Block 405 empfangen wurden.
  • In einigen Implementierungen passt der Mischserver 215 die Bewertungen von einer oder mehreren der aggregierten Inhaltsdatenstrukturen, die vom Mischserver 215 empfangen wurden, auf Basis der Typauswahlprozentsätze und der vorher festgelegten Typzielprozentsätze an. Für einen Aggregationsinhaltsdatenstrukturtyp, der seinen vorher festgelegten Typzielprozentsatz übersteigt, kann die Bewertung der aggregierten Inhaltsdatenstruktur(en) dieses Typs vermindert werden, um das Erreichen seines vorher festgelegten Typzielprozentsatzes zu ermöglichen. Alternativ oder zusätzlich kann, für einen Aggregationsinhaltsdatenstrukturtyp, der seinen jeweiligen Zielprozentsatz nicht erreicht, die Bewertung der aggregierten Inhaltsdatenstruktur(en) dieses Typs gesteigert werden, um das Erreichen seines vorher festgelegten Typzielprozentsatzes zu ermöglichen.
  • In einigen Implementierungen kann die Bewertung der aggregierten Inhaltsdatenstruktur durch Anwenden eines Skalierfaktors auf die Bewertung angepasst werden. Der Skalierfaktor kann zum Beispiel mithilfe einer Polynomfunktion f(x) = 1 + 3x + 5x2 berechnet werden, wobei x eine Differenz zwischen dem aktuellen Typauswahlprozentsatz und dem vorher festgelegten Typzielprozentsatz ist. Als ein Beispiel ist, wenn der vorher festgelegte Typzielprozentsatz des ersten Typs von aggregierter Inhaltsdatenstruktur 80 % und der aktuelle Typauswahlprozentsatz des ersten Typs 71 % ist, x = 0,09 und f(x) = 1,31. Durch Multiplizieren des Skalierfaktors mit der Bewertung irgendeiner aggregierten Inhaltsdatenstruktur des ersten Typs, die vom Mischserver 215 empfangen wird, wird die Bewertung der aggregierten Inhaltsdatenstruktur(en) des ersten Typs um 31 % gesteigert. Die angepasste Bewertung für eine aggregierte Inhaltsdatenstruktur des ersten Typs kann dann mit der angepassten Bewertung der anderen aggregierten Inhaltsdatenstrukturen des ersten Typs, falls vorhanden, und der Bewertung der aggregierten Inhaltsdatenstruktur(en) anderer Typen verglichen werden. Die Steigerung der Bewertung der aggregierten Inhaltsdatenstruktur(en) des ersten Typs erhöht die Wahrscheinlichkeit, dass eine aggregierte Inhaltsdatenstruktur des ersten Typs ausgewählt wird (gegenüber ohne die erhöhte Bewertung), und erhöht somit die Wahrscheinlichkeit, dass der vorher festgelegte Typzielprozentsatz erreicht wird. Eine solche Steigerung kann als Heraufstufung der aggregierten Inhaltsdatenstruktur des ersten Typs bezeichnet werden.
  • Als ein weiteres Beispiel ist, wenn der vorher festgelegte Typzielprozentsatz der aggregierten Inhaltsdatenstrukturen des ersten Typs 80 % und der aktuelle Typauswahlprozentsatz der aggregierten Inhaltsdatenstrukturen des zweiten Typs 89 % ist, x = - 0,09 und f(x) = 77 %. Durch Multiplizieren des Skalierfaktors mit der Bewertung irgendeiner aggregierten Inhaltsdatenstruktur des ersten Typs, wird die Bewertung der aggregierten Inhaltsdatenstruktur(en) des ersten Typs um 23 % vermindert. Die angepasste Bewertung für eine aggregierte Inhaltsdatenstruktur des ersten Typs kann dann mit der angepassten Bewertung der anderen aggregierten Inhaltsdatenstrukturen des ersten Typs, falls vorhanden, und der Bewertung der aggregierten Inhaltsdatenstrukturen anderer Typen verglichen werden. Die Verminderung der Bewertung der aggregierten Inhaltsdatenstruktur(en) des ersten Typs verringert die Wahrscheinlichkeit, dass eine aggregierte Inhaltsdatenstruktur des ersten Typs ausgewählt wird (gegenüber ohne die verminderte Bewertung), und erhöht somit die Wahrscheinlichkeit, dass der vorher festgelegte Typzielprozentsatz erreicht wird. Eine solche Verminderung kann als Herabstufung der aggregierten Inhaltsdatenstruktur des ersten Typs bezeichnet werden.
  • In einigen Implementierungen wird der Skalierfaktor zusätzlich zu irgendwelchen Skalierfaktoren angewandt, die vorher berechnet und für die aggregierte Inhaltsdatenstruktur des ersten Typs angewandt wurden. Diese mehreren Anwendungen der Skalierfaktoren können eine ständige Steigerung oder Verminderung der Bewertungen der aggregierten Inhaltsdatenstrukturen des ersten Typs bei Bedarf ermöglichen, um das Erreichen der vorher festgelegten Typzielprozentsätze für die unterschiedlichen Typen von aggregierten Inhaltsdatenstrukturen zu ermöglichen. In einigen Implementierungen können der Skalierfaktor oder die Faktoren, die auf die aggregierten Inhaltsdatenstrukturen angewandt werden, Seite für Seite für jede Seite des Inhaltsstroms 240 zurückgesetzt werden.
  • Die oben für das Berechnen des Skalierfaktors bereitgestellte Polynomstruktur wird als den Schutzbereich nicht einschränkendes Beispiel bereitgestellt und andere lineare oder nicht lineare Funktionen können für das Berechnen des Skalierfaktors genutzt werden. Auch wenn die Bewertungen durch Multiplizieren eines Skalierfaktors auf die Bewertungen angepasst werden können, können andere Möglichkeiten, durch die die Bewertungen angepasst werden, genutzt werden.
  • In den obigen Beispielen wird die Bewertung der aggregierten Inhaltsdatenstruktur(en) des ersten Typs angepasst. Alternativ oder zusätzlich kann die Bewertung der aggregierten Inhaltsdatenstruktur der anderen Typen angepasst werden. In einigen Implementierungen kann die angepasste Bewertung nur für die aggregierten Inhaltsdatenstrukturtypen mit einem aktuellen Typauswahlprozentsatz berechnet werden, der seinen vorher festgelegten Typzielprozentsatz übersteigt. In anderen Implementierungen kann die angepasste Bewertung nur für die aggregierten Inhaltsdatenstrukturtypen mit einem aktuellen Typauswahlprozentsatz berechnet werden, der seinen vorher festgelegten Typzielprozentsatz nicht übersteigt. In noch anderen Implementierungen kann die angepasste Bewertung für einige oder alle der aggregierten Inhaltsdatenstrukturtypen mit einem aktuellen Typauswahlprozentsatz berechnet werden, der seinen vorher festgelegten Typzielprozentsatz übersteigt, und/oder alle der aggregierten Inhaltsdatenstrukturtypen mit einem aktuellen Typauswahlprozentsatz, der seinen vorher festgelegten Typzielprozentsatz nicht übersteigt.
  • Bei Block 515 wählt der Mischserver 215 eine zweite aggregierte Inhaltsdatenstruktur auf Basis der Bewertungen, die den aggregierten Inhaltsdatenstrukturen zugeordnet sind. Einige der Bewertungen können bei Block 510 angepasst worden sein. In einigen Implementierungen ist die zweite aggregierte Inhaltsdatenstruktur einer Bewertung zugeordnet, die am höchsten unter den Bewertungen der anderen aggregierten Inhaltsdatenstrukturen ist. Die Typauswahlprozentsätze für jeden der aggregierten Inhaltsdatenstrukturtypen kann im Anschluss an die Auswahl der zweiten aggregierten Inhaltsdatenstruktur aktualisiert werden.
  • Bei Block 520 mischt der Mischserver 215 die ausgewählte aggregierte Inhaltsdatenstruktur in den Inhaltsstrom 240 des Benutzers. Der Mischserver 215 kann dem Server sozialer Netzwerke 220 den Inhaltsstrom 240 bereitstellen, in den die ausgewählte aggregierte Inhaltsdatenstruktur gemischt ist.
  • Auch wenn die obigen Ausführungen einen Fall beschreiben, in dem drei Typen von aggregierten Inhaltsdatenstrukturen konstruiert werden, können weniger, mehr und/oder unterschiedliche Typen von aggregierten Inhaltsdatenstrukturen genutzt werden. Außerdem können, auch wenn die obigen Ausführungen einen Fall beschreiben, in dem die Aggregationsserver 210A-C genutzt werden, weniger oder mehr Aggregationsserver genutzt werden. Die Anzahl der Typen von aggregierten Inhaltsdatenstrukturen können gleich der Anzahl der Aggregationsserver sein oder sich von dieser unterscheiden.
  • In einigen Implementierungen kann ein Satz von Regeln genutzt werden, um das Mischen der aggregierten Inhaltsdatenstrukturen in den Inhaltsstrom 240 ermöglichen. Der Satz von Regeln kann dazu beitragen, es zu ermöglichen, dass dem Benutzer aggregierte Inhaltsdatenstrukturen von verschiedenen Aggregationsservern bereitgestellt werden, und dazu beitragen, zu vermeiden, dass einige wenige Aggregationsserver den Inhaltsstrom 240 des Benutzers überfluten (z. B. unabsichtlich oder absichtlich). Es kann zum Beispiel eine Regel eingestellt werden, damit, unabhängig von der Bewertung (z. B. normalisierte Bewertung, angepasste Bewertung) und dem Typ der aggregierten Inhaltsdatenstrukturen, der Mischserver 215 in den Inhaltsstrom 240 nicht mehr als eine vorher festgelegte Anzahl (z. B. sieben) aggregierte Inhaltsdatenstrukturen in einer Reihe vom selben Aggregationsserver mischen kann.
  • Als ein weiteres Beispiel kann eine Regel eingestellt werden, um aggregierte Inhaltsdatenstrukturen vom selben Aggregationsserver zu verbannen, sodass keine zwei aufeinanderfolgenden aggregierten Inhaltsdatenstrukturen vom selben Aggregationsserver sein können und/oder keine zwei aufeinanderfolgenden Inhaltsdatenstrukturen vom selben Typ sein können. In manchen Fällen kann die Regel implementiert werden, nachdem die aggregierten Inhaltsdatenstrukturen ausgewählt wurden. Der Mischserver 215 kann zum Beispiel, in Reihenfolge, zwei aufeinanderfolgende aggregierte Inhaltsdatenstrukturen (z. B. einen erste und eine zweite aggregierte Inhaltsdatenstruktur) vom Aggregationsserver 210A gefolgt von einer aggregierten Inhaltsdatenstruktur vom Aggregationsserver 210C auswählen. Beim Mischen dieser ausgewählten aggregierten Inhaltsdatenstrukturen in den Inhaltsstrom 240 kann der Mischserver 215 jedoch, in Reihenfolge, die erste aggregierte Inhaltsdatenstruktur vom Aggregationsserver 210A, die aggregierte Inhaltsdatenstruktur vom Aggregationsserver 210A und die zweite aggregierte Inhaltsdatenstruktur vom Aggregationsserver 210A in den Inhaltsstrom 240 mischen.
  • In einigen Implementierungen kann der Mischserver 215 das Hineinmischen aggregierter Inhaltsdatenstrukturen von einem bestimmten Aggregationsserver stoppen. Der Mischserver 215 kann zum Beispiel Aktivität der Aggregationsserver 210A-C überwachen und kann ermitteln, dass der Aggregationsserver 210B seine Aggregationsdateninhaltsstrukturen falsch bewertet, um den Mischserver 215 zu veranlassen, immer eine seiner Aggregationsdateninhaltsstrukturen auszuwählen, bevor er Aggregationsdateninhaltsstrukturen von den anderen Aggregationsservern 210A und 210C auswählt.
  • In einigen Implementierungen kann der Benutzer den vorher festgelegten Typzielprozentsatz manuell ändern. Es kann zum Beispiel eine Volumenregelung auf der Benutzeroberfläche für den Benutzer bereitgestellt werden, um es dem Benutzer zu ermöglichen, die vorher festgelegten Typzielprozentsätze einzustellen. Dem Benutzer können Möglichkeiten bereitgestellt werden, Rückmeldung zu geben. Der Benutzer kann zum Beispiel angeben, ob der Benutzer, neben anderen Optionen, mehr, weniger, nie oder immer Inhaltselemente ähnlich einem Inhaltselement sehen möchte, das in einer aggregierten Inhaltsdatenstruktur bereitgestellt wird. Die Benutzerrückmeldung kann auch für die aggregierte Inhaltsdatenstruktur insgesamt bereitgestellt werden, um zum Beispiel, neben anderen Optionen, aggregierte Inhaltsdatenstrukturen von einem bestimmten Aggregationsserver mehr zu sehen, weniger zu sehen, nie zu sehen oder immer zu sehen.
  • 6 veranschaulicht konzeptuell ein exemplarisches elektronisches System 600, mit dem einige Implementierungen der betrachteten Technologie implementiert werden können. Das elektronische System 600 kann ein Computer, ein Telefon, PDA oder jede andere beliebige Art von elektronischem Gerät sein. Dieses elektronische System beinhaltet verschiedene Arten an computerlesbaren Medien und Schnittstellen für unterschiedliche andere Arten an computerlesbaren Medien. Das elektronische System 600 beinhaltet einen Bus 608, Verarbeitungseinheit(en) 612, einen Systemspeicher 604, einen schreibgeschützten Speicher (ROM) 610, ein permanentes Speichergerät 602, eine Eingabegerät-Schnittstelle 614, eine Ausgabegerät-Schnittstelle 606 sowie eine Netzwerkschnittstelle 616.
  • Der Bus 608 repräsentiert kollektiv alle System-, Peripherie- und Chipsatzbusse, welche die zahlreichen internen Geräte des elektronischen Systems 600 kommunikativ verbinden. Der Bus 608 verbindet zum Beispiel die Verarbeitungseinheit(en) 612 kommunikativ mit dem ROM 610, dem Systemspeicher 604 sowie permanenten Speichergerät 602.
  • Aus diesen verschiedenen Speichereinheiten ruft/rufen die Verarbeitungseinheit(en) 612 Anweisungen zum Ausführen sowie Daten zum Verarbeiten ab, um die Prozesse der betrachteten Offenbarung auszuführen. Bei der/den Verarbeitungseinheit(en) kann es sich um einen einzelnen Prozessor oder einen Multikernprozessor mit unterschiedlichen Implementierungen handeln.
  • Der ROM 610 speichert statische Daten und Anweisungen, die von der/den Verarbeitungseinheit(en) 612 und anderen Modulen des elektronischen Systems benötigt werden. Bei dem permanenten Speichergerät 602 handelt es sich anderseits um ein lesbares und beschreibbares Speichergerät. Dieses Gerät ist eine nicht flüchtige Speichereinheit, die Anweisungen und Daten selbst dann speichert, wenn das elektronische System 600 ausgeschaltet ist. Einige Implementierungen der betrachteten Offenbarung verwenden ein Massenspeichergerät (zum Beispiel eine magnetische oder optische Platte und deren entsprechenden Laufwerke) als permanentes Speichergerät 602.
  • Andere Implementierungen verwenden ein Wechselspeichergerät (zum Beispiel eine Diskette, ein Flash-Laufwerk und dessen entsprechendes Laufwerk) als permanentes Speichergerät 602. Wie bei dem permanenten Speichergerät 602 handelt es sich bei Systemspeicher 604 um ein Speichergerät zum Lesen und Schreiben. Im Unterschied zum Speichergerät 602 handelt es sich bei Systemspeicher 604 jedoch um einen flüchtigen Schreib-/Lese-Speicher, wie z. B. einen Direktzugriffsspeicher. Der Systemspeicher 604 speichert einige der Anweisungen und Daten, die der Prozessor bei Laufzeit benötigt. Bei einigen Implementierungen werden die Prozesse der betrachteten Offenbarung im Systemspeicher 604, im permanenten Speichergerät 602 oder im ROM 610 gespeichert. Die verschiedenen Speichereinheiten beinhalten Anweisungen für das Empfangen aggregierter Inhaltsdatenstrukturen, das Auswählen aus den aggregierten Inhaltsdatenstrukturen und das Mischen der aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom. Aus diesen verschiedenen Speichereinheiten ruft/rufen die Verarbeitungseinheit(en) 612 Anweisungen zum Ausführen und Verarbeiten der Daten ab, um die Prozesse einiger Implementierungen auszuführen.
  • Der Bus 608 ist ebenfalls mit den Ein- und Ausgabegerät-Schnittstellen 614 und 606 verbunden. Die Eingabegerät-Schnittstelle 614 ermöglicht dem Benutzer, Befehle auszuwählen und Informationen an das elektronische System zu kommunizieren. Eingabegeräte, die mit der Eingabegerät-Schnittstelle 614 verwendet werden, beinhalten beispielsweise alphanumerische Tastaturen und Zeigegeräte (auch „Cursor-Steuergeräte“ genannt). Ausgabegerät-Schnittstellen 606 ermöglichen zum Beispiel die Anzeige von Bildern, die vom elektronischen System 600 erzeugt werden. Ausgabegeräte, die mit Ausgabegerät-Schnittstelle 606 verwendet werden, beinhalten zum Beispiel Drucker und Anzeigegeräte, wie zum Beispiel Kathodenstrahlröhren (Cathode Ray Tubes, CRT) oder Flüssigkristallanzeigen (Liquid Crystal Displays, LCD). Einige Implementierungen beinhalten Geräte, wie beispielsweise einen Berührungsbildschirm, die als Eingabe- und Ausgabegeräte fungieren.
  • Schließlich koppelt, wie in 6 dargestellt, der Bus 608 außerdem das elektronische System 600 über eine Netzwerkschnittstelle 616 an ein Netzwerk (nicht dargestellt). Auf diese Weise kann der Computer ein Teil eines Netzwerks von Computern (beispielsweise ein lokales Netzwerk („LAN“), ein Weitverkehrsnetzwerk („WAN“) oder ein Intranet oder ein Netzwerk von Netzwerken, wie beispielsweise das Internet) sein. Jegliche oder sämtliche Komponenten des elektronischen Systems 600 können in Verbindung mit der betrachteten Offenbarung verwendet werden.
  • Viele der vorstehend beschriebenen Merkmale und Anwendungen werden als Softwareprozesse implementiert, die als ein Satz von Anweisungen angegeben sind, die auf einem computerlesbaren Speichermedium (auch als ein computerlesbares Medium bezeichnet) aufgezeichnet sind. Wenn diese Anweisungen von einer oder mehreren Verarbeitungseinheit(en) (z. B. einem oder mehreren Prozessoren, Prozessorkernen oder sonstigen Prozessoren) ausgeführt werden, veranlassen sie die Verarbeitungseinheit(en) dazu, die in den Anweisungen angegebenen Handlungen auszuführen. Beispiele computerlesbarer Medien beinhalten unter anderem CD-ROMs, Flash-Laufwerke, RAM-Chips, Festplatten, EPROMs, usw. Das computerlesbare Medium beinhaltet keine Trägerwellen und elektronischen Signale, die drahtlos oder über drahtgebundene Verbindungen gesendet werden.
  • In dieser Spezifikation wird der Begriff „Software“ so verstanden, dass er Firmware beinhaltet, die sich im schreibgeschützten Speicher oder in auf Magnetspeicher gespeicherten Anwendungen befindet, die zur Verarbeitung durch einen Prozessor in den Speicher eingelesen werden kann. In einigen Implementierungen können auch mehrere Software-Merkmale der gegenständlichen Offenbarung als Teilbestandteile eines größeren Programms implementiert sein, während sie unverwechselbare Software-Merkmale der gegenständlichen Offenbarung bleiben. In einigen Implementierungen können ebenfalls mehrere Software-Merkmale als separate Programme implementiert werden. Schließlich fällt jede beliebige Kombination von separaten Programmen, die gemeinsam ein hierin beschriebenes Software-Merkmal implementieren, in den Schutzumfang der gegenständlichen Offenbarung. Bei einigen Implementierungen definieren die Softwareprogramme, wenn sie installiert werden, um ein oder mehrere elektronische Systeme zu betreiben, einen oder mehrere spezifische Maschinenimplementierungen, die den Betrieb der Software ausführen und durchführen.
  • Ein Computerprogramm (auch bezeichnet als Programm, Software, Softwareanwendung, Script oder Code) kann in einer beliebigen Form von Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen, und das Programm kann in jeder beliebigen Form eingesetzt sein, darunter als unabhängiges Programm oder als ein Modul, eine Komponente, eine Subroutine, ein Objekt oder eine andere Einheit, die zur Benutzung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss jedoch nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei, die andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem in Markup-Sprache geschriebenen Dokument gespeichert sind), in einer einzelnen, dem betreffenden Programm zugeordneten Datei oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern) gespeichert sein. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Diese vorstehend beschriebenen Funktionen können in einer digitalen elektronischen Schaltungsanordnung, einer Computer-Software, Firmware oder Hardware implementiert sein. Die Verfahren können unter Verwendung eines oder mehrerer Computerprogrammprodukte implementiert werden. Programmierbare Prozessoren und Computer können in Mobilgeräten integriert oder darin angeordnet sein. Die Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren und von einer oder mehreren programmierbaren logischen Schaltungsanordnungen durchgeführt werden. Universal- und Spezialcomputergeräte und Speichergeräte können über Datenübertragungsnetzwerke miteinander verbunden werden.
  • Einige Implementierungen beinhalten elektronische Komponenten, beispielsweise Mikroprozessoren, Datenspeicher und Arbeitsspeicher, die Computer-Programmanweisungen auf einem maschinenlesbaren oder computerlesbaren Medium (alternativ als computerlesbare Speichermedien, maschinenlesbare Medien oder maschinenlesbare Speichermedien bezeichnet) speichern. Einige Beispiele dieser computerlesbaren Medien beinhalten RAM, ROM, schreibgeschützte CDs (CD-ROM), beschreibbare CDs (CD-R), überschreibbare CDs (CD-RW), schreibgeschützte DVDs (z. B. DVD-ROM, Dual-Layer DVD-ROM), eine Vielzahl von beschreibbaren oder überschreibbaren DVDs (z. B. DVD-RAM, DVD-RW, DVD+RW, usw.), Flash-Speicher (z. B. SD-Karten, Mini-SD-Karten, Mikro-SD-Karten, usw.), magnetische oder Halbleiter-Festplatten, schreibgeschützte und beschreibbare Blu-Ray® Discs, optische Platten mit ultrahoher Dichte (Ultra Density Optical Discs), andere optische oder magnetische Medien und Disketten. Die computerlesbaren Medien können ein Computerprogramm speichern, das von mindestens einer Verarbeitungseinheit ausführbar ist, und umfassen Sätze von Anweisungen zum Ausführen verschiedener Operationen. Beispiele von Computerprogrammen oder Computercode beinhalten Maschinencode, der beispielsweise von einem Compiler erzeugt wird, und Dateien, die Code höherer Ebene beinhalten, der durch einen Computer, eine elektronische Komponente oder einen Mikroprozessor ausgeführt wird, der ein Interpretierprogramm verwendet.
  • Während sich die vorstehende Erläuterung in erster Linie auf Mikroprozessoren oder Mehrkernprozessoren bezieht, die Software ausführen, werden einige Implementierungen durch eine oder mehrere integrierte Schaltungen, beispielsweise durch anwendungsspezifische integrierte Schaltungen (ASICs) oder durch feldprogrammierbare Universalschaltkreise (FPGAs), ausgeführt. In einigen Implementierungen führen jene integrierte Schaltungen Anweisungen aus, die auf der Schaltung selbst gespeichert sind.
  • Wie in dieser Spezifikation und jeglichen Ansprüchen dieser Anmeldung verwendet, beziehen sich die Begriffe „Computer“, „Server“, „Prozessor“ und „Speicher“ alle auf elektronische oder sonstige technologische Geräte. Diese Begriffe schließen Menschen oder Menschengruppen aus. Zum Zwecke der Spezifikation bedeuten die Begriffe Anzeigen oder Anzeige das Anzeigen auf einem elektronischen Gerät. In ihrer in dieser Spezifikation und jeglichen Ansprüchen dieser Anmeldung verwendeten Form, beziehen sich die Begriffe „computerlesbares Medium“ und „computerlesbare Medien“ ausschließlich auf materielle, physische Objekte, die Daten in einer von einem Computer lesbaren Form speichern. Diese Begriffe schließen alle drahtlosen Signale, Signale, die über drahtgebundene Systeme heruntergeladen werden, und alle anderen ephemeren Signale aus.
  • Um Interaktionen mit einem Benutzer bereitzustellen, können Implementierungen des in der vorliegenden Spezifikation beschriebenen Gegenstands auf einem Computer mit einem Anzeigegerät, wie z. B. einem CRT- oder LCD-Monitor zum Anzeigen von Informationen für den Benutzer und einer Tastatur und einem Zeigegerät, wie z. B. einer Maus oder einem Trackball, mithilfe derer der Benutzer Eingaben an den Computer bereitstellen kann, implementiert werden. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; ebenso können die Eingaben des Benutzers in beliebiger Form, d. h. unter anderem auch akustisch, sprachlich oder taktil, empfangen werden. Außerdem kann ein Computer durch das Senden von Dokumenten an ein Gerät und das Empfangen von Dokumenten von einem Gerät, das vom Nutzer verwendet wird, mit einem Nutzer interagieren, beispielsweise durch das Senden von Webseiten an einen Webbrowser auf dem Client-Gerät des Nutzers in Reaktion auf die vom Webbrowser empfangenen Anfragen.
  • Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstands können in einem Datenverarbeitungssystem implementiert werden, das eine Backend-Komponente, wie z. B. einen Datenserver, oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver, oder eine Frontend-Komponente, wie z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche, oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Webbrowser beinhaltet, durch den ein Benutzer mit einer in dieser Spezifikation beschriebenen Implementierung des Gegenstands interagieren kann. Die Komponenten des Systems können miteinander mittels jeder Form oder jedes Mediums von digitaler Datenkommunikation, z. B. einem Kommunikationsnetzwerk, verbunden sein. Beispiele für Kommunikationsnetze beinhalten ein lokales Netzwerk („LAN“), ein Weitverkehrsnetzwerk („WAN“), eine netzübergreifende Verbindung (z. B. das Internet) und Peer-to-Peer Netzwerke (z. B. Ad-Hoc Peer-to-Peer Netzwerke).
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und eine Client-Server-Beziehung zueinander aufweisen. In einigen Ausführungsformen überträgt ein Server Daten (z. B. eine HTML-Seite) an ein Client-Gerät (z. B. zum Anzeigen von Daten für und zum Empfangen von Benutzereingaben von einem Benutzer, der mit dem Client-Gerät interagiert). Daten, die am Client-Gerät erzeugt werden (z. B. ein Ergebnis der Nutzerinteraktion) können vom Nutzergerät auf dem Server empfangen werden.
  • Es wird davon ausgegangen, dass jede spezifische Reihenfolge oder Hierarchie von Schritten in den offenbarten Verfahren eine Veranschaulichung von exemplarischen Herangehensweisen bzw. Ansätzen darstellt. Basierend auf den Design-Präferenzen wird davon ausgegangen, dass die spezifische Reihenfolge oder Hierarchie der Schritte in den Verfahren geändert werden kann, oder dass alle veranschaulichten Schritte durchgeführt werden. Einige der Schritte können gleichzeitig durchgeführt werden. Unter bestimmten Umständen können beispielsweise Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den oben beschriebenen Ausführungsformen nicht in allen Ausführungsformen als erforderlich aufgefasst werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte gebündelt werden können.
  • Die vorstehende Beschreibung wird bereitgestellt, um eine Person mit der gewöhnlichen Erfahrung auf dem Gebiet der Technik dazu zu befähigen, die verschiedenen hierin beschriebenen Aspekte umzusetzen. Den Fachleuten auf dem Gebiet sind ohne Weiteres verschiedene Modifikationen dieser Aspekte ersichtlich, zudem können die vorliegend definierten allgemeinen Prinzipien auf andere Aspekte angewendet werden. Die Ansprüche sollen daher die hierin dargestellten Aspekte in keiner Weise einschränken, sondern ihnen gemäß den Ansprüchen bezüglich der Sprache den vollen Schutzumfang zugestehen, wobei ein Bezug auf ein Element im Singular, sofern nicht anders angegeben, nicht „ein und nur ein“, sondern vielmehr „ein oder mehrere“ bedeuten soll. Sofern nicht ausdrücklich anders angegeben, bezieht sich der Begriff „einige“ auf „ein oder mehrere“. Pronomen im maskulinen (z. B. sein) beinhalten auch den weiblichen und sächlichen Genus (z. B. ihr und dessen) und umgekehrt. Überschriften und Zwischenüberschriften, falls vorhanden, werden nur der Einfachheit halber verwendet und sollen die betrachtete Offenbarung in keiner Weise einschränken.
  • Eine Phrase, wie beispielsweise ein „Aspekt“ bedeutet nicht, dass der Aspekt für die gegenständliche Technologie von wesentlicher Bedeutung ist oder dass der Aspekt für alle Konfigurationen der gegenständlichen Technologie gilt. Eine sich auf einen Aspekt beziehende Offenbarung kann auf alle, oder auf eine oder mehrere Konfigurationen zutreffen. Eine Phrase, wie beispielsweise ein Aspekt, kann sich auf einen oder auf mehrere Aspekte und umgekehrt beziehen. Eine Phrase, wie beispielsweise eine „Konfiguration“ bedeutet nicht, dass jene Konfiguration für die gegenständliche Technologie von wesentlicher Bedeutung ist, oder dass jene Konfigurationen für alle Konfigurationen der gegenständlichen Technologie gelten. Eine Offenbarung, die sich auf eine Konfiguration bezieht, kann auf alle, oder auf eine oder mehrere Konfigurationen zutreffen. Eine Phrase, wie beispielsweise eine Konfiguration, kann sich auf eine oder mehrere Konfigurationen und umgekehrt beziehen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/239191 [0001]

Claims (21)

  1. Beansprucht wird wie folgt:
  2. Maschinenimplementiertes Verfahren, umfassend: Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur auf eine Gruppe von Inhaltselementen verweist und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen dem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist; Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger Bewertungen für die erste Vielzahl von aggregierten Datenstrukturen und eines vorher festgelegten Typzielprozentsatzes für den Kategorietyp, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist; Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der einem Benutzer zugeordnet ist; und Bereitstellen des Inhaltsstroms, der die erste aggregierte Inhaltsdatenstruktur beinhaltet, für die Anzeige für den Benutzer.
  3. Verfahren nach Anspruch 1, weiter umfassend: Empfangen einer zusätzlichen aggregierten Inhaltsdatenstruktur von einer Quelle der ausgewählten ersten aggregierten Inhaltsdatenstruktur, wobei die zusätzliche aggregierte Inhaltsdatenstruktur einer Bewertung zugeordnet ist; Erstellen einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis des Entfernens der ausgewählten ersten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen und Hinzufügen der empfangenen zusätzlichen aggregierten Inhaltsdatenstruktur; Anpassen der Bewertung, die mindestens einer der zweiten Vielzahl von aggregierten Datenstrukturen zugeordnet ist, auf Basis der ausgewählten ersten aggregierten Inhaltsdatenstruktur und einer Vielzahl von vorher festgelegten Typzielprozentsätzen, die dem Benutzer zugeordnet sind; und Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  4. Verfahren nach Anspruch 1, weiter umfassend: Anpassen einer Bewertung mindestens einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis des Auswählens der ersten aggregierten Inhaltsdatenstruktur und auf Basis einer Vielzahl von vorher festgelegten Typzielprozentsätzen für die Vielzahl von Kategorietypen, wobei die Vielzahl von vorher festgelegten Typzielprozentsätzen den vorher festgelegten Typzielprozentsatz für den Kategorietyp umfasst, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist; Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  5. Verfahren nach Anspruch 3, ferner umfassend: Erzeugen einer Vielzahl von Typauswahlprozentsätzen für die Vielzahl von Kategorietypen auf Basis früherer Auswahlen der jeweiligen aggregierten Datenstrukturen für das Mischen in den Inhaltsstrom des Benutzers; und Aktualisieren der Vielzahl von Typauswahlprozentsätzen auf Basis des und in Reaktion auf das Auswählen der ersten aggregierten Inhaltsdatenstruktur.
  6. Verfahren nach Anspruch 4, wobei das Anpassen auf einer Differenz zwischen der Vielzahl von vorher festgelegten Typzielprozentsätzen und der aktualisierten Vielzahl von Typauswahlprozentsätzen basiert.
  7. Verfahren nach Anspruch 4, wobei das Anpassen umfasst: Erhöhen der Bewertung der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen, wenn ein aktualisierter Typauswahlprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, niedriger ist als ein vorher festgelegter Typzielprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist; und Verringern der Bewertung der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen, wenn der aktualisierte Typauswahlprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, höher ist als der vorher festgelegte Typzielprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist.
  8. Verfahren nach Anspruch 1, weiter umfassend: Normalisieren der jeweiligen Bewertung jeder der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, sodass diese zwischen einem ersten vorher festgelegten Wert und einem zweiten vorher festgelegten Wert liegt.
  9. Verfahren nach Anspruch 1, weiter umfassend: Ermitteln, für den Benutzer, einer Vielzahl von Typzielprozentsätzen für die Vielzahl von Kategorietypen, die den vorher festgelegten Typzielprozentsatz für den Kategorietyp umfassen, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist, auf Basis früherer Interaktionen des Benutzers mit Inhaltselementen, die in einem sozialen Netzwerk bereitgestellt werden.
  10. Verfahren nach Anspruch 1, wobei, für jede aggregierte Inhaltsdatenstruktur der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, die jeweilige Bewertung der aggregierten Inhaltsdatenstruktur auf Basis einer Affinität des Benutzers zu einem oder mehreren Attributen ermittelt wird, das der Gruppe von Inhaltselementen der aggregierten Inhaltsdatenstruktur zugeordnet ist.
  11. Computersystem für das Erstellen einer aggregierten Inhaltsliste, umfassend: einen oder mehrere Prozessor(en); und ein nicht transitorisches, maschinenlesbares Medium, das darin gespeicherte Anweisungen umfasst, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, umfassend: Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur auf eine Gruppe von Inhaltselementen verweist und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen dem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist; Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger Bewertungen für die erste Vielzahl von aggregierten Datenstrukturen und eines vorher festgelegten Typzielprozentsatzes für den Kategorietyp der ersten aggregierten Inhaltsdatenstruktur; und Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der einem Benutzer zugeordnet ist; und Bereitstellen des Inhaltsstroms, der die erste aggregierte Inhaltsdatenstruktur beinhaltet, für die Anzeige für den Benutzer.
  12. Computersystem nach Anspruch 10, wobei die Operationen ferner umfassen: Empfangen einer aggregierten Inhaltsdatenstruktur aus einer Quelle der ausgewählten ersten aggregierten Inhaltsdatenstruktur; Erstellen einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis des Entfernens der ausgewählten ersten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen und Hinzufügen der empfangenen zusätzlichen aggregierten Inhaltsdatenstruktur; Anpassen einer Bewertung, die mindestens einer der zweiten Vielzahl von aggregierten Datenstrukturen zugeordnet ist, auf Basis der ausgewählten ersten aggregierten Inhaltsdatenstruktur und einer Vielzahl von vorher festgelegten Typzielprozentsätzen, die dem Benutzer zugeordnet sind; Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  13. Computersystem nach Anspruch 10, wobei die Operationen ferner umfassen: Ermitteln, für den Benutzer, einer Vielzahl von Typzielprozentsätzen für die Vielzahl von Kategorietypen, die den vorher festgelegten Typzielprozentsatz für den Kategorietyp umfassen, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist, auf Basis früherer Interaktionen des Benutzers mit Inhaltselementen in einem sozialen Netzwerk; Ermitteln einer Vielzahl von Typauswahlprozentsätzen für eine Vielzahl von Kategorietypen auf Basis früherer Auswahlen der jeweiligen aggregierten Datenstrukturen für das Mischen in den Inhaltsstrom des Benutzers; Anpassen einer Bewertung, die mindestens einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, auf Basis einer Differenz zwischen der ermittelten Vielzahl von Typzielprozentsätzen und der ermittelten Vielzahl von Typauswahlprozentsätzen; und Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhalten auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  14. Computersystem nach Anspruch 12, wobei das Anpassen umfasst: Aktualisieren des Typauswahlprozentsatzes der Vielzahl von Typauswahlprozentsätze auf Basis des Auswählens der zweiten aggregierten Inhaltsdatenstruktur; Erhöhen der Bewertung der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen, wenn der aktualisierte Typauswahlprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, niedriger ist als der vorher festgelegte Typzielprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist; und Verringern der Bewertung der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen, wenn der aktualisierte Typauswahlprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, höher ist als der vorher festgelegte Typzielprozentsatz, der der mindestens einen der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist.
  15. Computersystem nach Anspruch 10, wobei, für jede aggregierte Inhaltsdatenstruktur der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, die jeweilige Bewertung der aggregierten Inhaltsdatenstruktur auf Basis einer Affinität des Benutzers zu einem oder mehreren Attributen ermittelt wird, das der Gruppe von Inhaltselementen der aggregierten Inhaltsdatenstruktur zugeordnet ist.
  16. Computersystem nach Anspruch 10, ferner umfassend: Normalisieren der Bewertung jeder der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, sodass diese zwischen einem ersten vorher festgelegten Wert und einem zweiten vorher festgelegten Wert liegt.
  17. Nicht transitorisches, maschinenlesbares Medium, das darin gespeicherte Anweisungen umfasst, die, wenn diese von einer Maschine ausgeführt werden, die Maschine dazu veranlassen, Operationen auszuführen, die Folgendes umfassen: Empfangen einer ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, wobei jede aggregierte Inhaltsdatenstruktur auf eine Gruppe von Inhaltselementen verweist und einer jeweiligen Bewertung und einem jeweiligen Kategorietyp einer Vielzahl von Kategorietypen zugeordnet ist, wobei jedes der Gruppe von Inhaltselementen einem Kategorietyp zugeordnet ist, der der aggregierten Inhaltsdatenstruktur zugeordnet ist; Normalisieren der Bewertung jeder der ersten Vielzahl von Datenstrukturen, sodass diese zwischen einem ersten vorher festgelegten Wert und einem zweiten vorher festgelegten Wert liegt; Auswählen einer ersten aggregierten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis jeweiliger normalisierter Bewertungen für die erste Vielzahl von aggregierten Datenstrukturen und eines vorher festgelegten Typzielprozentsatzes für den Kategorietyp der ersten aggregierten Inhaltsdatenstruktur; Mischen der ersten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der einem Benutzer zugeordnet ist; und Bereitstellen des Inhaltsstroms, der die erste aggregierte Inhaltsdatenstruktur beinhaltet, für die Anzeige für den Benutzer.
  18. Nicht transitorisches maschinenlesbares Medium nach Anspruch 16, wobei die Operationen ferner umfassen: Empfangen einer aggregierten Inhaltsdatenstruktur aus einer Quelle der ausgewählten ersten aggregierten Inhaltsdatenstruktur; Normalisieren der Bewertung der zusätzlichen aggregierten Datenstruktur, sodass die normalisierte Bewertung der zusätzlichen aggregierten Datenstruktur zwischen dem ersten vorher festgelegten Wert und dem zweiten vorher festgelegten Wert ist; Erzeugen einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis des Entfernens der ausgewählten ersten Inhaltsdatenstruktur aus der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen und Hinzufügen der empfangenen zusätzlichen aggregierten Inhaltsdatenstruktur; Anpassen einer normalisierten Bewertung, die mindestens einer der zweiten Vielzahl von aggregierten Datenstrukturen zugeordnet ist, auf Basis der ausgewählten ersten aggregierten Inhaltsdatenstruktur und einer Vielzahl von vorher festgelegten Typzielprozentsätzen, die dem Benutzer zugeordnet sind; und Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  19. Nicht transitorisches maschinenlesbares Medium nach Anspruch 16, die Operationen ferner umfassend: Ermitteln einer Vielzahl von Typauswahlprozentsätzen für eine Vielzahl von Kategorietypen auf Basis früherer Auswahlen der jeweiligen aggregierten Datenstrukturen für das Mischen in den Inhaltsstrom des Benutzers; Aktualisieren der Typauswahlprozentsätze auf Basis der ersten aggregierten Inhaltsdatenstruktur.
  20. Nicht transitorisches maschinenlesbares Medium nach Anspruch 18, wobei die Operationen ferner umfassen: Ermitteln, für den Benutzer, einer Vielzahl von Typzielprozentsätzen für die Vielzahl von Kategorietypen, die den vorher festgelegten Typzielprozentsatz für den Kategorietyp umfassen, der der ersten aggregierten Inhaltsdatenstruktur zugeordnet ist, auf Basis früherer Interaktionen des Benutzers mit Inhaltselementen in einem sozialen Netzwerk; Anpassen einer normalisierten Bewertung, die mindestens einer zweiten Vielzahl von aggregierten Inhaltsdatenstrukturen zugeordnet ist, auf Basis einer Differenz zwischen der ermittelten Vielzahl von Typzielprozentsätzen und der ermittelten Vielzahl von Typauswahlprozentsätzen; und Auswählen einer zweiten aggregierten Inhaltsdatenstruktur aus der zweiten Vielzahl von aggregierten Inhalten auf Basis der angepassten Bewertung; und Mischen der zweiten aggregierten Inhaltsdatenstruktur in einen Inhaltsstrom, der dem Benutzer zugeordnet ist.
  21. Nicht transitorisches, maschinenlesbares Medium nach Anspruch 19, wobei, für jede aggregierte Inhaltsdatenstruktur der ersten Vielzahl von aggregierten Inhaltsdatenstrukturen, die jeweilige Bewertung der aggregierten Inhaltsdatenstruktur auf Basis einer Affinität des Benutzers zu einem oder mehreren Attributen ermittelt wird, das der Gruppe von Inhaltselementen der aggregierten Inhaltsdatenstruktur zugeordnet ist.
DE112016004617.0T 2015-10-08 2016-10-07 Mischen von Inhalten in einem Inhaltsstrom Pending DE112016004617T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562239191P 2015-10-08 2015-10-08
US62/239,191 2015-10-08
PCT/US2016/056160 WO2017062891A1 (en) 2015-10-08 2016-10-07 Mixing content into a content stream

Publications (1)

Publication Number Publication Date
DE112016004617T5 true DE112016004617T5 (de) 2018-07-19

Family

ID=58488657

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016004617.0T Pending DE112016004617T5 (de) 2015-10-08 2016-10-07 Mischen von Inhalten in einem Inhaltsstrom

Country Status (8)

Country Link
US (1) US10129309B2 (de)
EP (1) EP3308305A4 (de)
JP (1) JP6496878B2 (de)
KR (1) KR101946586B1 (de)
CN (1) CN107851115A (de)
DE (1) DE112016004617T5 (de)
GB (1) GB2556533A (de)
WO (1) WO2017062891A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11086941B2 (en) * 2016-12-13 2021-08-10 Sap Se Generating suggestions for extending documents
US10581953B1 (en) * 2017-05-31 2020-03-03 Snap Inc. Real-time content integration based on machine learned selections
US10616419B1 (en) * 2018-12-12 2020-04-07 Mitel Networks Corporation Devices, systems and methods for communications that include social media clients
USD974411S1 (en) 2020-12-16 2023-01-03 Meta Platforms, Inc. Display screen having a graphical user interface or portion thereof
USD974408S1 (en) 2020-12-16 2023-01-03 Meta Platforms, Inc. Display screen having a graphical user interface or portion thereof
US20230106019A1 (en) * 2021-10-03 2023-04-06 Joni Jezewski Variables & Implementations of Solution Automation & Interface Analysis
US11928161B2 (en) 2022-03-04 2024-03-12 Humane, Inc. Structuring and presenting event data for use with wearable multimedia devices
WO2024092312A1 (en) * 2022-11-04 2024-05-10 Melody Regan System and method for generating a screened and consolidated social media data feed

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265730A1 (en) 2005-05-18 2006-11-23 Podfitness, Inc Mixing and producing individualized media files
US8880499B1 (en) * 2005-12-28 2014-11-04 Google Inc. Personalizing aggregated news content
US8156435B2 (en) 2008-11-25 2012-04-10 At&T Intellectual Property I, L.P. Systems and methods to select media content
JP2011014035A (ja) * 2009-07-03 2011-01-20 Ntt Docomo Inc 検索システム及び検索方法
CN102073717A (zh) * 2011-01-07 2011-05-25 南京大学 一种面向垂直电子商务网站的首页推荐方法
US20150206254A1 (en) * 2011-08-12 2015-07-23 Joheem Loh System and method of integrating various platforms and methods of using the same
US8463795B2 (en) 2011-10-18 2013-06-11 Filpboard, Inc. Relevance-based aggregated social feeds
EP2611127A1 (de) * 2011-12-29 2013-07-03 Gface GmbH Kombinierte Datenströme
US8996530B2 (en) * 2012-04-27 2015-03-31 Yahoo! Inc. User modeling for personalized generalized content recommendations
US9785883B2 (en) * 2012-04-27 2017-10-10 Excalibur Ip, Llc Avatars for use with personalized generalized content recommendations
US8886836B2 (en) * 2012-06-12 2014-11-11 Facebook, Inc. Providing a multi-column newsfeed of content on a social networking system
JP5874547B2 (ja) 2012-06-27 2016-03-02 株式会社Jvcケンウッド 情報選択装置、情報選択方法、端末装置およびコンピュータプログラム
US9043329B1 (en) * 2013-12-19 2015-05-26 Banjo, Inc. Dynamic event detection system and method
US9652525B2 (en) * 2012-10-02 2017-05-16 Banjo, Inc. Dynamic event detection system and method
EP2753041B1 (de) * 2013-01-04 2017-12-20 Alcatel Lucent Verfahren und Server zur Steuerung der Aggregation von Multimediainhalten auf Grundlage von Anforderungen eines Inhaltserstellers und von Benutzern von Kommunikationsausrüstung(en)
US9626436B2 (en) * 2013-03-15 2017-04-18 Spotify Ab Systems, methods, and computer readable medium for generating playlists
US9996670B2 (en) * 2013-05-14 2018-06-12 Zynx Health Incorporated Clinical content analytics engine
JP6594317B2 (ja) 2013-12-31 2019-10-23 グーグル エルエルシー ニュースタイムラインおよび薦められるニュースエディションの生成
US10255563B2 (en) * 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
CN104572851B (zh) * 2014-12-16 2018-09-07 北京百度网讯科技有限公司 获取推荐信息的方法和装置
US10033776B2 (en) * 2014-12-22 2018-07-24 Facebook, Inc. Methods and systems for accessing relevant content
US20160350669A1 (en) * 2015-06-01 2016-12-01 Linkedin Corporation Blending content pools into content feeds

Also Published As

Publication number Publication date
GB2556533A (en) 2018-05-30
JP2018523867A (ja) 2018-08-23
US10129309B2 (en) 2018-11-13
EP3308305A1 (de) 2018-04-18
JP6496878B2 (ja) 2019-04-10
GB201800621D0 (en) 2018-02-28
CN107851115A (zh) 2018-03-27
EP3308305A4 (de) 2019-01-23
KR101946586B1 (ko) 2019-02-12
KR20180008919A (ko) 2018-01-24
WO2017062891A1 (en) 2017-04-13
US20170104802A1 (en) 2017-04-13
GB2556533A8 (en) 2018-06-27

Similar Documents

Publication Publication Date Title
DE112016004617T5 (de) Mischen von Inhalten in einem Inhaltsstrom
DE112016005265T5 (de) Verbesserte Push-Nachrichtenübermittlung
US9514199B1 (en) Sorting and pagination of content item streams
DE202012013394U1 (de) System für das Ermitteln der Benutzersprachenabsicht
DE112016001594T5 (de) Verfahren, systeme und medien zum aggregieren und präsentieren von relevantem inhalt für ein bestimmtes videospiel
DE112015003826T5 (de) Bereitstellen von automatischen Aktionen für mobile Bildschirminhalte
DE202013012168U1 (de) Kompetenzenbestätigungen
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE112015003888T5 (de) Wiederaufnahme von Sitzungszuständen
DE112010004946T5 (de) Dynamisches Verwalten einer sozialen Netzwerkgruppe
US9686242B2 (en) Protection of sensitive data of a user from being utilized by web services
DE112016001601T5 (de) Anzeige von inhaltselementen basierend auf dem benutzerinteresse zum erhalt von inhalt
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE112011101293T5 (de) Dynamische Echtzeit-Berichte basierend auf sozialen Netzwerken
DE202015009301U1 (de) Automatisches Crawling von Anwendungen
DE202014010829U1 (de) Entfernungsabhängige Herabstufung von Suchrankings
DE102014107571A1 (de) Verfahren und System zum Erzeugen und Verfeinern von Regeln zur personalisierten Bereitstellung von Inhalten auf der Grundlage physischer Aktivitäten von Benutzern
DE112020000927T5 (de) Verwalten sensibler daten
DE102014200620A1 (de) Datenabgleichsverwaltungsverfahren und -systeme
DE202015101391U1 (de) Einstellen einer Größe eines aktiven Bereiches innerhalb einer graphischen Nutzerschnittstelle
DE202019106796U1 (de) Elektronisches Ereignismanagementsystem
DE112016001596T5 (de) Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource
DE202020005670U1 (de) Abfassen von Mitteilungen sozialer Medien, die sich auf mehrere Mitteilungen beziehen
DE112020004312T5 (de) Übersetzung von eingebetteten mehrformatdateien
DE112016000851T5 (de) Algorithmisches Identifizieren von kindgerechten Inhalten ohne menschliches Zutun

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000