DE212014000220U1 - Dynamisches Erstellen von Listen - Google Patents

Dynamisches Erstellen von Listen Download PDF

Info

Publication number
DE212014000220U1
DE212014000220U1 DE212014000220.6U DE212014000220U DE212014000220U1 DE 212014000220 U1 DE212014000220 U1 DE 212014000220U1 DE 212014000220 U DE212014000220 U DE 212014000220U DE 212014000220 U1 DE212014000220 U1 DE 212014000220U1
Authority
DE
Germany
Prior art keywords
source type
data source
data
article
aggregated list
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.)
Active
Application number
DE212014000220.6U
Other languages
English (en)
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.)
PayPal Inc
Original Assignee
PayPal Inc
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 PayPal Inc filed Critical PayPal Inc
Publication of DE212014000220U1 publication Critical patent/DE212014000220U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

System zum Verwalten einer aggregierten Liste, wobei das System zumindest einen Prozessor umfasst, der konfiguriert ist, Operationen auszführen, welche umfassen: Empfangen, von einem Netzwerk, von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, wobei die Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, wobei die aggregierte Liste mit zumindest einem Benutzer assoziiert ist, wobei der erste Datenquellentyp ein verbundenes Gerät repräsentiert; Verarbeiten, unter Verwendung zumindest eines Prozessors, der Sensordaten basierend auf einem prädiktiven Modellieren, das assoziiert ist mit einem Verbrauch des zumindest einen Artikels, der der aggregierten Liste hinzuzufügen ist von dem ersten Datenquellentyp, um automatisch Lerndaten zu erzeugen, wobei die Lerndaten mit einem zweiten Datenquellentyp assoziiert sind und zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem zweiten Datenquellentyp hinzuzufügen ist; Empfangen, von dem Netzwerk, von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem dritten Datenquellentyp hinzuzufügen ist; Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste hinzugefügt wurde von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp und dem dritten Datenquellentyp.

Description

  • Querverweis auf verwandte Anmeldungen
  • Die vorliegende internationale Anmeldung beansprucht die Priorität der US Patentanmeldung Nr. 14/530,458, eingereicht am 31. Oktober 2014, und der vorläufigen US Patentanmeldung Nr. 61/908,020, eingereicht am 22. November 2013, wobei der gesamte Inhalt jener beiden Anmeldungen hierin durch Bezugnahme in Gänze aufgenommen wird.
  • Technisches Gebiet
  • Diese Anmeldung bezieht sich auf Systeme und Verfahren zum Erstellen von Datenmengen oder Listen, und genauer, ohne dass dies beschränkend wäre, auf Systeme und Verfahren zum dynamischen Erstellen von Datenmengen oder Listen unter Verwendung von Daten von intelligenten Geräten und anderen Datenquellen.
  • Hintergrund
  • Viele Menschen verlassen sich auf Listen, um sie bei ihren Aufgaben zu unterstützen. Dabei ist das manuelle Eingeben wahrscheinlich immer noch der häufigste Weg, wie Menschen Listen erstellen.
  • Elektronische Listen weisen einige Vorteile auf gegenüber manuellen Listen. So mag zum Beispiel in einer Umgebung eine elektronische Einkaufsliste in der Lage sein, eine Schnittstelle für Preisvergleiche oder Produktverfügbarkeit bereitzustellen.
  • Kurze Beschreibung der Zeichnungen
  • Verschiedene der beigefügten Zeichnungen zeigen lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung, und können nicht als deren Bereich begrenzend betrachtet werden.
  • 1A zeigt eine beispielhafte Ausführungsform eines Blockdiagrams auf hoher Ebene eines verbundenen Systems, das verwendet wird, um dynamisch aggregierte Einkaufslisten zu erstellen.
  • 1B zeigt eine beispielhafte Ausführungsform einer Client-Server basierten Netzwerkarchitektur auf einer hohen Ebene, gemäß einer beispielhaften Ausführungsform.
  • 2A zeigt ein Blockdiagramm, das Komponenten zeigt, die in einem Publikationssystem bereitgestellt sind, gemäß einiger Ausführungsformen.
  • 2B zeigt Eingabedaten und Ausgabedaten für ein Lernmaschinen- und Bedingungssystem, gemäß einer beispielhaften Ausführungsform,
  • 2C zeigt Eingabedaten und Ausgabedaten für ein Bestandsverwaltungssystem, gemäß beispielhafter Ausführungsformen,
  • 2D zeigt eine Tabelle von Metadatenfeldern und Werten zum Erstellen aggregierter Einkaufslisten, gemäß beispielhafter Ausführungsformen,
  • 2E zeigt ein System zum Erstellen aggregierter Listen, welches mehrere Datentypen von mehreren Datenquellentypen empfängt, gemäß einer beispielhaften Ausführungsform.
  • 2F zeigt Beispiele von Datenfeldern, die in einer Benutzerschnittstelle (UI) enthalten sein können, welche eine aggregierte Einkaufsliste anzeigt,
  • 2G zeigt Beispiele von Datenfeldern zeigt, die in einer Benutzerschnittstelle enthalten sein können, um einem Benutzer dabei zu helfen, empfohlene Produkte von einer Anzahl von Händlern auszuwählen.
  • 3 zeigt ein System für eine Clientvorrichtung, die eine elektronische Einkaufslistenanwendung zum Ermöglichen von Einkaufstransaktionen mit einem Händlersystem ausführt, gemäß einer beispielhaften Ausführungsform.
  • 4 ist ein Blockdiagramm, das Komponenten der Bestandsverwaltungsanwendung zeigt, gemäß einiger beispielhafter Ausführungsformen.
  • 5A ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum automatischen Empfehlen eines Produkts zum Bestellen basierend auf einer Analyse verschiedener Datentypen von einer Varietät von Datenquellentypen zeigt.
  • 5B bis 5D zeigen Flussdiagramme für verschiedene Ausführungsformen zum dynamischen Erstellen aggregierter Einkaufslisten.
  • 6A bis 6F zeigen beispielhafte Ausführungsformen von UIs zum Anzeigen von Einkaufslisten.
  • 7 zeigt eine beispielhafte mobile Vorrichtung, welche ein mobiles Betriebssystem ausführen kann, gemäß beispielhafter Ausführungsformen.
  • 8 ist ein Blockdiagramm 800, das eine Softwarearchitektur zeigt, die in einer Computervorrichtung oder Maschine verwendet wird, gemäß beispielhafter Ausführungsformen.
  • 9 ist ein Blockdiagramm, das Komponenten einer Maschine zeigt, gemäß einiger beispielhafter Ausführungsformen.
  • Detaillierte Beschreibung
  • Die nachfolgende Beschreibung beinhaltet Systeme, Verfahren, Techniken, Anweisungssequenzen und Computermaschinenprogrammprodukte, welche beispielhafte Ausführungsformen der Offenbarung verkörpern. In der folgenden Beschreibung sind zahlreiche spezifische Details dargelegt, um ein Verständnis verschiedener Ausführungsformen des Gegenstands der Erfindung zu geben. Es wird den Fachleuten jedoch ersichtlich sein, dass Ausführungsformen des Gegenstands der Erfindung ohne diese spezifischen Details verwirklicht werden können. Allgemein werden wohlbekannte Anweisungsinstanzen, Protokolle und Techniken nicht notwendiger Weise im Detail dargestellt.
  • In verschiedenen beispielhaften Ausführungsformen werden Systeme und Verfahren zum Nutzen von Daten von intelligenten Geräten und anderen Datenquellen, um eine aggregierte Liste zu erstellen, beschrieben. In einem Beispiel kann, in einem Publikationssystem, das einen Online-Marktplatz inkorporiert, eine aggregierte Einkaufsliste erstellt und einem Benutzer auf der Clientvorrichtung des Benutzers über einen Webbrowser oder eine Anwendung (App) präsentiert werden, die auf der Clientvorrichtung des Benutzers installiert ist. Die Produkte auf der Einkaufsliste können online zur Abholung in einem Geschäft oder zur Lieferung gekauft werden, oder können in einem Geschäft von Händlern in einem Netzwerk verbundener Händler gekauft werden. Die aggregierte Einkaufsliste beinhalten Produkte, die der aggregierten Einkaufsliste aus mehreren Datenquellentypen hinzugefügt wurden. Beispiele von Datenquellentypen beinhalten verbundene Geräte, Apps, die auf einer Clientvorrichtung, installiert sind, eine Lernmaschine, oder ein Bedingungssystem. Die Daten von jeder dieser Datenquellentypen werden auf intelligente Weise kombiniert, um eine aggregierte Einkaufsliste zu erstellen. Die aggregierte Einkaufsliste ist eine elektronische Einkaufsliste, welche Produktinformationen von einem oder mehreren Händlern in einem Netzwerk von verbundenen Händlern bereitstellt, um dem Benutzer dabei zu helfen, spezifische Produkte zum Kauf auszuwählen. Die Produktinformation kann zum Beispiel Produktbeschreibung, Marke, Verfügbarkeit, Preisvergleiche zwischen passenden Produkten, und Werbeangebote für die passenden Produkte beinhalten. Die empfohlenen Produkte können auch auf einem Profil des Benutzers, Präferenzen und historischen Transaktionsdaten für die Produkte auf den aggregierten Einkaufslisten basieren. Die aggregierte Einkaufsliste kann es einem Benutzer erlauben, online eine Bestellung direkt aus der aggregierten Einkaufsliste zur Abholung in einem Geschäft oder zur Lieferung zu platzieren. Die aggregierte Einkaufsliste kann den Benutzer über Zustellinformation informiert halten, wie den Zustellstatus, und die geschätzte Zustellzeit. Darüber hinaus kann die aggregierten Einkaufsliste von einem Benutzer verwendet werden, während er in einem physischen Geschäft einkauft. Während er in einem physischen Geschäft einkauft, kann die aggregierte Einkaufsliste diejenigen Produkte auf der aggregierten Einkaufsliste zeigen oder hervorheben, die in dem physischen Geschäft verfügbar sind, sowie jegliche Coupons oder Werberabatte, die von diesem physischen Geschäft angeboten werden. Die aggregierte Einkaufsliste kann auch Produkte von der Einkaufsliste, die eingekauft wurden, abhaken, und kann den Benutzer darauf aufmerksam machen, wenn es Produkte auf der Einkaufsliste gibt, die nicht gekauft wurden.
  • In Übereinstimmung mit einer oder mit mehreren Ausführungsformen wird ein Verfahren zum Ausführen einer App auf einer Clientvorrichtung, um dem Benutzer zu assistieren, offenbart. Die Anwendung kann eine Einkaufslistenapp, eine Rezepteapp oder ein anderer Typ von App sein, welche es erlaubt, dass Listen erstellt werden, oder eine bestehende Liste bereitstellt, die von einem oder von mehreren Benutzern modifiziert werden kann. Die App kann von dem Benutzer verwendet werden, um Artikel einer Einkaufsliste hinzuzufügen. Dieselbe oder eine andere App kann von dem Benutzer verwendet werden, um eine aggregierte Einkaufsliste zu betrachten, wobei in der Einkaufsliste Artikel, die von einem Benutzer hinzugefügt werden, kombiniert werden mit Einkaufslistenartikeln, die von verbundenen Geräten hinzugefügt werden, welche proaktiv erkennen können, dass Artikel eingekauft werden müssen basierend auf erkannten Situationen in einer Umgebung, wie einer Heimumgebung oder einer Büroumgebung. Die aggregierte Einkaufsliste kann auch Einkaufslistenartikel beinhalten, die von einer Lernmaschine oder einem Bedingungssystem erstellt wurden, basierend auf benutzerspezifizierten Daten, Sensordaten von verbundenen Geräten und Metadaten.
  • 1A zeigt eine beispielhafte Ausführungsform eines Blockdiagramms auf einer hohen Ebene eines verbundenen Systems, das verwendet wird, um dynamisch aggregierte Einkaufslisten zu erstellen. Das verbundene System 108 beinhaltet eine Heimumgebung 129, welche verbundene Geräte 131 aufweist. Die verbundenen Geräte 131 repräsentieren intelligente Geräte innerhalb der Heimumgebung 129, die über ein Netzwerk 104 mit einem vernetzen System 102 verbunden sind. Die verbundenen Geräte 131 können zum Beispiel in der Lage sein, dem vernetzten System 102 über das Internet Sensordaten bereitzustellen. Für alternative Ausführungsformen mag die Heimumgebung mit einer anderen Art von Umgebung ersetzt werden (wie zum Beispiel eine Büroumgebung, Clubumgebung oder Schulumgebung); wo verbundene Geräte vorhanden sind, um Sensordaten bereitzustellen. 1A zeigt eine Anzahl von Wegen wie Einkaufslistenartikel einer von dem vernetzten System 102 erstellten aggregierten Einkaufsliste hinzugefügt werden können. Die aggregierte Einkaufsliste kann Sensordaten, nicht-Sensordaten, Lerndaten, oder Bedingungsdaten empfangen, um dynamisch eine aggregierte Einkaufsliste aus mehreren Datenquellentypen zu erstellen.
  • Das vernetzte System 102 kann Sensordaten (direkt oder indirekt) von den verbundenen Geräten 131 empfangen. Die verbundenen Geräte 131 beinhalten Sensoren, welche Veränderungen in der Heimumgebung erkennen. In verschiedenen Ausführungsformen beziehen sich die Sensordaten auf einen Verbrauch eines Produkts, oder auf Information, die es den verbundenen Geräten erlaubt, auf den Verbrauch zu schließen. Beispielsweise stellt ein intelligenter Kühlschrank ein verbundenes Gerät 131 dar, das Sensoren wie Kameras und Waagen aufweist. Die Kameras des Kühlschranks können erkennen, dass ein Karton Milch aus dem Kühlschrank entnommen und in den Kühlschrank zurückgestellt wurde. Darüber hinaus bestimmt die Kühlschrankwaage, dass der Milchkarton beinahe leer ist, und nur noch zu einem viertel mit Milch gefüllt. Der intelligente Kühlschrank sendet Information (auch als Sensordaten bezeichnet) an das vernetzte System 102, um Milch auf die aggregierte Einkaufsliste zu setzen.
  • In verschiedenen Ausführungsformen erkennen die Sensoren, wenn ein Lebensmittelartikel, ein Haushaltsartikel oder ein anderer Artikel (kollektiv als „Produkte” bezeichnet) in der Heimumgebung 129 einer Einkaufsliste hinzugefügt werden muss. Die Sensoren können erkennen, wenn Produkte bestellt werden müssen, weil die Produkte verbraucht wurden (oder beinahe verbraucht wurden), ersetzt werden müssen (oder bald ersetzt werden müssen), oder abgelaufen sind (oder bald ablaufen). In verschiedenen Ausführungsformen erzeugen die verbundenen Geräte 131 Sensordaten, die von den verbundenen Geräten 131 über das Netzwerk 104 an das vernetzte System 102 gesendet werden. In beispielhaften Ausführungsformen werden die Sensordaten direkt an das vernetzte System 102 gesendet, ohne dass Benutzer 106a oder 106b involviert wären, bevor diese der aggregierten Einkaufsliste hinzugefügt werden.
  • Die Heimumgebung 129 kann jede beliebige Anzahl von verbundenen Geräten 141 beinhalten. Einige Beispiele von intelligenten Geräten, die als verbundene Geräte 131 bezeichnet werden mögen, wenn sie mit dem Netzwerk 104 verbunden sind, beinhalten Kühlschränke, Speisekammern oder Speisekammerregale, Medizinschränke, Wandschränke, Waschmaschinen, Kaffeemaschinen, Abfalleimer für Windeln, Glühbirnen, Autos oder andere Motorfahrzeuge, Rauchmelder, Sprinkler und verschiedene andere Küchen- oder Haushaltsgeräte. Sobald die Produkte einer Einkaufsliste hinzugefügt werden, mögen diese als ein Einkaufslistenartikel bezeichnet werden.
  • Hierin beschriebene Ausführungsformen können Daten von verbundenen Geräten nutzen, um verschiedene Aufgaben zu automatisieren, zu vereinfachen und zu ermöglichen. In einer beispielhaften Ausführungsform können Drucker automatisch Tintenpatronen bestellen, wenn die Tinte knapp wird, Badezimmer können automatisch Toilettenartikel (zum Beispiel Zahnpaste und Toilettenpapier) bestellen, Kamine können automatisch Holzscheite ordern, Glühbirnen und Leuchten können automatisch Ersatzglühbirnen bestellen, batteriebetriebene Geräte (wie etwa Rauchmelder, Spielzeuge, Blitzlichter) können automatisch Batterien bestellen, Waschmaschinen können automatisch Waschmittel und Weichspüler bestellen, wenn diese zur neige gehen, Kühlschränke können eine Waage und Bilderkennung nutzen, um automatisch nicht vorrätige Artikel zu bestellen (beispielsweise Milch und Eier), und Autos können automatisch Termine für Ölwechsel, Batteriewechsel und Reifenwechsel vereinbaren.
  • In Ausführungsformen können Sensoren in einem Heim, einem Gebäude, einem Auto, einem Rasen, Geräten und so weiter verteilt implementiert sein. Diese Sensoren können miteinander und mit einem Anwendungsserver oder einem Computer kommunikativ gekoppelt sein.
  • Zum Beispiel kann ein Rasensensor oder können mehrere Rasensensoren über den Rasen hinweg eingebettet sein, um Feuchtigkeit zu erfassen. Der Rasensensor kann Feuchtigkeitsdaten an einen Anwendungsserver kommunizieren. Eine Anwendung, die auf dem Anwendungsserver läuft, kann die Rasensensordaten verwenden, um zu bestimmen, dass der Rasen bewässert werden muss. Die Anwendung kann dann mit einem Sprinklersystem kommunizieren, um den Rasen zu bewässern. Viele andere Sensoren, Bedingungen und Variationen können verwendet werden.
  • Das vernetzte System 102 kann Nicht-Sensordaten von einer Einkaufslistenapp 137 empfangen, die in der Cloud-Computerumgebung 135 gehostet wird. Die Nicht-Sensordaten können benutzerspezifizierte Daten repräsentieren. Auch wenn in 1A zwei Benutzer (106a und 106b) gezeigt sind, kann jede beliebige Anzahl von Benutzern mit dem Erstellen der aggregierten Einkaufsliste assoziiert sein. Zum Beispiel kann eine vierköpfige Familie es vier Benutzern (beispielsweise Mutter, Vater und zwei Kinder) erlauben, Artikel zu der aggregierten Einkaufsliste der Familie hinzuzufügen, indem die vier Familienmitglieder mittels ihrer Konten auf der Einkaufslistenapp assoziiert werden.
  • Die Benutzer 106a oder 106b können mittels einer App, die auf der Clientvorrichtung 110a bzw. 110b installiert ist, oder über einer Webbrowseranwendung, die auf den Clientvorrichtungen 110a und 110b installiert ist, auf die Einkaufslistenapp 137 zugreifen. Zum Beispiel kann ein Benutzer 106a oder ein Benutzer 106b Artikel zu einer Einkaufsliste hinzufügen, indem er die Einkaufslistenapp 132 bzw. die Einkaufslistenapp 133 benutzt. Die Einkaufslistenapp 132 kann auf der Clientvorrichtung 110a residieren, und die Einkaufslistenapp 133 kann auf der Clientvorrichtung 110b residieren und die Möglichkeit zum Zugriff auf die Einkaufslistenapp 137 in der Cloud-Computerumgebung 135 bereitstellen, wo Daten für die Einkaufslisten (oder eine Kopie der Einkaufslisten), die von den Benutzern 106a und 106b erstellt wurden, gespeichert sein können. Daten (wie beispielsweise die Nicht-Sensordaten), die in der Cloud-Computerumgebung 135 gespeichert sind, können von dem vernetzten System 102 abgerufen werden, um die aggregierte Einkaufsliste zu erstellen. Es sei bemerkt, dass die Nicht-Sensordaten nicht auf eine benutzerspezifizierte Eingabe in eine Einkaufslistenapp beschränkt sind. Viele andere Arten von Apps können verwendet werden, beispielsweise Rezepteapps oder Notizapps wie Evernote, wo Listen erstellt oder modifiziert werden können.
  • Ein dynamisches Listensystem 146 beinhaltet eine Lernmaschine 141 zum Erstellen von Lerndaten, ein Bedingungssystem 145 zum Erstellen von Bedingungsdaten, und ein Bestandsverwaltungssystem 143 zum Sammeln, Erstellen, Nachverfolgen und Speichern von Metadaten für den Produktbestand innerhalb der Heimumgebung 129. Die verbundenen Geräte 131 können auch ihre Sensoren verwenden, um Information an das Bestandsverwaltungssystem 143 und die Lernmaschine 141 weiterzuleiten, um die aggregierte Einkaufsliste zu erstellen. Das System 147 zum Erstellen der aggregierten Liste innerhalb des dynamischen Listensystems 146 empfängt Lerndaten von der Lernmaschine 141, Bedingungsdaten von dem Bedingungssystem 145, Metadaten von dem Bestandsverwaltungssystem 143 und Händlerproduktdaten (einschließlich Produktbestandsdaten) und andere Daten von einem Händlerbestandsverwaltungssystem 150, um die aggregierte Einkaufsliste zu erstellen. Ein Beispiel einer aggregierten Einkaufsliste, welche Daten von mehreren Datenquellentypen enthält, welche die Sensordaten, Nicht-Sensordaten, oder vom System erzeugte Daten (zum Beispiel Lerndaten oder Bedingungsdaten) enthält, ist in 2F. gezeigt. Für die in 1A gezeigte Ausführungsform können Sensor- und Nicht-Sensordaten 127a in einer Datenbank 126a gespeichert werden, Lern- und Bedingungsdaten 127b können in einer Datenbank 126b gespeichert werden, Metadaten 127c können in der Datenbank 126c gespeichert werden, Händlerproduktdaten 127d können in einer Datenbank 126d gespeichert werden, und andere Daten 127e können in einer Datenbank 126e gespeichert werden.
  • Mit Bezug auf 1B ist eine beispielhafte Ausführungsform einer Client-Server basierten Netzwerkarchitektur 105 auf einer hohen Ebene gezeigt. Das vernetzte System 162 stellt serverseitige Funktionalität über ein Netzwerk 104 (zum Beispiel das Internet oder ein Weitbereichsnetzwerk (WAN)) an eine Clientvorrichtung 110 bereit. Ein Benutzer (zum Beispiel der Benutzer 106) kann mit dem vernetzten System 102 mittels der Clientvorrichtung 110 interagieren. 1B zeigt zum Beispiel einen Webclient 112 (zum Beispiel einen Browser, wie etwa den Internet Explorer® Browser, der von Microsoft® Corporation aus Redmond, Bundesstaat Washington entwickelt wurde), Client-Anwendung(en) 114, und einen programmtechnischen Client 116 die auf der Clientvorrichtung 110 ausgeführt werden. Die Clientvorrichtung 110 kann den Webclient 112, die Client-Anwendung(en) 114, und den programmtechnischen Client 116 alleine, zusammen, oder in jeder geeigneten Kombination enthalten. Auch wenn die 1B eine Clientvorrichtung 110 zeigt, können in der Netzwerkarchitektur 100 mehrere Clientvorrichtungen enthalten sein.
  • Die Clientvorrichtung 110 kann eine Computervorrichtung umfassen, welche zumindest über eine Anzeige und Kommunikationsfähigkeiten verfügt, welche über das Netzwerk 104 zugriff auf das vernetzte System 102 erlauben. Die Clientvorrichtung 110 kann, ohne hierauf beschränkt zu sein, eine entfernte Vorrichtung, einen Arbeitsplatzrechner, einen Computer, einen Allzweckcomputer, ein Internetgerät, eine handgehaltene Vorrichtung, eine drahtlose Vorrichtung, eine tragbare Vorrichtung, einen tragbaren Computer, ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), ein Smartphone, ein Tablet, ein Ultrabook, ein Netbook, ein Laptop, einen Desktopcomputer, ein Mehrprozessorsystem, ein mikroprozessorbasiertes oder programmierbares Unterhaltungselektronikgerät, Spielekonsolen, Set-Top-Boxen, ein vernetzter PC, ein Minicomputer und ähnliches sein. In weiteren beispielhaften Ausführungsformen kann die Clientvorrichtung 110 einen oder mehrere umfassen von einem Berührungsbildschirm, einem Beschleunigungssensor, einem Gyroskop, einem biometrischen Sensor, einer Kamera, einem Mikrofon, einer GPS Vorrichtung und ähnliche. In einigen Ausführungsformen kann die Clientvorrichtung 110 in eines der verbundenen Geräte 131 integriert sein.
  • Die Clientvorrichtung 110 kann über eine drahtgebundene oder eine drahtlose Verbindung mit dem Netzwerk 104 kommunizieren. Zum Beispiel kann ein oder können mehrere Abschnitte des Netzwerks 104 ein Ad–hoc Netzwerk, ein Intranet, ein Extranet, ein virtuelles privates Netzwerk (VPN), ein lokales Netz (LAN), ein drahtloses LAN (WLAN), ein Weitbereichsnetz (WAN), ein drahtloses WAN (WWAN), ein Stadtbereichsnetz (MAN), ein Teil des Internets, ein Teil des öffentlichen Telefonnetzwerks („Public Switched Telephone Netzwerk”, PSTN), ein Mobiltelefonnetz, ein drahtloses Netzwerk, ein WLan bzw. Wireless Fidelity (Wi-Fi®) Netzwerk, ein Worldwide Interoperability for Microwave Access (WiMax) Netzwerk, ein anderer Typ von Netzwerk oder eine Kombination von zweien oder mehreren solcher Netzwerke sein.
  • Die Clientvorrichtung 110 kann eine oder mehrere Anwendungen (auch als „Apps” bezeichnet) beinhalten, wie beispielsweise, ohne hierauf beschränkt zu sein, Webbrowser, Buchleseapps (die eingerichtet sind, um elektronische Bücher zu lesen), Medienapps (die eingerichtet sind, um verschiedene Medienformate zu präsentieren, einschließlich Audio und Video), Fitnessapps, Apps zur biometrischen Überwachung, Nachrichtenapps, Emailapps, Apps für elektronische Handelsseiten (auch als „Marktplatzapps” bezeichnet), und so weiter. Die Clientanwendung(en) 114 können verschiedene Komponenten enthalten, die eingerichtet sind, dem Benutzer Information zu präsentieren und mit dem vernetzten System 102 zu kommunizieren. In einigen Ausführungsformen, wenn die elektronische Handelsseitenanwendung in der Clientvorrichtung 110 enthalten ist, dann kann diese Anwendung konfiguriert sein, lokal die Benutzerschnittstelle und zumindest einige der Funktionalitäten bereitzustellen, wobei die Anwendung konfiguriert ist, mit dem vernetzten System 102 zu kommunizieren, falls erforderlich, für Daten und Verarbeitungsfähigkeiten, die nicht lokal verfügbar sind (zum Beispiel Zugriff auf eine Datenbank von zum Verkauf verfügbaren Artikeln, um einen Benutzer zu authentisieren, um eine Zahlungsart zu verifizieren). Umgekehrt kann, wenn die elektronische Handelsseitenanwendung nicht in der Clientvorrichtung 110 enthalten ist, die Clientvorrichtung 110 ihren Webbrowser verwenden, um auf die elektronische Handelsseite (oder einer Variante davon) zuzugreifen, die auf dem vernetzten System 102 gehostet wird.
  • In verschiedenen beispielhaften Ausführungsformen können die Benutzer (zum Beispiel der Benutzer 106) eine Person, eine Maschine oder andere Mittel des Interagierens mit der Clientvorrichtung 110 sein. In einigen beispielhaften Ausführungsformen mögen die Benutzer nicht Teil der Netzwerkarchitektur 100 sein, sondern mögen mittels der Clientvorrichtung 110 oder anderer Mittel mit der Netzwerkarchitektur 100 interagieren. Zum Beispiel können die Benutzer mit einer Clientvorrichtung 110 interagieren, die eingerichtet sein kann, von den Benutzern eingegebene Informationen zu empfangen (zum Beispiel unter Verwendung einer Berührungsbildschirmeingabe oder einer alphanumerischen Eingabe) und diesen Informationen zu präsentieren (zum Beispiel mittels einer graphischen Darstellung auf einer Vorrichtungsanzeige). In diesem Fall können die Benutzer zum Beispiel der Clientvorrichtung 110 Information eingeben, die über das Netzwerk 104 an das vernetzte System 102 kommuniziert wird. Das vernetzte System 102 kann, in Antwort auf die empfangene Eingabeinformation, über das Netzwerk 102 Information an die Clientvorrichtung 110 kommunizieren, die den Benutzern zu präsentieren ist. Auf diese Weise kann der Benutzer unter Verwendung der Clientvorrichtung 110 mit dem vernetzten System 102 interagieren.
  • Ein Anwendungsprogrammschnittstellen-(„Application Program Interface”, API)Server 120 und ein Webserver 122 können gekoppelt sein mit, und programmtechnische und Webschnittstellen bereitstellen für, einen oder mehrere Anwendungsserver 140. Die Anwendungsserver 140 können ein oder mehrere Publikationssystem(e) 142, Bezahlungssystem(e) 144 und ein dynamisches Listensystem 146 hosten, wobei jedes von diesen ein oder mehrere Module oder Anwendungen umfassen kann, und wobei jedes von diesen als Hardware, Software, Firmware oder jede Kombination davon verkörpert sein kann. Der bzw. die Anwendungsserver 140 sind wiederum als mit einem oder mehreren Datenbankserver(n) 124 gekoppelt dargestellt, welche einen Zugriff auf ein oder mehrere Informationsspeicherarchive oder Datenbank(en) 126 ermöglichen. In einer beispielhaften Ausführungsform ist bzw. sind die Datenbank(en) 126 Speichervorrichtungen, welche Information speichern, die an das bzw. die Publikationssystem(e) 142 zu versenden ist (zum Beispiel Publikationen oder Listings). Die Datenbank(en) 126 kann bzw. können in Übereinstimmung mit einigen beispielhaften Ausführungsformen auch digitale Güter Information speichern. In einer beispielhaften Ausführungsform beinhaltet bzw. beinhalten die Datenbank(en) 126 Datenbanken 126a bis 126e.
  • Weiter ist eine Fremdanwendung 132, die auf einem Drittserver 130 ausgeführt wird, dargestellt, welche über die von dem API Server 120 bereitgestellte programmtechnische Schnittstelle einen programmtechnischen Zugriff. auf das vernetzte System 102 hat. Zum Beispiel kann die Fremdanwendung 132, welche Information nützt, die von dem vernetzten System 102 abgerufen wurde, ein oder mehrere Merkmale oder Funktionen auf einer Webseite unterstützen, die von dem Dritten gehostet wird. Die Drittwebseite kann zum Beispiel eine oder mehrere Promotions-, Marktplatz- oder Zahlungsfunktionen bereitstellen, die von den relevanten Anwendungen des vernetzten Systems 102 unterstützt werden.
  • Das bzw. die Publikationssystem(e) 142 können den Benutzern, die auf das vernetzte System 102 zugreifen, eine Anzahl von Publikationsfunktionen und – diensten bereitstellen. Das bzw. die Zahlungssystem(e) 144 können auf ähnliche Weise eine Anzahl von Funktionen bereitstellen, um Zahlungen und Transaktionen auszuführen oder zu ermöglichen. Während in der 1B sowohl das bzw. die Publikationssystem(e) 142 als auch das bzw. die Zahlungssystem(e) 144 dargestellt, einen Teil des vernetzten Systems 102 zu bilden, wird verstanden werden, dass in alternativen Ausführungsformen jedes System 142 und 144 einen Teil eines Zahlungsdienstes bilden kann, der separat und getrennt von dem vernetzten System 102 ist. In einigen beispielhaften Ausführungsformen kann das bzw. können die Zahlungssystem(e) 144 einen Teil des bzw. der Publikationssystem(e) 142 bilden.
  • Das dynamische Listensystem 146 kann eine Funktionalität bereitstellen, um eine aggregierte Einkaufsliste zu erstellen basierend auf mehreren Datentypen und mehreren Datenquellentypen. So können zum Beispiel Nicht-Sensordaten von Anwendungen, die in einer Cloud-Computerumgebung oder innerhalb des vernetzten Systems 102 gespeichert sind, Artikel bereitstellen, die der aggregierten Einkaufsliste hinzuzufügen sind. Ein Beispiel einer Anwendung ist die Evernote App, bei der es sich um eine multifunktionelle App handelt, die verwendet werden kann, um Notizen oder Listen zu erstellen, die als eine Einkaufsliste verwendet werden. Zusätzlich können Sensordaten von verbundenen Geräten 131 innerhalb einer Umgebung Veränderungen in einer Umgebung erkennen und Artikel bereitstellen, die der aggregierten Einkaufsliste hinzuzufügen sind. Weiter können systemgenerierte Daten (zum Beispiel von einer Lernmaschine 141 oder einem Bedingungssystem 145) Artikel bereitstellen, die der aggregierten Einkaufsliste hinzuzufügen sind. Die Metadaten, die in dem Bestandsverwaltungssystem 143 gesammelt, erstellt, nachverfolgt und gespeichert werden, und das System 147 zum Erstellen einer aggregierten Liste werden verwendet, um die aggregierte Einkaufsliste zu erstellen. In einer Ausführungsform kann das Bestandsverwaltungssystem 143 mit dem System 147 zum Erstellen einer aggregierten Liste integriert sein. In einigen beispielhaften Ausführungsformen kann das System 146 zum Erstellen einer aggregierten Liste mit der Clientvorrichtung 110, dem bzw. den Drittserver(n) 130, dem bzw. den Publikationssystem(en) 142 (um zum Beispiel Bestands- und Produktinformation abzurufen) und dem bzw. den Zahlungssystem(en) 144 (zum Beispiel um einen Einkaufslistenartikel zu erwerben) kommunizieren. In einer alternativen Ausführungsform kann das System 147 zum Erstellen einer aggregierten Liste ein Teil des bzw. der Publikationssystem(e) 142 sein. In einigen Ausführungsformen kann das Händlerbestandsverwaltungssystem 150 in dem bzw. den Publikationssystem(en) 142 oder dem dynamischen Listensystem 146 enthalten sein.
  • Weiter ist, während die Client-Server basierte Netzwerkarchitektur 100, die in 1B gezeigt ist, eine Client-Server Architektur verwendet, der vorliegende erfinderische Gegenstand natürlich nicht auf eine derartige Architektur beschränkt, und kann zum Beispiel gleichermaßen auf ein System mit einer verteilten oder Peer-zu-Peer Architektur angewandt werden. Die verschiedenen Systeme des bzw. der Anwendungsserver 140 (zum Beispiel das bzw. die Publikationssystem(e) 142 und das bzw. die Zahlungssystem(e) 144) können auch als alleinstehende Softwareprogramme implementiert sein, die nicht notwendiger Weise Netzwerkfähigkeiten aufweisen müssen.
  • Der Webclient 112 kann über die von dem Webserver 122 unterstützte Webschnittstelle auf die verschiedenen Systeme des vernetzten Systems 102 (zum Beispiel das bzw. die Publikationssystem(e) 142) zugreifen. Auf ähnliche Weise kann der programmtechnische Client 116 und die Clientanwendung(en) 114 über die von dem API Server 120 bereitgestellte programmtechnische Schnittstelle auf die verschiedenen Dienste und Funktionen zugreifen, die von dem vernetzten System 102 bereitgestellt werden. Der programmtechnische Client 116 kann zum Beispiel eine Verkäuferanwendung sein (zum Beispiel die von eBay® Inc., San Jose, Kalifornien, entwickelte Turbo Lister Anwendung), um Verkäufern die Möglichkeit zu geben, Listungen auf dem vernetzten System 102 offline zu erstellen und zu verwalten, und um Stapelmoduskommunikationen zwischen dem programmtechnischen Client 116 und dem vernetzten System 102 auszuführen.
  • 2A zeigt ein Blockdiagramm, welches Komponenten zeigt, die in dem bzw. den Publikationssystem(en) 142 bereitgestellt ist bzw. sind, gemäß einiger Ausführungsformen. In verschiedenen beispielhaften Ausführungsformen kann das bzw. können die Publikationssystem(e) 142 ein Marktplatzsystem beinhalten, um eine Marktplatzfunktionalität bereitzustellen (zum Beispiel um den Erwerb von Artikeln, die mit Artikellistungen auf einer elektronischen Handelswebseite oder einer aggregierten Einkaufsliste assoziiert sind, zu ermöglichen). Das vernetzte System 102 kann auf dedizierten oder geteilten Servermaschinen, die kommunikativ gekoppelt sind, um Kommunikationen zwischen Servermaschinen zu ermöglichen, gehostet sein. Die Komponenten selbst sind kommunikativ miteinander und mit verschiedenen Datenquellen gekoppelt (zum Beispiel über geeignete Schnittstellen), um es zu ermöglichen, dass Informationen zwischen den Anwendungen ausgetauscht werden, oder um es den Anwendungen zu ermöglichen, gemeinsame Daten zu teilen und auf diese zuzugreifen. Weiter können diese Komponenten über den bzw. die Datenbankserver 124 auf eine oder auf mehrere Datenbank(en) 126 zugreifen.
  • Das vernetzte System 102 kann eine Anzahl von Mechanismen zum Publizieren, Listen und Festsetzen von Preisen bereitstellen, wodurch ein Verkäufer oder Händler Waren oder Dienstleistungen zum Verkauf oder Tausch Listen (oder Information betreffend dieser veröffentlichen) kann, ein Käufer Interesse an solchen Waren oder Dienstleistungen ausdrücken kann, oder einen Wunsch, diese zu kaufen oder zu tauschen, und es kann betreffend der Waren oder Dienstleistungen eine Transaktion (wie ein Handelsgeschäft) abgeschlossen werden. Zu diesem Zweck kann das vernetzte System 102 ein Publikationswerk 160 und ein Verkaufswerk 162 umfassen. Das Publikationswerk 160 kann Information auf dem vernetzten System 102 publizieren, wie Artikellistungen oder Produktbeschreibungsseiten. Das Verkaufswerk 162 kann weiter eine oder mehrere Schnäppchenwerke aufweisen, welche vom Händler erstellte Angebote für Produkte und Dienstleistungen unterstützen.
  • Ein Listungswerk 164 erlaubt es einem Verkäufer, auf bequeme Weise Listungen von Artikeln oder Autoren zu erstellen, um Publikationen zu erstellen. In einer Ausführungsform beziehen sich die Listungen auf Waren oder Dienstleistungen, die ein Händler über das vernetzte System 102 zu handeln wünscht. In einigen Ausführungsformen können die Listungen ein Angebot, ein Schnäppchen, ein Coupon oder ein Nachlass für die Ware oder die Dienstleistung sein. Jede Ware oder Dienstleistung ist mit einer bestimmten Kategorie assoziiert. Das Listungswerk 164 kann Listungsdaten empfangen, wie Titel, Beschreibung und Namen/Wert Paare. Weiter kann jede Listung für eine Ware oder Dienstleistung mit einem Artikelindikator assoziiert sein. In anderen Ausführungsformen mag ein Benutzer eine Listung erstellen, bei der es sich um eine Werbeanzeige oder eine andere Form von Informationspublikation handelt. Die Listungsinformation kann dann auf einer oder auf mehreren Speichervorrichtungen (zum Beispiel Datenbank(en) 126) gespeichert werden, die an das vernetzte System 102 gekoppelt sind. Listungen können auch Produktbeschreibungsseiten umfassen, welche ein Produkt und mit dem Produkt assoziierte Information darstellen (zum Beispiel Produkttitel, Spezifikationen und Reviews). In einigen Ausführungsformen kann die Produktbeschreibungsseite eine Aggregation von Artikellistungen beinhalten, die dem auf der Produktbeschreibungsseite beschriebenen Produkt entsprechen. In einigen Ausführungsformen erlaubt es das Listungswerk 164 einem Verkäufer, von den mobilen Geräten des Verkäufers aus Angebote zu erstellen. Die erstellten Angebote können auf das vernetzte System 102 zum Speichern und Nachverfolgen hochgeladen werden.
  • Das Durchsuchen des vernetzten Systems 102 wird durch eine Suchmaschine 166 ermöglicht. Die Suchmaschine 166 ermöglicht zum Beispiel Schlüsselwortabfragen von Listungen, die über das vernetzte System 102 publiziert wurden. In beispielhaften Ausführungsformen empfängt die Suchmaschine 166 die Schlüsselwortabfragen von einer Vorrichtung eines Benutzers und führt eine Durchsicht der Speichervorrichtung durch, welche die Listungsinformation speichert. Die Durchsicht wird die Zusammenstellung einer Treffermenge von Listungen erlauben, die sortiert sein mag und der Clientvorrichtung 110 des Benutzers zurückgeliefert werden kann. Die Suchmaschine 116 kann die Abfrage (zum Beispiel Schlüsselworte) aufzeichnen, sowie alle nachfolgenden Benutzeraktionen und Benutzerverhalten (zum Beispiel Navigationen, Auswahlen, oder Durchklicken).
  • Die Suchmaschine 166 kann auch eine Suche basierend auf einem Ort des Benutzers ausführen. Ein Benutzer mag auf die Suchmaschine 166 über eine mobile Vorrichtung zugreifen und eine Suchabfrage erstellen. Unter Verwendung der Suchabfrage und dem Ort des Benutzers kann die Suchmaschine 166 dem Benutzer relevante Suchergebnisse für Produkte, Dienstleistungen, Angebote, Auktionen und so weiter zurückliefern. Die Suchmaschine 166 kann relevante Suchergebnisse sowohl in einer Listenform als auch graphisch auf einer Karte identifizieren. Die Auswahl eines graphischen Indikators auf der Karte mag zusätzliche Details bezüglich dem ausgewählten Suchergebnis bereitstellen. In einigen Ausführungsformen kann der Benutzer, als Teil der Suchabfrage, einen Radius oder eine Entfernung von dem gegenwärtigen Ort des Benutzers spezifizieren, um Suchergebnisse zu beschränken.
  • In einem weiteren Beispiel erlaubt es ein Navigationswerk 168 Benutzern, durch verschiedene Kategorien, Kataloge oder Bestandsdatenstrukturen, gemäß welcher Listungen innerhalb des vernetzten Systems 102 klassifiziert sein können, zu navigieren. Zum Beispiel erlaubt es das Navigationswerk 168 einem Benutzer, sukzessive einen Kategorienbaum hinunter zu navigieren, der eine Hierarchie von Kategorien aufweist (zum Beispiel die Kategorienbaumstruktur), bis eine bestimmte Menge von Listungen erreicht wird. Verschiedene andere Navigationsanwendungen innerhalb des Navigationswerks 168 können bereitgestellt sein, um die Such- und Browseranwendungen zu ergänzen. Das Navigationswerk 168 kann die verschiedenen Benutzeraktionen (zum Beispiel Klicks) aufzeichnen, die von dem Benutzer ausgeführt werden, um den Kategorienbaum hinunter zu navigieren.
  • In einigen beispielhaften Ausführungsformen kann es ein Personalisierungswerk 170 den Benutzern des vernetzten Systems 102 erlauben, verschiedene Aspekte ihrer Interaktionen mit dem vernetzten System 102 zu personalisieren. Zum Beispiel können die Benutzer Personalisierungseinstellungen definieren, bereitstellen oder anderweitig kommunizieren, welche das Personalisierungswerk 170 verwenden kann, um Interaktionen mit dem vernetzten System 102 zu bestimmen. In weiteren beispielhaften Ausführungsformen kann das Personalisierungswerk 170 automatisch Personalisierungseinstellungen bestimmen und Interaktionen basierend auf den automatisch bestimmten Einstellungen personalisieren. Beispielsweise kann das Personalisierungswerk 170 eine Muttersprache des Benutzers bestimmen und automatisch Information in der Muttersprache präsentieren.
  • 2B zeigt Eingabedaten und Ausgabedaten für eine Lernmaschine und ein Bedingungssystem gemäß einer beispielhaften Ausführungsform. 2C zeigt Eingabedaten und Ausgabedaten für ein Bestandsverwaltungssystem, gemäß einer beispielhaften Ausführungsform. Wie in 1A gezeigt sind die Lernmaschine 141, das Bedingungssystem 145 und das Bestandsverwaltungssystem 143 Komponenten in dem dynamischen Listensystem 146. Wie in 2B gezeigt, werden Sensordaten 141a, Nicht-Sensordaten 141b, und Metadaten 141c der Lernmaschine 141 als Eingaben bereitgestellt. Die Lernmaschine 141 erzeugt Lerndaten 141d.
  • Die Lerndaten 141d repräsentieren Daten, die gefolgert werden basierend auf prädiktiver Modellierung bezüglich wann ein Produkt bestellt werden muss. Wenn zum Beispiel Milch mit einer gewissen Häufigkeit auf der aggregierten Einkaufsliste erscheint, dann wird prädiktive Modellierung verwendet, um Milch mit derselben Häufigkeit (zum Beispiel alle 5 Tage) der aggregierten Einkaufsliste hinzuzufügen. Die Häufigkeit, mit der Milch auf der aggregierten Einkaufsliste erscheint, kann von dem Bestandsverwaltungssystem 143 gesammelt und als Metadaten 141c gespeichert werden. Zusätzlich können auch Kühlschranksensoren beobachten, mit welcher Rate der Milchbestand des Benutzers abnimmt, um die Lernmaschine 141 mit Sensordaten versehen, welche anzeigen, dass nur noch ein Drittel der Milch in dem Milchkarton übrig ist, so dass die Lernmaschine 141 die verbleibende Zeit schätzen kann, bis Milch der Einkaufsliste hinzugefügt und bestellt werden muss. Zusätzlich kann die Lernmaschine 141 Nicht-Sensordaten empfangen, welche einen von dem Benutzer bezeichneten Artikel repräsentieren, der einer Einkaufslistenapp auf der Clientvorrichtung 110a hinzuzufügen ist. In diesem Beispiel hat der Benutzer eine Gallone bzw. ca. 4 Liter Bio-Vollmilch hinzugefügt, die der von der Einkaufslistenapp verwalteten Liste hinzuzufügen ist. Die Lernmaschine 141 empfängt diese Nicht-Sensordaten 141b und bestimmt, dass die Sensordaten 141a und die Nicht-Sensordaten 141b einen duplikaten Einkaufsartikel anzeigen, so dass nur eine Gallone Bio-Vollmilch der aggregierten Einkaufsliste hinzugefügt wird, anstatt zwei Gallonen Bio-Vollmilch. Die Sensordaten 141a und die Nicht-Sensordaten 141b beinhalten typischer Weise hinreichende Produktidentifikationsinformation, um das zu bestellende Produkt zu identifizieren. Zum Beispiel kann der Sensor in einem verbundenen Gerät 131 eine Kamera beinhalten, welche die Artikelnummer („stock keeping unit”, SKU, Nummer) des zu bestellenden Produkts erfasst und die Produktidentifikationsinformation als Teil der Sensordaten 141a bereitstellt. Die Produktidentifikationsnummer kann verwendet werden, um den Einkaufslistenartikel mit dem von Händlern in einem Netzwerk von verbundenen Händlern verfügbaren Bestand abzugleichen. Die Treffer können exakte Treffer, ähnliche Treffer oder generische Treffer sein.
  • Das Bedingungssystem 145 empfängt Bedingungskriterien 145a, Bedingungseingabedaten 145b und Metadaten 141c als Eingabe. Das Bedingungssystem 145 empfängt auch Bedingungseingabedaten, die von der Lernmaschine 145d erzeugt wurden. Das Bedingungssystem 145 erzeugt Bedingungsdaten 145c. In einigen Ausführungsformen überstimmt das Bedingungssystem 145 Lerndaten 141d, die von der Lernmaschine 141 erzeugt wurden, Zum Beispiel ist ein Bedingungskriterium, dass während des Sommers, wenn die Temperatur über 90°F bzw. über 32°C ist, doppelt soviel Wasser und Limonade bestellt wird, wie durch die Lerndaten 141d spezifiziert ist. Die Bedingungskriterien 145a können sich in einigen Ausführungsformen auf die Jahreszeit beziehen (zum Beispiel Kalenderjahreszeiten, Fußballsaison, Ferien oder Schuljahr), Wetter oder Reisepläne (zum Beispiel Vorbereitung für einen Campingausflug oder eine Abwesenheit von der Stadt).
  • Das Bestandsverwaltungssystem 143 sammelt, erzeugt und verfolgt Metadaten für Artikel in einem Haus oder anderen Umgebungen nach, um dabei zu helfen, den Bestand zu verwalten. Das Bestandsverwaltungssystem 143 sammelt Sensordaten 141a, Nicht-Sensordaten 141b, Bedingungsdaten 145c, Lerndaten 141d und andere Daten 143a aus verschiedenen Quellen. Die Metadaten werden in einer oder in mehreren Tabellen in zumindest einer Datenbank gespeichert, zum Beispiel die Datenbank 126c. Ein Beispiel von Metadatenfeldern, die von dem Bestandsverwaltungssystem 143 nachverfolgt werden, ist in 2D dargestellt. Die in 2D gezeigte Tabelle 180 enthält ein Metadatennamenfeld 181 und ein Metadatenwertfeld 182. Verschiedene andere Metadatenfelder, die nicht in 2D gezeigt sind, können von dem Bestandsverwaltungssystem 143 gesammelt, nachverfolgt und gespeichert werden.
  • 2E zeigt ein System zum Erstellen aggregierter Listen, das mehrere Datentypen von mehreren Datenquellentypen empfängt, gemäß einer beispielhaften Ausführungsform. Das System 147 zum Erstellen aggregierter Listen kombiniert mehrere Datentypen, die von mehreren Datenquellen empfangen werden, in eine aggregierte Einkaufsliste zur Präsentation für den Benutzer 106 über eine Clientvorrichtung 110. Die dem Benutzer 106 präsentierte aggregierte Einkaufsliste mag den Datenquellentyp und die Datenquelle darstellen, um dem Benutzer beim Treffen von Entscheidungen zu helfen, ob die Artikel bestellt werden sollen, zum Beispiel Online mit oder ohne Lieferservice, oder ob die Artikel in physischen Geschäften besorgt werden sollen, die diese im Bestand haben.
  • Ein Beispiel von Datenfeldern, die in einer Benutzerschnittstelle enthalten sein können, welche eine aggregierte Einkaufsliste anzeigt, ist in der 2F gezeigt. Die aggregierte Einkaufsliste 171, die in 2F gezeigt ist, enthält die folgenden Felder: Datenquellentyp 172, Datenquellenname 173, Artikel 174, Beschreibung oder Marke 175 und Menge 176. Andere Beispiele einer aggregierten Einkaufsliste können, wenn verglichen mit der aggregierten Einkaufsliste 171, zusätzliche Felder, modifizierte Felder oder gelöschte Felder aufweisen. Die aggregierte Einkaufsliste enthält Artikel, die von den Benutzern 106a und 106b, den verbundenen Geräten 131 und durch ein System, wie das dynamische Listensystem 146 oder Komponenten in dem dynamischen Listensystem 146 hinzugefügt wurden. Mit Bezug auf 2F repräsentiert der Datenquellentyp 172 ein Feld, das die Quelle der Daten bezeichnet. Die Datenquellentypen 172, die spezifiziert sind als das verbundene Gerät 1, das verbundene Gerät 2, das verbundene Gerät 3 und das verbundene Gerät 4, zeigen an, dass die verbundenen Geräte 131 der Datenquellentyp ist und Sensordaten dem dynamischen Listensystem 146 bereitgestellt werden. Der Datenquellentyp 172, der als System spezifiziert ist, zeigt an, dass der Datenquellentyp von der Lernmaschine 141 oder der Bedingungssystem 145 ist und repräsentiert vom System erzeugte Daten. Die Daten, welche von der Lernmaschine 141 erzeugt werden, werden als Lerndaten bezeichnet (zum Beispiel Lerndaten 141d), und die Daten, welche von dem Bedingungssystem 145 erzeugt werden, werden als Bedingungsdaten bezeichnet (zum Beispiel Bedingungsdaten 145c). Die Datenquellentypen 172, welche als die Einkaufslistenapp und die Rezepteapp spezifiziert sind, zeigen an, dass der Datenquellentyp von einer App ist, welche von dem Benutzer 106 benutzt wird. Zum Beispiel fügt der Benutzer Artikel, die zu bestellen oder einzukaufen sind, von einer Einkaufslistenapp hinzu, oder der Benutzer wählt ein Rezept aus und das Bestandsverwaltungssystem 143 bestimmt, welche Artikel bestellt werden müssen basierend auf dem Bestand in der Umgebung (zum Beispiel Heimumgebung), Das System zum Erstellen aggregierter Listen 147 erstellt die aggregierte Einkaufsliste basierend auf verschiedenen Datentypen, die von den verschiedenen Datenquellentypen empfangen werden. Die Daten, die von dem System zum Erstellen aggregierter Listen 147 empfangen werden, beinhalten Sensordaten 141a, Nicht-Sensordaten 141b, Metadaten 141c, andere Daten 143a, Lerndaten 141d und Bedingungsdaten 145c. Mit Bezug zurück zur 2E beinhaltet das Händlersystem 150, in einer beispielhaften Ausführungsform, ein Händlerbestandsmodul 151, ein Produktempfehlungsmodul 152 und ein Werbeanzeigenerzeugungsmodul 153. Das Händlerbestandsmodul 151 stellt dem System zum Erstellen aggregierter Listen 147 Händlerbestandsdaten 155 bereit. Das Produktempfehlungsmodul 152 stellt dem System zum Erstellen aggregierter Listen Empfehlungsdaten 156 bereit, und das Werbeanzeigenerzeugungsmodul 153 stellt dem System zum Erstellen aggregierter Listen 147 Werbeanzeigendaten 157 bereit. In einigen Ausführungsformen empfängt das Händlersystem 150 eine Produkt-ID 154, die von den verbundenen Geräten 131 bereitgestellt werden und in den Sensordaten 141a enthalten sein kann. In anderen Ausführungsformen kann die Produkt-ID 154 aus anderen Quellen bereitgestellt werden, wie etwa dem Benutzer. Die Produkt-ID 154 kann die Artikelnummer für die Artikel darstellen, welche dem System zum Erstellen aggregierter Listen 147 hinzuzufügen ist. Die Artikelnummer kann für verschiedene Händler unterschiedlich sein, und mag eine gewisse Verarbeitung erfordern, um die empfange Artikelnummer mit Produkten abzugleichen, die von den verschiedenen Händlern verfügbar sind. Sobald das Produkt, das der aggregierten Einkaufsliste hinzuzufügen ist, identifiziert ist, sei es durch einen exakten Treffer, einen ähnlichen Treffer oder einen generischen Treffer, kann das Händlersystem 150 den von den Händlern, die mit dem Händlersystem 150 assoziiert sind, verfügbaren Bestand identifizieren und Produkte empfehlen und Werbeanzeigen anbieten. Das Händlersystem 150 kann mit einem Netzwerk von verbundenen Händlern assoziiert sein, so dass das Händlersystem 150 zugriff auf Produkte hat, die von den verbundenen Händlern angeboten werden, zugriff auf den Bestand der Produkte bei den verbundenen Händlern hat, und zugriff auf Werbeangebote, die von den verbundenen Händlern verfügbar sind. Beispielsweise verfügen viele Firmen, die elektronische Handelsanwendungen anbieten, wie eBay, Amazon und Google, jeweils über ein Netzwerk von verbundenen Händlern, welche Artikel auf ihren elektronischen Handelswebseiten verkaufen können.
  • Sobald die aggregierte Einkaufsliste dem Benutzer 106 präsentiert wird, kann der Benutzer 106 zusätzliche Eingaben bereitstellen, um Produkte auszuwählen, die dem Benutzer empfohlen wurden. Der Benutzer 106 kann auch Werbeanzeigen für Nachlässe auf die empfohlenen Artikel empfangen. Der Benutzer 106 kann von der Clientvorrichtung 110 auf die aggregierte Einkaufsliste zugreifen unter Verwendung einer App oder eines Webbrowsers, wobei es sich um dieselbe App handeln kann wie die Einkaufslistenapps 132 und 133, oder eine andere App, wie eine aggregierte Einkaufslistenapp. Auf die aggregierte Einkaufslistenapp mag von einem der verbundenen Geräte 131, wie dem Kühlschrank, zugegriffen werden können. 2G zeigt einige zusätzliche Felder, die dem Benutzer 106 angezeigt werden können, um dem Benutzer 106 dabei zu helfen, empfohlene Produkte von einer Anzahl von Händlern auszuwählen. Die verbundenen Händler 1 bis 4 sind als 191a bis 191d gezeigt. Die Felder 192 bis 198 repräsentieren Information, die dem Benutzer 106 zusammen mit der aggregierten Einkaufsliste gegeben werden kann. Felder 192 und 193 beziehen sich auf Bestand und Preis für exakte Treffer. Die Felder 194 und 195 repräsentieren Bestand und Preis für ähnliche Artikel. Das Feld 196 repräsentiert Werbeanzeigen, die von den verbundenen Händlern 191a bis 191d angeboten werden. Felder 197 und 198 beziehen sich auf das Einkaufen in Geschäften und stellen ortsbasierte Information bereit, die sich auf Werbeanzeigen und Bestand bezieht, während der Benutzer 106 bei einem der verbundenen Händler 191a bis 191d einkauft.
  • 3 zeigt ein System für eine Clientvorrichtung, welche eine Einkaufslistenanwendung ausführt, um Einkaufstransaktionen mit einem Händlersystem zu ermöglichen, gemäß einer beispielhaften Ausführungsform. In einigen Ausführungsformen kann das Händlersystem 302 in dem bzw. in den Publikationssystem(en) 142 enthalten sein. Die Verkäufer 330 können ein Netzwerk von verbundenen Händlern repräsentieren. Ein Händlersystem 302 kann ein Lieferdienstmodul 336, ein Händlerbestandssystem 150, eine Auscheckanwendung 334 und eine Bestandsverwaltungsanwendung 362 enthalten. Der Benutzer 106a verwendet eine Clientvorrichtung 110a, um eine Einkaufslistenanwendung 132 auszuführen, um Transaktionen mit einem oder mit mehreren Verkäufern 330 unter Verwendung eines Händlersystems 302 zu tätigen. Die Einkaufslistenanwendung 132 erlaubt es dem Benutzer 106a, eine Einkaufsliste mit Informationsupdates von den Verkäufern 330 zu erstellen, zu betrachten, zu organisieren und zu verwalten. Zum Beispiel kann der Benutzer 106a die Einkaufslistenanwendung 132 verwenden, um eine Einkaufsliste von einzukaufenden Artikeln zu erstellen und um detaillierte Informationen von Artikeln auf der Einkaufsliste von den Verkäufern 330 zu erhalten. Die detaillierte Information erlaubt es dem Benutzer 106a, Produkte von den Verkäufern 330 zu vergleichen, um dem Benutzer 106a dabei zu helfen, bestimmte einzukaufende Produkte und den bestimmten Verkäufer, von dem er diese einkaufen möchte, auszuwählen. Der Benutzer 106a kann die Einkaufslistenanwendung 132 auch dazu verwenden, um automatisch Artikel abzuhaken, die eingekauft wurden, und um während des Auscheckens an Artikel, die noch eingekauft werden müssen, erinnert zu werden.
  • Die Clientvorrichtung 110a, die die Einkaufslistenanwendung 132 ausführt, kann ein Smartphone sein (zum Beispiel iPhone, Google Phone, oder andere Telefone, welche Android, Windows Mobile oder andere Betriebssysteme ausführen), ein Tabletcomputer (zum Beispiel iPad, Galaxy), ein PDA, ein Notebookcomputer oder verschiedene andere Typen drahtloser oder drahtgebundener Computervorrichtungen. In einigen Ausführungsformen kann die Clientvorrichtung 110a teilweise oder vollständig in ein verbundenes Gerät 131 integriert sein. Zum Beispiel kann ein Kühlschrank eine Anzeige mit einer Benutzerschnittstelle enthalten, wie in 6A gezeigt. Die Clientvorrichtung 110a kann von einem Netzwerk 104 mit dem Händlersystem 302 kommunizieren.
  • Die Einkaufslistenanwendung 132 enthält eine Benutzerschnittstelle 306, eine Produktabfrageschnittstelle 308, eine Auscheckschnittstelle 310 und eine smarte Geräteschnittstelle 312. Die Einkaufslistenanwendung 132 kann Eingaben von einem oder mehreren verbundenen Geräten 131 empfangen, die sich in dem Bestandsverwaltungssystem für verbundene Geräte 340 befinden.
  • In einer beispielhaften Ausführungsform verwaltet das Bestandsverwaltungssystem für verbundene Geräte 340 den Bestand an Lebensmitteln und Haushaltswaren in einer Heimumgebung (oder einer anderen Umgebung), so dass Produkte und Artikel gekauft werden können, wenn der Bestand niedrig ist. Die verbundenen Geräte 131 können dynamisch Produkte erkennen, die ein Benutzer kaufen muss, basierend auf dem Erkennen oder Erfassen von Veränderungen in der Umgebung. Beispiele von verbundenen Geräten umfassen einen Kühlschrank, der eine Waage und Bilderkennung verwendet, um automatisch nicht vorrätige Artikel erkennt, wie beispielsweise Milch und Eier, einen Drucker, der automatisch erkennen kann, wenn ihm die Tintenpatronen ausgehen, und eine Speisekammer, die Bilderkennung verwendet, um nichtvorrätige Artikel bestellt. In alternativen Ausführungsformen mögen Lebensmittel und andere Haushaltsartikel automatisch bestellt werden basierend auf historischen Verbrauchsmustern. Das Bestandsverwaltungssystem für verbundene Geräte 340 stellt der Einkaufslistenanwendung 132 Aktualisierungen bereit. Die Aktualisierungen können Sensordaten von verschiedenen Sensoren inkorporieren. Basierend auf Aktualisierungen, die von dem Bestandsverwaltungssystem für verbundene Geräte 340 bereitgestellt werden, und zusätzlichen Eingaben von dem Benutzer, kann die Einkaufslistenanwendung 132 dem Benutzer verschiedene Produktempfehlungen zum Kauf präsentieren. Sensordaten von den intelligenten Geräten können über den Pfad 342 an das Netzwerk und dann über den Datenpfad 346 an das Händlersystem 302 übertragen werden. Alternativ können die Sensordaten über den Datenpfad 344 an das Netzwerk 104 und dann über den Datenpfad 346 an das Händlersystem 302 gesendet werden. Weiter können Nicht-Sensordaten von der Einkaufslistenanwendung 132 über den Datenpfad 344 dem Netzwerk 104 und dann über den Datenpfad 346 an das Händlersystem 302 bereitgestellt werden. In einigen Ausführungsformen können die Nicht-Sensordaten von der Einkaufslistenanwendung min einer Cloud-Computerumgebung (nicht dargestellt) gespeichert werden, die mit dem Netzwerk 104 verbunden ist, und auf die das Händlersystem 302 zugreifen kann.
  • Die Benutzerschnittstelle 306 erlaubt es dem Benutzer 106a, mit der Einkaufslistenanwendung 132 zu interagieren und Transaktionen mit den Verkäufern 330 unter Verwendung des Händlersystems 302 über das Netzwerk 104 auszuführen. Zum Beispiel erlaubt es die Benutzerschnittstelle 306 dem Benutzer 106a, die Einkaufsliste von einzukaufenden Artikeln einzugeben, und die Artikel und detaillierte Information der Artikel auf der Einkaufsliste zu sehen und zu verwalten. Das Eingeben von einzukaufenden Artikeln kann auf verschiedene Weisen erfolgen. In einem Beispiel tippt der Benutzer mit einem Tastenfeld oder einer Tastatur manuell einzelne Artikel oder Produkttypen ein, in einem anderen Beispiel kann der Benutzer Artikel oder Produkttypen aus einer Liste auswählen, wie aus einem Ausklappmenü von Artikeln/Typen, die zum Einkauf verfügbar sind von einem Verkäufer, oder Artikel/Typen, die zuvor von dem Benutzer eingekauft wurden. Wenn der Benutzer 106a plant, zu einem bestimmten Geschäft zu gehen, mag die Einkaufsliste nur diejenigen Artikel oder Typen enthalten, die in jenem Geschäft verfügbar sind. Das Erstellen einer aggregierten Einkaufsliste mag eine Kombination von manueller Eingabe mit benutzerspezifizierten Eingabedaten (auch als Nicht-Sensordaten bezeichnet), Sensordaten, und systemerzeugen Daten umfassen, zusammen mit einer Produkt/Typ-Auswahl. In einer Ausführungsform beinhaltet die Benutzerschnittstelle 306 ein Softwareprogramm, wie eine Benutzerschnittstelle, das von einem Prozessor ausgeführt werden kann, und das konfiguriert ist, eine Schnittstelle mit dem Benutzer 106a zu bilden. Der Benutzer 106a kann die graphische Benutzerschnittstelle auch verwenden, um auf Produktinformation von Produkten zuzugreifen und diese zu browsen, welche mit einem der Artikel auf der Einkaufsliste übereinstimmen, wo die Produkte zum Kauf von den Verkäufern 330 verfügbar sind.
  • Die Produktabfrageschnittstelle 308 ermöglicht es der Einkaufslistenanwendung 132, Produktinformation für Artikel auf der Einkaufsliste von Verkäufern 330 über das Netzwerk 104 zu erhalten. Die Produktinformation von Produkten in den Beständen der Verkäufer 330 ist in einem Händlerbestandssystem 150 gespeichert, das auch als eine Verkäuferbestandsdatenbank bezeichnet wird. Das Händlerbestandssystem 150 kann die abgefragten Artikel mit Produkten in dessen Datenback abgleichen, die Verfügbarkeit der Produkte überprüfen und Produktinformation der Produktabfrageschnittstelle 308 bereitstellen. Der Benutzer 106a kann durch die Produktabfrageschnittstelle 308 auch Produktempfehlungen erhalten. Alternativ kann in anderen Ausführungsformen der Benutzer 106a wünschen, Produktinformation von den Verkäufern 330 über das Netzwerk 104 herunterzuladen. Zum Beispiel kann die Produktabfrageschnittstelle 358 eine Abfrage nach Produktinformation von Produkten machen, die mit Artikeln auf der Einkaufsliste übereinstimmen, über das Internet von einem oder von mehreren Verkäufern 330, die der Benutzer 106a bezeichnet hat. Zudem kann die Produktabfrageschnittstelle 308 das Händlerbestandssystem 150 abfragen, um Vorzugspreise anzubieten, wenn der Benutzer 106a einem Treueprogramm von einem der Verkäufer 330 angehört.
  • Die Produktinformation von dem Händlerbestandssystem 150 von Produkten, welche mit Artikeln auf der Einkaufsliste übereinstimmen, kann Marken, Beschreibungen, Preisinformation und so weiter des Produkts enthalten. Wenn der Artikel auf der Einkaufsliste eine allgemeine Produktkategorie ist, kann die Produktinformation Information über eine Auswahl von Produkten beinhalten, die der allgemeinen Produktkategorie angehören. Das Händlerbestandssystem 150 kann auch Information über Preisnachlässe, Absatzfördermaßnahmen, Sonderangebote und ähnliches für Produkte beinhalten, die mit den Artikeln auf der Einkaufsliste übereinstimmen, oder kann Produktinformation von Produkten bereitstellen, die in Beziehung mit Artikeln auf der Einkaufsliste stehen. Der Benutzer 106a kann durch die Benutzerschnittstelle 306 die Produktinformationen von einem oder von mehreren Verkäufern 330 betrachten. Basierend auf de Produktinformation und den Empfehlungen, die dem Benutzer präsentiert werden, einschließlich Sonderangeboten, Preisen und Lieferoptionen, kann der Benutzer 106a die spezifischen Produkte auswählen, die von einem Verkäufer eingekauft werden sollen, und/oder kann Artikel auf der Einkaufsliste von mehreren Verkäufern kaufen, um den besten Preis, die beste Auswahl und die besten Lieferoptionen zu bekommen.
  • Sobald der Benutzer 106a die einzukaufenden Produkte ausgewählt hat, und bereit ist, Auszuchecken, kann die Auscheckschnittstelle 310 der Einkaufslistenanwendung 132 der Einkaufslistenanwendung 132 dabei helfen, nachzuverfolgen, welche Artikel von der Einkaufsliste eingekauft wurden, und kann den Benutzer 106a auf alle Artikel aufmerksam machen, die auf der Einkaufsliste verbleiben. Zum Beispiel kann die Auscheckschnittstelle 310 mit einer Auscheckanwendung 334 des Verkäufers 330 über das Netzwerk 104 kommunizieren, um Information über gekaufte Produkte zu erhalten. Die Auscheckschnittstelle 310 kann die Auscheckanwendung 334 des Verkäufers 330 nach Information über den Kaufbeleg abfragen, um Information über die gekauften Produkte zu erhalten. Die Auscheckschnittstelle 310 kann die Artikel auf der Einkaufsliste mit den eingekauften Produkten auf dem Kaufbeleg vergleichen, um die Artikel zu identifizieren, die eingekauft wurden, sowie die verbleibenden Artikel, die noch eingekauft werden müssen. Bevor das Auschecken abgeschlossen wird, wenn die Einkaufsliste noch nicht eingekaufte Artikel enthält, mit einem oder mehreren hierzu passenden Produkten, die von dem Verkäufer verfügbar sind, kann die Benutzerschnittstelle 306 den Benutzer 106a auf den nicht eingekauften Artikel aufmerksam machen.
  • Das Lieferdienstmodul 336 ist dafür verantwortlich, dem Benutzer 106a Aktualisierungen zu der Lieferung zu geben. Zum Beispiel wird der Benutzer 106a darüber benachrichtigt, welcher Lieferbote der Bestellung zugewiesen wurde, wenn der Lieferbote bei dem Geschäft ist, um die bestellten Artikel abzuholen, wenn der Lieferbote dabei ist, die Artikel auszuliefern, wenn der Lieferbote an dem Ort des Käufers angekommen ist, und wenn die Bestellung ausgeliefert wurde.
  • Die Bestandsverwaltungsanwendung 362 kann Daten an andere Systeme oder Anwendungen bereitstellen (zum Beispiel dem Publikationssystem 140 oder den Zahlungssystemen 144). In einigen Ausführungsformen kann die Bestandsverwaltungsanwendung 362 in das Publikationssystem 142 oder das dynamische Listensystem 146 integriert sein.
  • Die Bestandsverwaltungsanwendung 362 kann Daten über Artikel speichern (zum Beispiel Lebensmittel, Haushaltsprodukte, Bücher, Autos, Gitarren und andere greifbare oder nicht greifbare Güter). Zum Beispiel kann die Datenbank Tabellen aufweisen, welche Information über Holz, Papier, Lebensmittel und elektronische Abonnements speichern. Diese Tabellen mögen nicht nur statische Informationen über die Artikel anzeigen, wie einen Namen und ein Bild, sondern auch dynamische Information, wie einen aktuellen Bestand und eine Verbrauchsrate. Die Bestandsverwaltungsanwendung 362 kann auch Daten über Benutzer speichern. Die Bestandsverwaltungsanwendung 362 kann auch Tabellen aufweisen, welche anzeigen, welcher dieser Artikel einem bestimmten Benutzer gehört. Zum Beispiel können in einem Haus mehrere Benutzer der Bestandsverwaltungsanwendung 362 jeweils Eigentümer unterschiedlicher Artikel sein. Zur Veranschaulichung mag ein Mitbewohner eine Limonade einer Marke konsumieren (zum Beispiel Marke X), während ein anderer Mitbewohner eine Limonade einer anderen Marke konsumiert (zum Beispiel Marke Y). Ein Bildsensor (zum Beispiel eine Kamera) in dem Kühlschrank, die mit einem Prozessor gekoppelt ist, der konfiguriert ist, Bilder zu analysieren und die Anzahl an Dosen von jedem Typ von Limonade zu identifizieren, mag bestimmen, wenn die Menge von Limonade der Marke X oder der Marke Y unter einen vorbestimmten Schwellenwert fällt. Basierend auf einer Zuordnung der Limonade zu dem entsprechenden Mitbewohner kann eine Bestellung für die Limonade gemacht und diese dem richtigen Mitbewohner in Rechnung gestellt werden.
  • 4 ist ein Blockdiagramm, das Komponenten der Bestandsverwaltungsanwendung gemäß einiger beispielhafter Ausführungsformen zeigt. Die gezeigte Bestandsverwaltungsanwendung 362 weist ein Sensormodul 410, ein Lernmodul 428, ein Bedingungsmodul 430 und ein Bestellungsmodul 440 auf, die alle konfiguriert sind, miteinander zu kommunizieren (zum Beispiel über einen Bus, einen geteilten Speicher oder einen Switch). Jedes einzelne oder mehrere der hierin beschriebenen Module kann implementiert sein unter Verwendung von Hardware (zum Beispiel ein Prozessor einer Maschine), oder einer Kombination von Hardware und Software. Zum Beispiel kann jedes hierin beschriebene Modul einen Prozessor konfigurieren, die hierin für dieses Modul beschriebenen Operationen auszuführen. Weiter können beliebige zwei oder mehr dieser Module in ein einzelnes Modul kombiniert werden, und die hierin für ein einzelnes Modul beschriebenen Funktionen können über mehrere Module hinweg aufgeteilt werden. Weiter können gemäß verschiedener beispielhafter Ausführungsformen Module, die hierin als in einer einzelnen Maschine, Datenbank oder Vorrichtung implementiert beschrieben sind, über mehrere Maschinen Datenbanken oder Vorrichtungen verteilt sein. In einigen Ausführungsformen kann eine oder können mehrere Komponenten der Bestandsverwaltungsanwendung 362 in das Bestandsverwaltungssystem für verbundene Geräte 340 oder das Händlersystem 302 eingebaut sein (wie in 3 gezeigt).
  • Das Sensormodul 410 kann konfiguriert sein, um Sensordaten zu empfangen. Zum Beispiel kann von einem Thermometer eine Temperatur empfangen werden, von einer Waage ein Gewicht empfangen werden, oder von einer Kamera ein Bild empfangen werden. Das Sensormodul 410 kann die Sensordaten verarbeiten, um eine Menge eines Artikels im Bestand des Benutzers zu bestimmen. Beispielsweise kann ein Bild verarbeitet werden, um einzelne abgebildete Artikel zu zählen, oder um ein von dem Artikel eingenommenes Volumen zu schätzen. Als ein Beispiel kann aus dem Bild eine Anzahl von Limonadedosen gezählt werden, oder die Größe eines Papierstapels kann geschätzt werden und verwendet werden, um eine Anzahl an Blättern von Papier im Bestand zu schätzen.
  • Das Lernmodul 420 kann konfiguriert sein, um die Verwendungs- bzw. Verbrauchsmuster der Benutzer 106a und 106b zu lernen. Zum Beispiel können Daten von dem Sensormodul 410 periodisch dem Lernmodul 420 zugeführt werden. Indem die Rate beobachtet wird, mit der der Bestand eines Artikels des Benutzers abnimmt, kann eine geschätzte verbleibende Zeit bis zur Erschöpfung berechnet werden. Es können auch komplexere Verwendungsmuster gelernt werden. Zum Beispiel kann die Rate der Abnahme des Bestandes eines Benutzers abhängig von der Temperatur oder der Jahreszeit variieren, und diese Variation kann berücksichtigt werden, wenn die verbleibende Zeit bis zur Erschöpfung geschätzt wird.
  • Das Bedingungsmodul 430 kann konfiguriert sein, auf Bedingungen zum Auslösen der Bestellung eines Artikels zuzugreifen und diese zu speichern. Bedingungen (auch als Bedingungskriterien bezeichnet), die von dem Bedingungsmodul 430 gespeichert werden, können durch eine graphische Benutzerschnittstelle (zum Beispiel von den Clientvorrichtungen 110a oder 110b) oder von dem Lernmodul 420 empfangen werden. In einer beispielhaften Ausführungsform gibt der Benutzer die präzisen Bedingungen ein, die erfüllt sein müssen, damit Artikel einer Einkaufsliste hinzugefügt werden, oder damit eine Bestellung für diese Artikel ausgelöst wird. Dies kann unter Verwendung von graphischen Benutzerschnittstellenkomponenten wie Textfeldern, Ausklappmenüs, Datenselektoren und ähnliche erfolgen. In einer anderen beispielhaften Ausführungsform werden von dem Benutzer keine Bedingungen eingegeben. Stattdessen überwachen Sensoren die Menge verschiedener Artikel und die Bestandsverwaltungsanwendung 362 überwacht Bestellungen, die von dem Benutzer für die verschiedenen Artikel gemacht werden. Das Lernmodul 420 korreliert die Bestellungen mit den Sensordaten und erzeugt automatisch Bedingungen für das Bedingungsmodul 430. In einer weiteren beispielhaften Ausführungsform wird eine Kombination dieser zwei Ansätze verwendet.
  • Das Bestellmodul 440 kann dazu konfiguriert sein, zu bestimmen, wenn die von dem Bedingungsmodul 430 gespeicherten Bedingungen erfüllt sind, und um einen Artikel einer Einkaufsliste hinzuzufügen oder eine Bestellung für die entsprechenden Artikel aufzugeben. Zum Beispiel kann das Bedingungsmodul 430 auf eine Bedingung zugreifen, die anzeigt, dass, wenn die Anzahl an Eiern in dem Kühlschrank unter 3 fällt, ein Dutzend Eier der Einkaufsliste hinzugefügt und bestellt werden soll. Das Bestellmodul 440 kann Daten von dem Sensormodul 410 empfangen, die Anzeigen, dass in dem Bestand des Benutzers 2 Eier vorhanden sind, und schlussfolgern, dass die Bedingung, auf die das Bedingungsmodul 430 zugegriffen hat, erfüllt ist. In Antwort darauf kann das Bestellmodul 440 mit der elektronischen Handelsanwendung (zum Beispiel von dem Publikationssystem 142) kommunizieren, um eine Bestellung aufzugeben. Zum Beispiel mag das Bestellmodul 440 die Adresse und die Kreditkarteninformation des Benutzers zusammen mit der zu bestellenden Menge des Artikels senden. Das bzw. die Publikationssystem(e) 142 kann bzw. können veranlassen, dass das Konto des Benutzers für die bestellten Artikel belastet wird, und die Bestellung an die entsprechenden Parteien gesendet wird (zum Beispiel das Lagerhaus, das die bestellten physikalischen Artikel lagert).
  • 5A ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum automatischen Empfehlen eines Produkts, das zu bestellen ist, basierend auf einer Analyse von Sensordaten, Nicht-Sensordaten und Bestandsdaten zeigt. Wie in 5A gezeigt, beinhaltet das Flussdiagramm 508 Operationen 501 bis 505. In einer Ausführungsform können die Sensordaten und die Nicht-Sensordaten bei der Operation 501 empfangen werden. Die Sensordaten können über eine Anzahl verschiedener Mittel empfangen werden. In einer beispielhaften Ausführungsform werden die Sensordaten von einem Netzwerk 104 übertragen. Die Netzwerkkommunikation kann über Nahfeldkommunikation (NFC), WLan, Bluetooth oder andere Mittel drahtgebundener oder drahtloser Datenübertragung stattfinden. In einigen Ausführungsformen erfolgt die Netzwerkkommunikation über das Netzwerk 104 (zum Beispiel das Internet). In anderen Ausführungsformen kann die Netzwerkkommunikation Peer-zu-Peer erfolgen. In nochmals weiteren Ausführungsformen kann die Kommunikation über NFC, Bluetooth Low Energy (BLE), RFID Tag, Audio, Infrarot oder andere physische Mittel der Datenübertragung stattfinden. Die Sensordaten können von zahlreichen Arten von Sensoren abgerufen werden. Zum Beispiel Lichtsensoren, Bildsensoren, Tastsensoren, Temperatursensoren, Feuchtigkeitssensoren, Bewegungssensoren und so weiter.
  • Zum Beispiel kann ein Kühlschrank über einen Bildsensor verfügen, der innerhalb implementiert ist und der Bilder von dem Inhalt des Kühlschranks erfassen kann. Es kann dann eine Bilderkennungssoftware oder -hardware verwendet werden, um Produkte in dem Kühlschrank zu identifizieren, zusammen mit anderer Information, wie Menge, Marke und so weiter.
  • Die Operation 502 kann Bestandsdaten abrufen. Die Bestandsdaten können zum Beispiel in Datenbanken 126 gespeichert sein. Die Bestandsdaten können eine große Breite von Information beinhalten. Zum Beispiel können die Bestandsdaten ein Produkt und eine Menge beinhalten. In weiteren Ausführungsformen können die Bestandsdaten Information über die Produkte enthalten, wie Haltbarkeitsdaten, Produktmarkennamen, frühere Produktmarkennameneinkäufe, Preis, Gewicht, Abmessungen, jahreszeitliche Verkäufe des Produkts, Farbe und so weiter.
  • Die Operation 503 kann zu bestellende Produkte bestimmen, basierend auf einer Analyse der Sensordaten, Nicht-Sensordaten und der Bestandsdaten. Zum Beispiel kann die Operation 501 Sensordaten von einem Kühlschrank abrufen, welche eine geringe Anzahl an Eiern anzeigen. Dann kann die Operation 502 Bestandsdaten abrufen, die sich auf Eier beziehen, und bestimmen, dass keine weiteren Eier in anderen Kühlschränken in einem Heim sind, dass die gegenwärtigen Eier ihr Haltbarkeitsdatum überschritten haben und wahrscheinlich schlecht sind, dass die Eier Güteklasse A sind, dass in der Vergangenheit nur Eier der Güteklasse A eingekauft wurden, dass im Durchschnitt ein Dutzend Eier pro Woche eingekauft wurden, und so weiter. Eine Analyse der Bestandsdaten und der Sensordaten kann zum Beispiel verwendet werden, um zu bestimmen, dass ein Dutzend Eier der Güteklasse A diese Woche bestellt werden sollten. In weiteren Ausführungsformen kann andere Information in die Analyse miteinbezogen werden, wie zum Beispiel die historischen Einkäufe des Benutzers, aktuelle Trends in verschiedenen Produkten, Information, die von sozialen Netzwerken abgerufen wurde, und andere Information.
  • Die Operation 504 kann einem Benutzer zu bestellende Produkte empfehlen und die Lieferung von Produkten ermöglichen. Der Benutzer kann Produkte kaufen zum Beispiel unter Verwendung der Auscheckanwendung 334. Die Produkte können empfohlen werden unter Verwendung einer Vielzahl von Benutzerschnittstellen. In einer beispielhaften Ausführungsform kann das Produkt einem Einkaufswagen hinzugefügt werden, und die Inhalte des Einkaufswagens können dem Benutzer präsentiert werden. In anderen Ausführungsformen kann dem Benutzer eine Vielzahl vergleichbarer Produkte empfohlen werden, und der Benutzer kann eine Auswahl treffen, indem er die Produkte vergleicht. Produktinformation kann von den Anwendungsservern abgerufen werden. Die Produktinformation kann den Produktpreis, Produktbilder, Markenname, aktuelle Preisnachlässe und so weiter enthalten.
  • In einigen Ausführungsformen können die Produktempfehlungen auf anderer Information basieren, wie beispielsweise die Zutaten für ein Rezept, Produkte, die konsistent mit einem bestimmten Mahlzeitenplan sind, Produkte, die mit bestimmten diätetischen Einschränkungen im Einklang stehen, Produkte die mit bestimmten medizinischen Zuständen im Einklang stehen (beispielsweise Diabetes oder Allergien) und so weiter.
  • Nachdem die Produkte dem Benutzer empfohlen wurden, kann die Operation 504 die Lieferung der Produkte ermöglichen, zum Beispiel unter Verwendung des Lieferdienstmoduls 336. Wenn ein Benutzer zum Beispiel eine Bestellung für ein Produkt aufgibt, kann die Operation 504 Statusaktualisierungen und Benachrichtigungen über den Produktlieferstatus bereitstellen. Der Produktstatus kann in einer beispielhaften Ausführungsform von den Anwendungsservern Dritter 130 abgerufen werden. Der Lieferstatus kann zum Beispiel als eine Position des Produkts auf einer Karte für den Benutzer dargestellt werden.
  • Benachrichtigungen können mit Hilfe einer Vielzahl von Mitteln gesendet werden. Zum Beispiel können Benachrichtigungen unter Verwendung von E-Mail, Sofortnachrichten, SMS, Text, Fax oder Sprachnachrichten (zum Beispiel Voice over IP (VoIP)) über drahtgebundene Netzwerke (zum Beispiel das Internet), das öffentliche Telefonnetz („Plain Old Telephone Service”, POTS), oder drahtlose Netzwerke (zum Beispiel Mobilfunk, WLan, WiMAX).
  • Die Operation 505 kann Bestandsdaten basierend auf bestellten Produkten aktualisieren. Wenn zum Beispiel ein Benutzer einen Einkauf gemacht hat, kann der Bestand aktualisiert werden, um den Einkauf zu reflektieren. Andere Daten, die mit dem Einkauf assoziiert sind, können auch gespeichert werden (zum Beispiel der Zeitpunkt des Einkaufs, der Markenname, der Preis, ob das Produkt im Preis herabgesetzt war, ob ein Coupon verwendet wurde und so weiter). Die Daten können zum Beispiel in Datenbanken 126 gespeichert werden.
  • 5B bis 5D zeigen Flussdiagramme für verschiedene Ausführungsformen zum dynamischen Erstellen von aggregierten Einkaufslisten. In verschiedenen Ausführungsformen können zusätzliche Operationen jedem der Flussdiagramme 510 bis 530 hinzugefügt werden, oder eine oder mehrere Operationen können von jedem der Flussdiagramme 510 bis 530 entfernt werden. In weiteren Ausführungsformen können die Operationen der Flussdiagramme 510 bis 530, oder Varianten von diesen Flussdiagrammen, kombiniert werden.
  • 5B ist ein Flussdiagramm, das ein Verfahren zum dynamischen Erstellen von aggregierten Einkaufslisten gemäß einer beispielhaften Ausführungsform zeigt. Das Flussdiagramm 510 beinhaltet Operationen 511 bis 514. Für eine Ausführungsform können die Operationen 511 bis 514 durch eines oder mehrere Systeme, Module, oder Komponenten des vernetzten Systems 102 implementiert werden. Zum Beispiel können die Operationen 511 bis 514 durch das dynamische Listensystem 146 in Kombination mit dem Händlerbestandssystem 150 implementiert werden.
  • Bei der Operation 511 werden Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, von einem Netzwerk 104 empfangen. Die Sensordaten repräsentieren zumindest einen Artikel, der einer aggregierten Einkaufsliste hinzuzufügen ist, von dem ersten Datenquellentyp, wobei die aggregierte Einkaufsliste mit zumindest einem Benutzer assoziiert ist, und der erste Datenquellentyp ein verbundenes Gerät repräsentiert.
  • Bei der Operation 512 werden die Sensordaten verarbeitet basierend auf prädiktivem Modellieren, das assoziiert ist mit dem Verbrauch des zumindest einen Artikels, der einer aggregierten Einkaufsliste hinzuzufügen ist, von dem ersten Datenquellentyp, um automatisch Lerndaten zu erzeugen. Die Lerndaten sind mit einem zweiten Datenquellentyp assoziiert.
  • Die Lerndaten repräsentieren zumindest einen Artikel, der der aggregierten Einkaufsliste hinzuzufügen ist, von dem zweiten Datenquellentyp.
  • Bei der Operation 513 werden Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, von dem Netzwerk 104 empfangen. Die Nicht-Sensordaten repräsentieren zumindest einen Artikel, der der aggregierten Einkaufsliste hinzuzufügen ist, von dem dritten Datenquellentyp.
  • Bei der Operation 514 wird die aggregierte Einkaufsliste von Artikeln erstellt, welche zumindest einen Artikel repräsentiert, der der aggregierten Einkaufsliste hinzugefügt wurde von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp und dem dritten Datenquellentyp.
  • 5C ist ein Flussdiagramm, das ein Verfahren zum dynamischen Erstellen von aggregierten Einkaufslisten gemäß einer weiteren beispielhaften Ausführungsform zeigt. Das Flussdiagramm 520 beinhaltet Operationen 521 bis 527. Für eine Ausführungsform können die Operationen 521 bis 527 durch ein oder mehrere Systeme, Module oder Komponenten des vernetzten Systems 102 implementiert werden. Zum Beispiel können die Operationen 521 bis 527 durch das dynamische Listensystem 146 in Kombination mit dem Händlerbestandssystem 150 implementiert werden,
  • Bei der Operation 521 beinhaltet das Verfahren Empfangen, von einem Netzwerk, von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind. Die Sensordaten repräsentieren zumindest einen Artikel, der einer aggregierten Einkaufsliste hinzuzufügen ist, von dem ersten Datenquellentyp, wobei die aggregierte Einkaufsliste mit zumindest einem Benutzer assoziiert ist. Der erste Datenquellentyp repräsentiert ein verbundenes Gerät.
  • Bei der Operation 522 beinhaltet das Verfahren Verarbeiten der Sensordaten basierend auf einem prädiktiven Modellieren, das assoziiert ist mit dem Verbrauch des zumindest einen Artikels, der einer aggregierten Einkaufsliste hinzuzufügen ist, von dem ersten Datenquellentyp, um automatisch Lerndaten zu erzeugen. Die Lerndaten sind mit einem zweiten Datenquellentyp assoziiert. Die Lerndaten repräsentieren zumindest einen Artikel, der der aggregierten Einkaufsliste hinzuzufügen ist, von dem zweiten Datenquellentyp.
  • Bei der Operation 523 beinhaltet das Verfahren Empfangen, über das Netzwerk, von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind. Die Nicht-Sensordaten repräsentieren zumindest einen Artikel, der der aggregierten Einkaufsliste hinzuzufügen ist, von dem dritten Datenquellentyp.
  • Bei der Operation 524 beinhaltet das Verfahren Empfangen, über das Netzwerk, von Bedingungseingabedaten und Bedingungskriterien. Die Bedingungseingabedaten sind mit einem vierten Datenquellentyp assoziiert. Bei der Operation 525 beinhaltet das Verfahren Verarbeiten der Bedingungseingabedaten, um zu bestimmen, ob die Bedingungseingabedaten die Bedingungskriterien erfüllen. Bei der Operation 526 beinhaltet das Verfahren automatisches Erzeugen von Bedingungsdaten, welche zumindest einen Artikel repräsentieren, der der aggregierten Einkaufsliste hinzuzufügen ist, von dem vierten Datenquellentyp.
  • Bei der Operation 527 beinhaltet das Verfahren Erstellen der aggregierten Einkaufsliste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Einkaufsliste hinzugefügt wurde von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, dem dritten Datenquellentyp und dem vierten Datenquellentyp.
  • 5D ist ein Flussdiagramm, das ein Verfahren des Abgleichens von Artikeln, die einer Einkaufsliste hinzugefügt wurden, mit einem Händlerbestand gemäß einer beispielhaften Ausführungsform zeigt. Das Flussdiagramm 530 beinhaltet Operationen 531 bis 533. Für eine Ausführungsform könne die Operationen 531 bis 533 durch ein oder mehrere Systeme, Module oder Komponenten des vernetzten Systems 102 implementiert werden. Zum Beispiel können die Operationen 531 bis 533 durch das dynamische Listensystem 146 in Kombination mit dem Händlerbestandssystem 150 implementiert werden. In anderen Beispielen kann die Operation der Operationen 531 bis 533 durch das Händlerbestandssystem 150 oder das Händlersystem 302 implementiert werden.
  • Bei der Operation 531 beinhaltet das Verfahren Bestimmen, basierend auf der Produktidentifikationsinformation, ob zumindest ein Händler des Netzwerks von verbundenen Händlern einen exakten Treffer im Bestand für einen Artikel auf der aggregierten Einkaufsliste hat. Bei der Operation 532 beinhaltet das Verfahren, wenn der exakte Treffer nicht erfolgreich bestimmt wird, Bestimmen welcher von dem zumindest einem Händler des Netzwerks von verbundenen Händlern den nächstkommenden Treffer im Bestand hat für den einen Artikel auf der aggregierten Einkaufsliste. Bei der Operation 533 beinhaltet das Verfahren, wenn der nächstkommende Treffer nicht erfolgreich bestimmt wird, Bestimmen, ob zumindest ein Händler des Netzwerks von verbundenen Händlern ein generisches Produkt hat, das dieselbe Produktkategorie hat, wie der eine Artikel auf der aggregierten Einkaufsliste.
  • 6A zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Die Benutzerschnittstelle 601 zeigt eine Liste von Produkten, die bestellt werden müssen. Eine Anzeige 602 zeigt einen beispielhaften Ort, an dem sich die Benutzerschnittstelle 601 befinden mag. In diesem Beispiel kann die Benutzerschnittstelle 601 auf der Vorderseite eines Kühlschranks sein. Das Benutzerschnittstellenelement 603 kann ein elektronischer Einkaufswagen sein, der die Anzahl von Artikeln in dem Wagen und den Gesamtbestellungswert anzeigt. Das Benutzerschnittstellenelement 604 kann eine Taste sein, die, wenn sie aktiviert wird, auf Sprachbefehle antwortet. Die Sprachbefehlen können zum Beispiel zusätzliche Artikel auf eine Einkaufsliste setzten oder eine Bestellung aufgeben.
  • 6B zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Das Benutzerschnittstellenelement 605 zeigt eine beispielhafte Benutzerschnittstelle, die verwendet werden kann, um Artikel einem elektronischen Einkaufswagen hinzuzufügen und um eine Bestellung aufzugeben von einem Online-Marktplatz (zum Beispiel eBay). Das Benutzerschnittstellenelement 606 kann eine Taste sein, die, wenn sie aktiviert wird, einen Artikel einem Einkaufswagen hinzufügt. Eine Vielzahl von Metadaten, die sich auf die Produkte beziehen, kann in dem Benutzerschnittstellenelement 605 angezeigt werden. Auf dieser Benutzerschnittstelle können viele Marken verglichen werden. Es kann zusätzlich auch ein Preisvergleich und ein Merkmalsvergleich der Produkte angezeigt werden. Es kann in dem Benutzerschnittstellenelement 605 auch jede derzeit aktuelle Werbemaßnahme oder Nachlass angezeigt werden. Diese Benutzerschnittstelle kann verwendet werden, um Produkte zum Kauf zu empfehlen, wie hierin beschrieben.
  • 6C zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Das Benutzerschnittstellenelement 607 zeigt eine beispielhafte Benutzerschnittstelle, welche Artikel anzeigen kann, die einem elektronischen Einkaufswagen hinzugefügt wurden. In diesem Beispiel wurden dem Einkaufswagen Eier hinzugefügt. Das Benutzerschnittstellenelement 608 kann in einer beispielhaften Ausführungsform eine Taste sein, die, wenn sie aktiviert wird, den Einkauf und die Lieferung der Artikel in dem elektronischen Einkaufswagen veranlasst.
  • 6D zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Die Benutzerschnittstelle 609 kann den aktuellen Lieferstatus einer Bestellung anzeigen. Das Benutzerschnittstellenelement 610 kann den aktuellen Ort der Produkte auf einer Karte relativ zum Zielort 611 anzeigen. Der Statusbereich 612 kann eine graphische Anzeige des aktuellen Bestellstatus sein.
  • 6E zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Die Benutzerschnittstelle 613 kann anzeigen, dass die Lieferung erfolgt ist oder dass die Lieferung bevorsteht. Das Benutzerschnittstellenelement 614 kann graphisch auf einer Karte anzeigen, dass die Lieferung erfolgt ist oder dass die Lieferung bevorsteht. Benachrichtigungen über die bevorstehende Lieferung können gegeben werden.
  • 6F zeigt eine beispielhafte Ausführungsform einer Benutzerschnittstelle. Die Benutzerschnittstelle 615 kann eine Einkaufsliste von Artikeln, die einzukaufen sind, anzeigen. Nachdem eine vorherige Bestellung abgeschlossen wurde, kann die Einkaufsliste dynamisch aktualisiert werden, um anzuzeigen, dass ein Produkt auf der Liste bestellt wurde und nicht länger auf der Einkaufsliste zu verbleiben braucht.
  • Module, Komponenten und Logik
  • Hierin sind bestimmte Ausführungsformen so beschrieben, dass sie Logik oder eine Anzahl von Komponenten, Modulen oder Mechanismen enthalten. Module können entweder Softwaremodule (zum Beispiel Code, der auf einem maschinenlesbaren Medium oder in einem Übertragungssignal verkörpert ist) oder Hardwaremodule sein. Ein ”Hardwaremodul” ist eine greifbare Einheit zum Ausführen bestimmter Operationen und kann in einer bestimmten physischen Weise konfiguriert oder angeordnet sein. In verschiedenen beispielhaften Ausführungsformen können ein oder mehrere Computersysteme (zum Beispiel ein alleinstehendes Computersystem, ein Clientcomputersystem oder ein Servercomputersystem) oder ein oder mehrere Hardwaremodule eines Computersystems (zum Beispiel ein Prozessor oder eine Gruppe von Prozessoren) mittels Software (zum Beispiel eine Anwendung oder ein Teil einer Anwendung) als ein Hardwaremodul konfiguriert sein, das arbeitet, um bestimmte Operationen wie hierin beschrieben auszuführen.
  • In einigen Ausführungsformen kann ein Hardwaremodul mechanisch, elektronisch oder in jeder geeigneten Kombination davon implementiert sein. Zum Beispiel kann ein Hardwaremodul eine dedizierte Schaltung oder Logik enthalten, die dauerhaft dazu konfiguriert ist, bestimmte Operationen auszuführen. Zum Beispiel kann ein Hardwaremodul ein Spezialprozessor sein, wie eine feldprogrammierbare Gatterlogik (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC). Ein Hardwaremodul kann auch programmierbare Logik oder Schaltung umfassen, die zeitweise durch Software konfiguriert wird, um bestimmte Operationen auszuführen. So kann zum Beispiel ein Hardwaremodul Software umfassen, die in einem Allzweckprozessor oder in einem anderen programmierbaren Prozessor enthalten ist. Es sei verstanden, dass die Entscheidung, ein Hardwaremodul mechanisch, in dedizierter und permanent konfigurierter Schaltung, oder in einer temporär konfigurierten Schaltung (zum Beispiel mittels Software konfiguriert) zu implementieren, von Kosten- und Zeitbetrachtungen beeinflusst sein kann.
  • Dementsprechend sollte der Ausdruck ”Hardwaremodul” so verstanden werden, dass dieser eine greifbare Entität umfasst, sei es eine Entität, die physisch konstruiert, permanent konfiguriert (zum Beispiel fest verdrahtet) oder temporär konfiguriert (zum Beispiel programmiert) ist, um auf eine bestimmte Weise zu arbeiten oder um bestimmte hierin beschriebene Operationen auszuführen. Wie hierin bezieht sich der Ausdruck ”Hardware-implementiertes Modul” auf ein Hardwaremodul. Unter Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert sind (zum Beispiel programmiert sind), braucht nicht jedes der Hardwaremodul zu jedem Zeitpunkt konfiguriert oder instanziiert sein. Wo ein Hardwaremodul zum Beispiel einen Allzweckprozessor umfasst, der mittels Software so konfiguriert ist, zu einem Spezialprozessor zu werden, kann der Allzweckprozessor zu unterschiedlichen Zeiten als jeweils unterschiedliche Spezialprozessoren konfiguriert werden (zum Beispiel umfassend ein anderes Hardwaremodul). Entsprechend kann Software einen bestimmten Prozessor oder bestimmte Prozessoren konfigurieren, um zum Beispiel zu einem Zeitpunkt ein bestimmtes Hardwaremodul zu bilden, und um zu einem anderen Zeitpunkt ein anderes Hardwaremodul zu bilden.
  • Ein Hardwaremodul kann Informationen bereitstellen an, und Informationen empfangen von, anderen Hardwaremodulen. Dementsprechend kann das beschriebene Hardwaremodul als kommunikativ gekoppelt betrachtet werden. Wo mehrere Hardwaremodule gleichzeitig existieren, können Kommunikationen mittels Signalübertragung (zum Beispiel über geeignete Schaltungen und Bussen) zwischen oder unter zweien oder mehreren der Hardwaremodule bewerkstelligt werden. In Ausführungsformen, in denen mehrere Hardwaremodule zu unterschiedlichen Zeiten konfiguriert oder instanziiert werden, können Kommunikationen zwischen solchen Hardwaremodulen zum Beispiel mittels der Speicherung und dem Abrufen von Information in Speicherstrukturen bewerkstelligt werden, auf die die mehreren Hardwaremodule Zugriff haben. Zum Beispiel kann ein Hardwaremodul eine Operation ausführen und die Ausgabe jener Operation in einer Speichervorrichtung speichern, mit der es kommunikativ gekoppelt ist. Ein weiteres Hardwaremodul kann dann, zu einem späteren Zeitpunkt, auf die Speichervorrichtung zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardwaremodule können auch Kommunikationen mit Eingabe- oder Ausgabevorrichtungen initiieren, und können auf einer Ressource (zum Beispiel eine Sammlung von Information) arbeiten.
  • Die verschiedenen Operationen beispielhafter Verfahren, die hierin beschrieben sind, können, zumindest teilweise, von einem oder von mehreren Prozessoren ausgeführt werden, die temporär konfiguriert sind (zum Beispiel durch Software), oder die permanent konfiguriert sind, die relevanten Operationen auszuführen. Unabhängig davon, ob sie temporär oder permanent konfiguriert sind, können derartige Prozessoren Prozessor-implementierte Module bilden, die arbeiten, um eine oder mehrere hierin beschriebene Operationen oder Funktionen auszuführen. Wie hierin verwendet bezieht sich ein „Prozessor-implementiertes Modul” auf ein Hardwaremodul, das unter Verwendung von einem oder von mehreren Prozessoren implementiert ist.
  • Auf ähnliche Weise können die hierin beschriebenen Verfahren zumindest zum Teil Prozessor-implementiert sein, wobei ein bestimmter Prozessor oder bestimmte Prozessoren Beispiele von Hardware sind. Zum Beispiel können zumindest einige der Operationen eines Verfahrens durch einen oder durch mehrere Prozessoren oder Prozessor-implementierte Module ausgeführt werden. Weiter können der eine oder die mehreren Prozessoren auch arbeiten, um die Ausführung der relevanten Operationen in einer „Cloud Computing” Umgebung oder als ein „Software as a Service” (SaaS) zu unterstützen. Zum Beispiel können zumindest einige der Operationen von einer Gruppe von Computern (als Beispiele von Maschinen, die Prozessoren beinhalten) ausgeführt werden, wobei auf diese Operationen über ein Netzwerk (zum Beispiel das Internet) und mittels einer oder mehreren geeigneten Schnittstellen (zum Beispiel eine API) zugegriffen werden kann.
  • Die Ausführung bestimmter der Operationen kann über die Prozessoren hinweg verteilt sein, und nicht nur auf einer einzelnen Maschine residieren, sondern über eine Anzahl von Maschinen hinweg zum Einsatz gebracht werden. In einigen beispielhaften Ausführungsformen können die Prozessoren oder Prozessorimplementierten Module sich an einem einzigen geographischen Ort befinden (zum Beispiel in einer Heimumgebung, einer Büroumgebung oder einer Serverfarm). In anderen beispielhaften Ausführungsformen können die Prozessoren oder Prozessorimplementierten Module über eine Anzahl geographischer Orte hinweg verteilt sein.
  • Anwendungen
  • 7 zeigt eine beispielhafte mobile Vorrichtung, welche ein Mobilbetriebssystem ausführen kann (zum Beispiel iOSTM, AndroidTM, Windows® Phone, oder andere Mobilbetriebssysteme), gemäß beispielhafter Ausführungsformen. In einer Ausführungsform kann die mobile Vorrichtung 700 einen Berührungsbildschirm aufweisen, der taktile Information von einem Benutzer 702 empfangen kann. Zum Beispiel kann der Benutzer 702 physisch die mobile Vorrichtung 700 berühren 704, und in Antwort auf die Berührung 704 kann die mobile Vorrichtung 700 taktile Information wie den Ort der Berührung, Berührungskraft, Gestenbewegung und so weiter bestimmen. In verschiedenen beispielhaften Ausführungsformen kann die mobile Vorrichtung 700 einen Heimbildschirm 706 anzeigen (zum Beispiel Springboard auf iOSTM), welchen der Benutzer 702 der mobilen Vorrichtung 700 verwenden kann, um Anwendungen zu starten und die mobile Vorrichtung 700 anderweitig zu verwalten. In verschiedenen beispielhaften Ausführungsformen kann der Heimbildschirm 706 Statusinformation wie Akkulaufzeit, Verbindungsstatus oder einen anderen Hardwarestatus geben. Der Heimbildschirm 706 kann auch eine Vielzahl von Icons beinhalten, die aktiviert werden können, um Anwendungen zu starten, zum Beispiel indem der Bereich, der von dem Icon eingenommen wird, berührt wird. Auf ähnliche Weise können andere Benutzerschnittstellenelemente aktiviert werden, indem ein Bereich berührt wird, der von einem bestimmten Benutzerschnittstellenelement eingenommen wird. Auf diese Weise kann der Benutzer 702 mit den Anwendungen interagieren.
  • Es kann eine große Vielfalt von Anwendungen (auch als „Apps” bezeichnet) auf der mobilen Vorrichtung 700 ausgeführt werden. Die Anwendungen können native Anwendungen (zum Beispiel Anwendungen, die in Objective-C programmiert sind und die auf iOSTM ausgeführt werden, oder Anwendungen, die in Java programmiert sind und auf AndroidTM laufen), mobile Webanwendungen (zum Beispiel HTML5), oder hybride Anwendungen (zum Beispiel eine native Shell-Anwendung, die eine HTML5 Sitzung startet). In einem spezifischen Beispiel kann die mobile Vorrichtung 700 eine Nachrichtenapp 720, eine Audioaufzeichnungsapp 722, eine Kameraapp 724, eine Buchleseapp 726, eine Medienapp 728, eine Fitnessapp 730, eine Dateiverwaltungsapp 732, eine Positionsbestimmungsapp 734, eine Browserapp 736, eine Einstellungsapp 738, eine Kontakteapp 740, eine Telefonanrufapp 742, andere Apps (zum Beispiel Spieleapps, Soziale Netze Apps, Apps zur biometrischen Überwachung), eine App 744 eines Dritten und so weiter umfassen. Beispiele anderer Apps können eine Einkaufslistenapp, eine Rezepteapp, eine Notizapp wie Evernote, eine Produktivitätsapp, welche es erlaubt, Aufgaben und Listen nachzuverfolgen, eine Einkaufsapp, die eine Einkaufslistenfunktionalität beinhaltet, oder andere Apps, die Einkaufslistenfunktionalitäten beinhalten, umfassen.
  • Softwarearchitektur
  • 8 ist ein Blockdiagramm 800, das eine Softwarearchitektur 802 zeigt, die auf jeder beliebigen einzelnen oder mehreren der obigen Vorrichtungen installiert werden kann. 8 ist lediglich ein nichtbeschränkendes Beispiel einer Softwarearchitektur, und es wird verstanden werden, dass viele andere Architekturen implementiert werden können, um die hierin beschriebene Funktionalität zu ermöglichen. Die Software 802 kann auf einer Hardware wie der Maschine 900 der 9 ausgeführt werden, welche Prozessoren 910, Speicher 930 und Eingabe/Ausgabe-(I/O)Komponenten 950 aufweist. In der beispielhaften Architektur von 8 kann die Software 802 als ein Stapel von Schichten konzeptualisiert werden, worin jede Schicht eine bestimmte Funktionalität bereitstellen kann. Zum Beispiel kann die Software 802 Schichten wie ein Betriebssystem 804, Bibliotheken 806, Rahmenwerke 808 und Anwendungen 810 beinhalten. Operativ können die Anwendungen 810 API Aufrufe 812 durch den Softwarestapel machen und Nachrichten 814 in Antwort auf die API Aufrufe 812 erhalten.
  • Das Betriebssystem 804 kann Hardwareressourcen verwalten und gemeinsame Dienste bereitstellen. Das Betriebssystem 804 kann zum Beispiel einen Kernel 820, Dienste 822 und Treiber 824 umfassen. Der Kernel 820 kann als eine Abstraktionsschicht zwischen der Hardware und den anderen Softwareschichten dienen. Zum Beispiel kann der Kernel 820 für die Speicherverwaltung, die Prozessorverwaltung (zum Beispiel Scheduling), die Komponentenverwaltung, den Netzwerkbetrieb, die Sicherheitseinstellungen und so weiter verantwortlich sein. Die Dienste 822 können andere gemeinsame Dienste für die anderen Softwareschichten bereitstellen. Die Treiber 824 können für das Kontrollieren oder das Bilden einer Schnittstelle mit der zu Grunde liegenden Hardware verantwortlich sein. Zum Beispiel können die Treiber 824 Anzeigetreiber, Kameratreiber, Bluetooth® Treiber, Flashspeichertreiber, Treiber für serielle Kommunikation (zum Beispiel Universal Serial Bus (USB) Treiber), Wi-Fi® bzw. WLan Treiber, Audiotreiber, Leistungsverwaltungstreiber und so weiter sein.
  • Die Bibliotheken 806 können eine gemeinsame Infrastruktur auf niedriger Ebene bereitstellen, die von den Anwendungen 810 genutzt werden kann. Die Bibliotheken 806 können Systembibliotheken 830 (zum Beispiel die C Standardbibliothek) umfassen, welche Funktionen wie Speicherzuweisungsfunktionen, Zeichenkettenmanipulationsfunktionen, mathematische Funktionen und ähnliche bereitstellen können. Darüber hinaus können die Bibliotheken 806 API Bibliotheken 832 wie Medienbibliotheken (zum Beispiel Bibliotheken zur Unterstützung der Darstellung und Handhabung von verschiedenen Medienformaten wie MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), Grafikbibliotheken (zum Beispiel ein OpenGL Rahmenwerk, das verwendet werden kann, um 2D und 3D in einem grafischen Inhalt auf einer Anzeige zu rendern), Datenbankbibliotheken (zum Beispiel SQLite, das verwendet werden kann, um verschiedene relationale Datenbankfunktionen bereitzustellen), Webbibliotheken (zum Beispiel WebKit, welches Webbrowsingfunktionalität bereitstellen kann) und ähnliche. Die Bibliotheken 806 können auch eine große Vielzahl anderer Bibliotheken 834 beinhalten, um den Anwendungen 810 viele andere APIs bereitzustellen.
  • Die Rahmenwerke 808 können eine gemeinsame Infrastruktur auf einer hohen Ebene bereitstellen, die von den Anwendungen 810 verwendet werden kann. Zum Beispiel können die Rahmenwerke 808 verschiedene Benutzerschnittstellfunktionen, Ressourcenverwaltung auf hoher Ebene, Positionsbestimmungsdienste auf hoher Ebene und so weiter bereitstellen. Die Rahmenwerke 808 können ein breites Spektrum anderer APIs bereitstellen, die von den Anwendungen 810 verwendet werden können, von denen einige für ein bestimmtes Betriebssystem oder eine Plattform spezifisch sein mögen.
  • Die Anwendungen 810 umfassen eine Heimanwendung 850, eine Kontakteanwendung 852, eine Browseranwendung 854, eine Buchleseanwendung 856, eine Positionsbestimmungsanwendung 858, eine Medienanwendung 860, eine Nachrichtenanwendung 862, eine Spieleanwendung 864 und eine breite Sammlung anderer Anwendungen wie eine Anwendung 866 eines Dritten. In einem spezifischen Beispiel kann die Anwendung 866 eines Dritten (zum Beispiel eine Anwendung, die von einer Entität, bei der es sich nicht um den Verkäufer der bestimmten Plattform handelt, entwickelt. wurde unter Verwendung des AndroidTM oder iOSTM Softwareentwicklungskits (SDK) eine mobile Software sein, die auf einem Mobilbetriebssystem wie iOSTM, AndroidTM, Windows® Phone oder anderen Mobilbetriebssystemen laufen. In diesem Beispiel kann die Anwendung 866 eines Dritten die API Aufrufe 812 aufrufen, die von dem Mobilbetriebssystem 804 bereitgestellt werden, um die hierin beschriebene Funktion zu ermöglichen.
  • Beispielhafte Maschinenarchitektur und maschinenlesbares Medium
  • 9 ist ein Blockdiagramm, das Komponenten einer Maschine 900 gemäß einiger beispielhaften Ausführungsformen zeigt, die eingerichtet sind, Anweisungen von einem maschinenlesbaren Medium (zum Beispiel ein maschinenlesbares Speichermedium) und eine oder mehrere der hierin beschriebenen Methodiken auszuführen. Genauer zeigt die 9 eine diagrammatische Darstellung der Maschine 900 in der beispielhaften Form eines Computersystems, innerhalb dessen Anweisungen 916 (zum Beispiel Software, ein Programm, eine Anwendung, ein Applet, eine App oder anderer ausführbarer Code), um die Maschine 908 dazu zu veranlassen, dass jede einzelne oder mehrere der hierin beschriebenen Methodiken ausgeführt werden können. In alternativen Ausführungsformen arbeitet die Maschine 980 als eine alleinstehende Vorrichtung oder kann mit anderen Maschinen gekoppelt sein (zum Beispiel vernetzt). In einem vernetzten Einsatz kann die Maschine 900 als eine Servermaschine oder eine Clientmaschine in einer Client-Server-Netzwerkumgebung arbeiten, oder als eine Peer-Maschine in einer Peer-zu-Peer (oder verteilten) Netzwerkumgebung. Die Maschine 900 kann, ohne hierauf beschränkt zu sein, einen Servercomputer, einen Clientcomputer, einen Tabletcomputer, einen Laptopcomputer, ein Netbook, eine Set-Top-Box, einen PDA, ein Medienunterhaltungssystem, ein Mobiltelefon, ein Smartphone, eine mobile Vorrichtung, eine tragbare Vorrichtung (zum Beispiel eine Smartwatch), eine intelligente Heimvorrichtung (zum Beispiel ein intelligentes Gerät), andere intelligente Vorrichtungen, ein Webgerät, ein Netzwerkrouter, ein Netzwerkswitch, eine Netzwerkbridge oder jede andere Maschine, die eingerichtet ist, die Anweisungen 916 auszuführen, sequentiell oder anderweitig, welche Aktionen spezifizieren, die von der Maschine 900 auszuführen sind. Weiter soll, während nur eine einzelne Maschine 900 gezeigt ist, der Ausdruck ”Maschine” auch so verstanden werden, dass dieser eine Sammlung von Maschinen 900 umfasst, die individuell oder gemeinsam die Anweisungen 916 ausführen, um eine einzelne oder mehrere der hierin diskutierten Methodiken auszuführen.
  • Die Maschine 900 kann Prozessoren 910, Speicher 930, und Eingabe-/Ausgabekomponenten 950 umfassen, die konfiguriert sein können, über einen Bus 902 miteinander zu kommunizieren. In einer beispielhaften Ausführungsform können die Prozessoren 910 (zum Beispiel eine Zentralverarbeitungseinheit (CPU), ein Prozessor mit reduziertem Befehlssatz (RISC), ein Prozessor mit komplexem Befehlssatz (CISC), eine Grafikverarbeitungseinheit (GPU), ein digitaler Signalprozessor (DSP), ein ASIC, eine integrierte Funkschaltung („Radio-Frequency Integrated Circuit”, RFIC), ein anderer Prozessor, oder jede geeignete Kombination davon) zum Beispiel den Prozessor 912 und den Prozessor 914 umfassen, welche Anweisungen 916 ausführen können. Der Ausdruck „Prozessor” sei gedacht, Mehrkernprozessoren zu umfassen, die zwei oder mehr unabhängige (auch als „Kerne” bezeichnet) umfassen, welche Anweisungen gleichzeitig abarbeiten. Obwohl die 9 mehrere Prozessoren zeigt, kann die Maschine 900 einen einzelnen Prozessor mit einem einzelnen Kern, einen einzelnen Prozessor mit mehreren Kernen (zum Beispiel einen Mehrkernprozessor), mehrere Prozessoren mit einem einzelnen Kern, mehrere Prozessoren mit mehreren Kernen, oder jede Kombination davon umfassen.
  • Der Speicher 930 kann einen Hauptspeicher 932, einen statischen Speicher 934 und eine Speichereinheit 936 umfassen, auf die die Prozessoren 910 über den Bus 902 zugreifen können. Die Speichereinheit 936 kann ein maschinenlesbares Medium 938 umfassen, auf dem Anweisungen 916 gespeichert sind, welche eine oder mehrere der hierin beschriebenen Methodiken oder Funktionen verkörpern. Die Anweisungen 916 können auch, gänzlich oder teilweise, innerhalb des Hauptspeichers 932, innerhalb des statischen Speichers 934, innerhalb von zumindest einem der Prozessoren 910 (zum Beispiel innerhalb des Cachespeichers des Prozessors) oder jeder geeigneten Kombination davon residieren, während deren Ausführung durch die Maschine 900. Dementsprechend können der Hauptspeicher 932, der statische Speicher 934 und die Prozessoren 910 als maschinenlesbare Medien 938 betrachtet werden.
  • Wie hierin verwendet bezieht sich der Begriff „Speicher” auf ein maschinenlesbares Medium 938, das eingerichtet ist, Daten temporär oder permanent zu speichern, und kann so verstanden werden, dass er, ohne hierauf beschränkt zu sein, Speicher mit wahlfreiem Zugriff (RAM), Nur-lese-Speicher (ROM), Pufferspeicher, Flashspeicher und Cachespeicher umfasst. Während das maschinenlesbares Medium 938 in einer beispielhaften Ausführungsform als ein einzelnes Medium gezeigt ist, sollte der Ausdruck ”maschinenlesbares Medium” so verstanden werden, dass dieser ein einzelnes Medium oder mehrere Medien umfasst (zum Beispiel eine zentralisierte oder eine verteilte Datenbank, oder assoziierte Caches und Server), die eingerichtet sind, Anweisungen 916 zu speichern. Der Begriff „maschinenlesbares Medium” soll auch so verstanden werden, dass dieser jedes Medium, oder jede Kombination von mehreren Medien umfasst, das bzw. die in der Lage sind, Anweisungen (zum Beispiel die Anweisungen 916) zu speichern zur Ausführung durch eine Maschine (zum Beispiel die Maschine 900), so dass die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren der Maschine 900 (zum Beispiel die Prozessoren 910) die Maschine 900 dazu veranlassen, eine oder mehrere der hierin beschriebenen Methodiken auszuführen. Dementsprechend bezieht sich ein ”maschinenlesbares Medium” auf ein einzelnes Speichergerät oder eine einzelne Speichervorrichtung, sowie auch auf „Cloud-basierte” Speichersysteme oder Speichernetzwerke, die mehrere Speichergeräte oder -vorrichtungen umfassen. Der Begriff ”maschinenlesbares Medium” soll dementsprechend so verstanden werden, dass er, ohne hierauf begrenzt zu sein, ein oder mehrere Datenarchive in der Form eines Halbleiterspeichers (zum Beispiel Flashspeicher), ein optisches Medium, ein magnetisches Medium, anderen nichtflüchtigen Speicher (zum Beispiel löschbaren Nur-lese-Speicher (EPROM)), oder jede geeignete Kombination davon umfasst. Der Begriff „maschinenlesbares Medium” schließt spezifisch nicht-gesetzliche Signale als solche aus.
  • Die Eingabe-/Ausgabekomponenten 950 können eine breite Vielfalt von Komponenten umfassen, um Eingaben zu empfangen, Ausgaben zu erzeugen, Information zu übertragen, Information auszutauschen, Messwerte zu erfassen und so weiter. Es wird verstanden werden, dass die Eingabe-/Ausgabekomponenten 950 andere Komponenten beinhalten, die in der 9 nicht dargestellt sind. Die Eingabe-/Ausgabekomponenten 950 sind nur aus dem Grund der Funktionalität nach gruppiert, um die nachfolgende Diskussion zu vereinfachen, und die Gruppierung ist in keiner Weise beschränken. In verschiedenen beispielhaften Ausführungsformen können die Eingabe-/Ausgabekomponenten 950 Ausgabekomponenten 952 und Eingabekomponenten 954 umfassen. Die Ausgabekomponenten 952 können visuelle Komponenten (zum Beispiel eine Anzeige wie ein Plasmabildschirm („plasma display panel”, PDP), eine Leuchtdioden-(LED)Anzeige, eine Flüssigkristallanzeige (LCD), einen Projektor oder eine Bildröhre („cathode ray tube”, CRT)), akustische Komponenten (zum Beispiel Lautsprecher), haptische Komponenten (zum Beispiel ein Vibrationsmotor), andere Signalgeneratoren und so weiter. Die Eingabekomponenten 954 können alphanumerische Eingabekomponenten (zum Beispiel eine Tastatur, einen Berührungsbildschirm, der konfiguriert ist, alphanumerische Eingaben zu empfangen, eine photooptische Tastatur oder andere alphanumerische Eingabekomponenten), punktbasierte Einagekomponenten (zum Beispiel eine Maus, ein Touchpad, einen Trackball, einen Joystick, einen Bewegungssensor oder ein anderes Zeigeinstrument), taktile Eingabekomponenten (zum Beispiel einen physischen Taster, einen Berührungsbildschirm, der den Ort und die Kraft von Berührungen oder Berührungsgesten bereitstellt, oder andere taktile Eingabekomponenten), Audioeingabekomponenten (zum Beispiel ein Mikrofon) und ähnliches.
  • In weiteren beispielhaften Ausführungsformen können die Eingabe-/Ausgabekomponenten 958, unter einer großen Breite anderer Komponenten, biometrische Komponenten 956, Bewegungskomponenten 958, Umgebungskomponenten 960 oder Positionskomponenten 962 enthalten. Zum Beispiel können die biometrischen Komponenten 956 Komponenten zum Erkennen von Ausdrücken (zum Beispiel Hand, Gesichtsausdrücke, stimmliche Ausdrücke, Körpergesten oder Augennachverfolgung), zum Messen von Biosignalen (zum Beispiel Blutdruck, Herzfrequenz, Körpertemperatur, Schwitzen oder Gehirnwellen), zum Identifizieren einer Person (zum Beispiel Stimmenerkennung, Retinaerkennung, Gesichtserkennung, Fingerabdruckerkennung, oder Enzephalogramm-basierte Erkennung) und ähnliches sein. Die Bewegungskomponenten 958 können Beschleunigungssensorkomponenten (zum Beispiel einen Beschleunigungssensor), Schwerkraftsensorkomponenten, Rotationssensorkomponenten (zum Beispiel ein Gyroskop) und so weiter beinhalten. Die Umgebungskomponenten 960 können zum Beispiel Beleuchtungssensorkomponenten (zum Beispiel ein Photometer), Temperatursensorkomponenten (zum Beispiel ein oder mehrere Thermometer, welche die Umgebungstemperatur erkennen) Feuchtigkeitssensorkomponenten, Drucksensorkomponenten (zum Beispiel ein Barometer), Akustiksensorkomponenten (zum Beispiel ein oder mehrere Mikrofone, welche Hintergrundgeräusche erkennen), Näherungssensorkomponenten (zum Beispiel Infrarotsensoren, welche Objekte in der Nähe erkennen), Gassensoren (zum Beispiel Gaserkennungssensoren, um Konzentrationen sicherheitsgefährdender Gase zu erkennen oder um Schmutzstoffe in der Atmosphäre zu messen), oder andere Komponenten, welche Indikationen, Messwerte oder Signale liefern, welche einer umgebenden physischen Umgebung entsprechen. Die Positionskomponenten 962 können Positionsbestimmungssensorkomponenten (zum Beispiel eine GPS Empfängerkomponente), Höhensensorkomponenten (zum Beispiel Höhenmesser oder Barometer, welche den Luftdruck erkennen, aus dem die Höhe abgeleitet werden kann), Richtungssensorkomponenten (zum Beispiel Magnetometers) und ähnliche.
  • Kommunikation kann unter Verwendung einer breiten Vielfalt von Technologien implementiert werden. Die Eingabe-/Ausgabekomponenten 958 können Kommunikationskomponenten 964 umfassen, die eingerichtet sind, die Maschine 900 an ein Netzwerk 980 oder Vorrichtungen 970 zu koppeln über die Kopplung 982 bzw. die Kopplung 972. Zum Beispiel können die Kommunikationskomponenten 964 eine Netzwerkschnittstellenkomponente oder eine andere geeignete Vorrichtung umfassen, die eingerichtet ist, eine Schnittstelle mit dem Netzwerk 980 zu bilden. In weiteren Beispielen können die Kommunikationskomponenten 964 drahtgebundene Kommunikationskomponenten, drahtlose Kommunikationskomponenten, Mobilfunkkommunikationskomponenten, NFC Komponenten, Bluetooth® Komponenten (zum Beispiel Bluetooth® Low Energy), Wi-Fi® bzw. WLan Komponenten und andere Kommunikationskomponenten, um Kommunikation über andere Modalitäten bereitzustellen, umfassen. Die Vorrichtungen 970 können eine andere Maschine oder eine von einer breiten Vielfalt von Peripheriegeräten sein (zum Beispiel ein über USB angeschlossenes Peripheriegerät).
  • Weiter können die Kommunikationskomponenten 964 Identifikatoren erkennen oder Komponenten umfassen, die eingerichtet sind, um Identifikatoren zu erkennen. Zum Beispiel können die Kommunikationskomponenten 964 RFID Tag Lesekomponenten, NFC Smart-Tag Erkennungskomponenten, optische Lesekomponenten (zum Beispiel einen optischen Sensor, um eindimensionale Barcodes wie den universellen Produktcode („Universal Product Code”, UPC) Barcode, mehrdimensionale Barcodes wie den Quick Response (QR) Code, Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D Barcode und andere optische Codes) zu erkennen, oder akustische Erkennungskomponenten (zum Beispiel Mikrofone, um getaggte Audiosignale zu identifizieren). Darüber hinaus kann eine Vielfalt von Information über die Kommunikationskomponenten 964 abgeleitet werden, wie etwa der Ort aus Internet Protocol (IP) Ortsbestimmung, Positionsbestimmung mittels Wi-Fi® bzw. WLan Signaltriangulation, Positionsbestimmung mittels Erkennung eines NFC Funkfeuersignals, das eine bestimmte Position anzeigen kann, und so weiter.
  • Übertragungsmedium
  • In verschiedenen beispielhaften Ausführungsformen kann ein Teil oder können mehrere Teile des Netzwerks 980 ein ad hoc Netzwerk, ein Intranet, ein Extranet, ein VPN, ein LAN, ein WLAN, ein WAN, ein WWAN, ein MAN, das Internet, ein Teil des Internets, ein Teil des PSTN, ein POTS Netzwerk, ein Mobilfunknetzwerk, ein drahtloses Netzwerk, ein Wi-Fi® bzw. WLan Netzwerk, ein anderer Typ von Netzwerk, oder eine Kombination von zweien oder mehreren solcher Netzwerke sein. Zum Beispiel kann das Netzwerk 980 oder ein Teil des Netzwerks 980 ein drahtloses oder Mobilfunknetzwerk umfassen, und die Kopplung 982 kann eine Code Division Mehrere Access (CDMA) Verbindung, eine Global System for Mobile communications (GSM) Verbindung, oder ein anderer Typ von Mobilfunk- oder drahtloser Kopplung sein. In diesem Beispiel kann die Kopplung 982 eine beliebige von einer Vielfalt von Arten von Datenübertragungstechnologien implementieren, wie Single Carrier Radio Transmission Technologie (IxRTT), Evolution-Data Optimized (EVDO) Technologie, General Packet Radio Service (GPRS) Technologie, Enhanced Data rates for GSM Evolution (EDGE) Technologie, dritten Generation Partnership Project (3 GPP) einschließlich 3G, drahtlose Netzwerke vierter Generation (4G), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) Standard, andere von verschiedenen Standardisierungsgremien definierte, andere Weitbereichsprotokolle, oder andere Datenübertragungstechnologie umfassen.
  • Die Anweisungen 916 können über das Netzwerk 980 übertragen oder empfangen werden unter Verwendung eines Übertragungsmediums über eine Netzwerkschnittstellenvorrichtung (zum Beispiel eine Netzwerkschnittstellenkomponente, die in den Kommunikationskomponenten 964 enthalten ist) und unter Verwendung eines beliebigen von einer Anzahl wohlbekannter Übertragungsprotokolle (zum Beispiel HTTP). Auf ähnliche Weise können die Anweisungen 916 übertragen oder empfangen werden unter Verwendung eines Übertragungsmediums über die Kopplung 972 (zum Beispiel eine Peer-zu-Peer Kopplung) an Vorrichtungen 970. Der Begriff ”Übertragungsmedium” soll so verstanden werden, dass dieser jedes nicht greifbare Medium umfasst, das in der Lage ist, Anweisungen 91 zur Ausführung durch die Maschine 900 zu speichern, zu codieren oder zu tragen, und beinhaltet digitale oder analoge Kommunikationssignale oder ein anderes Medium, um die Kommunikation solcher Software zu ermöglichen.
  • Weiter ist das maschinenlesbare Medium 938 nicht transitorisch (in anderen Worten, weist keine transitorischen Signale auf), in dem Sinn, dass es kein Ausbreitungssignal verkörpert. Die Bezeichnung des maschinenlesbaren Mediums 938 als ”nicht transitorisch” sollte jedoch nicht so ausgelegt werden, dass das Medium nicht zur Bewegung in der Lage ist; das Medium sollte als von einem physischen Ort zum anderen transportierbar betrachtet werden. Zudem kann, da das maschinenlesbare Medium 938 greifbar ist, das Medium als eine maschinenlesbare Vorrichtung betrachtet werden.
  • Sprache
  • In der gesamten Beschreibung können mehrere Instanzen Komponenten, Operationen oder Strukturen implementieren, die als eine einzelne Instanz beschrieben sind. Obwohl einzelne Operationen von einem oder von mehreren Verfahren als separate Operationen beschrieben sind, kann eine oder können mehrere der einzelnen Operationen gleichzeitig ausgeführt werden, und es besteht keine Anforderung, dass die Operationen in der dargestellten Reihenfolge ausgeführt werden. Strukturen und Funktionalitäten, die als separate Komponenten in beispielhaften Ausführungsformen dargestellt sind, können als kombinierte Struktur oder Komponente implementiert werden. Auf ähnliche Weise können Strukturen und Funktionalitäten, die als eine einzelne Komponente präsentiert sind, als separate Komponenten implementiert werden. Diese und andere Abwandlungen, Modifikationen, Hinzufügungen und Verbesserungen fallen in den Bereich des Gegenstands.
  • Obwohl eine Übersicht des erfinderischen Gegenstandes mit Bezug auf spezifische beispielhafte Ausführungsformen beschrieben wurde, können verschiedene Modifikationen und Änderungen an diesen Ausführungsformen gemacht werden, ohne den breiteren Bereich der Ausführungsformen der vorliegenden Offenbarung zu verlassen. Solche Ausführungsformen des erfinderischen Gegenstandes mögen hierin, einzeln oder kollektiv, mit dem Begriff „Erfindung” lediglich der Bequemlichkeit halber bezeichnet werden und ohne damit zu beabsichtigen, den Bereich dessen Anwendung freiwillig zu beschränken auf irgendeine einzelne Offenbarung oder einzelnes erfinderisches Konzept, wenn tatsächlich mehr als eine(s) offenbart ist.
  • Die hierin gezeigten Ausführungsformen sind in hinreichendem Detail beschrieben, um die Fachleute in die Lage zu versetzen, die offenbarten Lehren zu verwirklichen. Andere Ausführungsformen mögen verwendet werden, und es mag davon abgewichen werden, so dass strukturelle und logische Ersetzungen vorgenommen werden können, ohne von dem Bereich dieser Offenbarung abzuweichen. Die detaillierte Beschreibung ist daher nicht in einem beschränkenden Sinne zu verstehen, und der Bereich der verschiedenen Ausführungsformen ist allein durch die beigefügten Ansprüche definiert, zusammen mit dem vollen Bereich der Äquivalente, zu dem die derartigen Ansprüche berechtigt sind.
  • Wie hierin verwendet kann der Begriff „oder” sowohl in einem einschließenden als auch einem ausschließenden Sinne verstanden werden. Weiter mögen mehrere Instanzen für Ressourcen, Operationen oder Strukturen vorgesehen werden, die hierin als einzelne Instanzen beschrieben sind.
  • Darüber hinaus sind Grenzen zwischen verschiedenen Ressourcen, Operationen, Modulen, Werken und Datenspeichern etwas arbiträr, und bestimmte Operationen sind in einem Kontext spezifischer beispielhafter Konfigurationen dargestellt. Andere Allokationen von Funktionalität sind angedacht und mögen in einen Bereich verschiedener Ausführungsformen der vorliegenden Offenbarung fallen. Allgemein können Strukturen und Funktionalität, die als separate Ressourcen in den beispielhaften Konfigurationen als kombinierte Struktur oder Ressource implementiert werden. Auf ähnliche Weise können Strukturen und Funktionalität, die als eine einzelne Ressource dargestellt sind, als separate Ressourcen implementiert werden. Diese und andere Abwandlungen, Modifikationen, Hinzufügungen und Verbesserungen fallen in einen Bereich von Ausführungsformen der vorliegenden Offenbarung wie durch die beigefügten Ansprüche repräsentiert. Die Beschreibung und die Zeichnungen sind daher entsprechend als beispielhaft und nicht in einem beschränkenden Sinne zu betrachten.

Claims (35)

  1. System zum Verwalten einer aggregierten Liste, wobei das System zumindest einen Prozessor umfasst, der konfiguriert ist, Operationen auszführen, welche umfassen: Empfangen, von einem Netzwerk, von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, wobei die Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, wobei die aggregierte Liste mit zumindest einem Benutzer assoziiert ist, wobei der erste Datenquellentyp ein verbundenes Gerät repräsentiert; Verarbeiten, unter Verwendung zumindest eines Prozessors, der Sensordaten basierend auf einem prädiktiven Modellieren, das assoziiert ist mit einem Verbrauch des zumindest einen Artikels, der der aggregierten Liste hinzuzufügen ist von dem ersten Datenquellentyp, um automatisch Lerndaten zu erzeugen, wobei die Lerndaten mit einem zweiten Datenquellentyp assoziiert sind und zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem zweiten Datenquellentyp hinzuzufügen ist; Empfangen, von dem Netzwerk, von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem dritten Datenquellentyp hinzuzufügen ist; Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste hinzugefügt wurde von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp und dem dritten Datenquellentyp.
  2. System nach Anspruch 1, wobei die Operationen weiter umfassen: Empfangen, von dem Netzwerk, von Bedingungseingabedaten und von Bedingungskriterien, wobei die Bedingungseingabedaten mit einem vierten Datenquellentyp assoziiert sind; Verarbeiten, unter Verwendung des zumindest einen Prozessors, der Bedingungseingabedaten, um zu bestimmen, ob die Bedingungseingabedaten die Bedingungskriterien erfüllen; automatisches Erzeugen, unter Verwendung zumindest eines Prozessors, von Bedingungsdaten, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem vierten Datenquellentyp hinzuzufügen ist.
  3. System nach Anspruch 2, worin die Lerndaten für den zumindest einen Artikel, der der aggregierten Liste hinzuzufügen ist, von den Bedingungsdaten überstimmt werden können.
  4. System nach Anspruch 2, worin die Operationen zum Erstellen der aggregierten Liste weiter umfassen: Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, dem dritten Datenquellentyp und dem vierten Datenquellentyp, hinzugefügt wurde.
  5. System nach Anspruch 1, worin der dritte Datenquellentyp eine oder mehrere Personen beinhaltet, welche mit dem zumindest einen Benutzer assoziiert sind; und worin die Nicht-Sensordaten benutzerspezifizierte Daten beinhalten, welche den zumindest einen Artikel repräsentieren, der der aggregierten Liste von der einen oder den mehreren Personen hinzuzufügen ist.
  6. System nach Anspruch 1, worin die Sensordaten den zumindest einen Artikel, der der aggregierten Liste hinzuzufügen ist, und assoziierte Produktidentifikationsinformation beinhalten.
  7. System nach Anspruch 6, worin die Produktidentifikationsinformation eine Artikelnummer des zumindest einen Artikels auf der aggregierten Liste beinhaltet.
  8. System nach Anspruch 7, worin die Artikelnummer von einem Händlerbestandssystem, das mit einem Netzwerk von verbundenen Händlern assoziiert ist, verwendbar ist, um zu bestimmen, ob ein oder mehrere verbundene Händler einen verfügbaren Bestand des zumindest einen Artikels auf der aggregierten Liste hat.
  9. System nach Anspruch 6, wobei die Operationen weiter umfassen: Bestimmen, basierend auf der Produktidentifikationsinformation, ob zumindest ein Händler des Netzwerks von verbundenen Händlern einen exakten Treffer mit Bestand für einen Artikel auf der aggregierten Liste hat; wenn der exakte Treffer nicht erfolgreich bestimmt wird, Bestimmen, welcher von dem zumindest einen Händler des Netzwerks von verbundenen Händlern einen am nächsten kommenden Treffer mit Bestand für den einen Artikel auf der aggregierten Liste hat; und wenn der am nächsten kommende Treffer nicht erfolgreich ist, Bestimmen, ob zumindest ein Händler des Netzwerks von verbundenen Händlern ein generisches Produkt hat, das dieselbe Produktkategorie hat, wie der eine Artikel auf der aggregierten Liste.
  10. System nach Anspruch 1, worin die Operationen zum Empfangen, von dem Netzwerk, der Nicht-Sensordaten weiter umfassen: Empfangen der Nicht-Sensordaten von einer Cloud-Rechnerumgebung, wobei die Cloud-Rechnerumgebung eine Listenanwendung hostet, auf die eine Clientvorrichtung zugreifen kann, wobei die Listenanwendung die Nicht-Sensordaten über die Clientvorrichtung empfängt.
  11. System nach Anspruch 1, wobei die Operationen weiter umfassen: Identifizieren von verfügbarem Bestand für den zumindest einen Artikel auf der aggregierten Liste von einem oder von mehreren Händlern in einem Netzwerk von verbundenen Händlern.
  12. System nach Anspruch 11, wobei die Operationen weiter umfassen: Identifizieren von verfügbaren Werbenachlässen, die mit dem zumindest einen Artikel auf der aggregierten Liste assoziiert sind, die von einem oder von mehreren Händlern innerhalb des Netzwerks von verbundenen Händlern angeboten werden.
  13. System nach Anspruch 1, worin der zweite Datenquellentyp eine Lernmaschine repräsentiert.
  14. System nach Anspruch 1, worin der dritte Datenquellentyp eine Listenanwendung repräsentiert.
  15. System nach Anspruch 1, wobei die Operationen weiter umfassen: Empfangen, von dem Netzwerk, von Nicht-Sensordaten, die mit einem fünften Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem fünften Datenquellentyp hinzuzufügen ist, wobei der fünfte Datenquellentyp eine Rezeptanwendung repräsentiert; und worin das Erstellen der aggregierten Liste weiter umfasst: Erstellen einer aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, dem dritten Datenquellentyp und dem fünften Datenquellentyp hinzugefügt wurde.
  16. System zum Verwalten von Systemressourcen, umfassend: zumindest einen Prozessor, der konfiguriert ist, Operationen für Prozessorimplementierte Module auszuführen, welche beinhalten: ein Bestandsverwaltungssystem, das konfiguriert ist zum: Empfangen von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, wobei die Sensordaten zumindest einen Artikel repräsentieren, der einer aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, wobei die aggregierte Liste mit zumindest einem Benutzer assoziiert ist, wobei der erste Datenquellentyp ein verbundenes Gerät repräsentiert; und von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem dritten Datenquellentyp hinzuzufügen ist; eine Lernmaschine, die konfiguriert ist, die Sensordaten zu verarbeiten basierend auf einem prädiktiven Modellieren, das mit einem Verbrauch des zumindest einen Artikels, der der aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, assoziiert ist, um automatisch Lerndaten zu erstellen, wobei die Lerndaten mit einem zweiten Datenquellentyp assoziiert sind und zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem zweiten Datenquellentyp hinzuzufügen ist; und ein System zum Erstellen einer aggregierten Liste, das konfiguriert ist, die aggregierte Liste von Artikeln, welche zumindest einen Artikel, der der aggregierten Liste von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp und dem dritten Datenquellentyp hinzugefügt wurde, repräsentieren, zu erstellen.
  17. System nach Anspruch 16, weiter umfassend: ein Bedingungssystem, das konfiguriert ist zum: Empfangen von Bedingungseingabedaten und von Bedingungskriterien, wobei die Bedingungseingabedaten mit einem vierten Datenquellentyp assoziiert sind; Verarbeiten der Bedingungseingabedaten, um zu bestimmen, ob die Bedingungseingabedaten die Bedingungskriterien erfüllen; und automatisches Erstellen von Bedingungsdaten, welche zumindest einen Artikel repräsentieren der der aggregierten Liste von dem vierten Datenquellentyp hinzuzufügen ist.
  18. System nach Anspruch 16, weiter umfassend: ein Händlerbestandssystem, das konfiguriert ist, einen verfügbaren Bestand für den zumindest einen Artikel auf der aggregierten Liste von einem oder von mehreren Händlern innerhalb des Netzwerks von verbundenen Händlern zu identifizieren.
  19. System nach Anspruch 18, weiter umfassend: ein Werbeanzeigenerzeugungsmodul, das konfiguriert ist, verfügbare Werbenachlässe zu identifizieren, die mit dem zumindest einen Artikel auf der aggregierten Liste assoziiert sind, welche von einem oder von mehreren Händlern innerhalb des Netzwerks von verbundenen Händlern angeboten werden.
  20. Maschinenlesbares Medium, welches Anweisungen speichert, welche, wenn diese von zumindest einem Prozessor einer Maschine ausgeführt werden, die Maschine dazu veranlassen, Operationen auszuführen, welche umfassen: Empfangen von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, wobei die Sensordaten zumindest einen Artikel repräsentieren, der einer aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, wobei die aggregierte Liste mit zumindest einem Benutzer assoziiert ist, wobei der erste Datenquellentyp ein verbundenes Gerät repräsentiert; Verarbeiten der Sensordaten basierend auf einem prädiktivem Modellieren, das mit einem Verbrauch des zumindest einen Artikels assoziiert ist, der der aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, um automatisch Lerndaten zu erstellen, wobei die Lerndaten mit einem zweiten Datenquellentyp assoziiert sind und zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem zweiten Datenquellentyp hinzuzufügen ist; Empfangen von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem dritten Datenquellentyp hinzuzufügen ist; und Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, und dem dritten Datenquellentyp hinzugefügt wurde.
  21. Maschinenlesbares Medium, welches Anweisungen speichert, welche, wenn diese von zumindest einem Prozessor einer Maschine ausgeführt werden, die Maschine dazu veranlassen: Empfangen, von einem Netzwerk, von Sensordaten, die mit einem ersten Datenquellentyp assoziiert sind, wobei die Sensordaten zumindest einen Artikel repräsentieren, der einer aggregierten Liste von dem ersten Datenquellentyp hinzuzufügen ist, wobei die aggregierte Liste mit zumindest einem Benutzer assoziiert ist, wobei der erste Datenquellentyp ein verbundenes Gerät repräsentiert; Verarbeiten, unter Verwendung zumindest eines Prozessors, der Sensordaten basierend auf einem prädiktiven Modellieren, das assoziiert ist mit einem Verbrauch des zumindest einen Artikels, der der aggregierten Liste hinzuzufügen ist von dem ersten Datenquellentyp, um automatisch Lerndaten zu erzeugen, wobei die Lerndaten mit einem zweiten Datenquellentyp assoziiert sind und zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem zweiten Datenquellentyp hinzuzufügen ist; Empfangen, von dem Netzwerk, von Nicht-Sensordaten, die mit einem dritten Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem dritten Datenquellentyp hinzuzufügen ist; Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste hinzugefügt wurde von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp und dem dritten Datenquellentyp.
  22. Maschinenlesbares Medium nach Anspruch 21, wobei die Anweisungen die Maschine weiter veranlassen zum: Empfangen, von dem Netzwerk, von Bedingungseingabedaten und von Bedingungskriterien, wobei die Bedingungseingabedaten mit einem vierten Datenquellentyp assoziiert sind; Verarbeiten, unter Verwendung des zumindest einen Prozessors, der Bedingungseingabedaten, um zu bestimmen, ob die Bedingungseingabedaten die Bedingungskriterien erfüllen; automatisches Erzeugen, unter Verwendung zumindest eines Prozessors, von Bedingungsdaten, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem vierten Datenquellentyp hinzuzufügen ist.
  23. Maschinenlesbares Medium nach Anspruch 22, worin die Lerndaten für den zumindest einen Artikel, der der aggregierten Liste hinzuzufügen ist, von den Bedingungsdaten überstimmt werden können.
  24. Maschinenlesbares Medium nach Anspruch 22, worin die Anweisungen zum Erstellen der aggregierten Liste weiter Anweisungen umfassen zum: Erstellen der aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der der aggregierten Liste von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, dem dritten Datenquellentyp und dem vierten Datenquellentyp, hinzugefügt wurde.
  25. Maschinenlesbares Medium nach Anspruch 21, worin der dritte Datenquellentyp eine oder mehrere Personen beinhaltet, welche mit dem zumindest einen Benutzer assoziiert sind; und worin die Nicht-Sensordaten benutzerspezifizierte Daten beinhalten, welche den zumindest einen Artikel repräsentieren, der der aggregierten Liste von der einen oder den mehreren Personen hinzuzufügen ist.
  26. Maschinenlesbares Medium nach Anspruch 21, worin die Sensordaten den zumindest einen Artikel, der der aggregierten Liste hinzuzufügen ist, und assoziierte Produktidentifikationsinformation beinhalten.
  27. Maschinenlesbares Medium Anspruch 26, worin die Produktidentifikationsinformation eine Artikelnummer des zumindest einen Artikels auf der aggregierten Liste beinhaltet.
  28. Maschinenlesbares Medium nach Anspruch 27, worin die Artikelnummer von einem Händlerbestandssystem, das mit einem Netzwerk von verbundenen Händlern assoziiert ist, verwendbar ist zum bestimmen, ob ein oder mehrere verbundene Händler einen verfügbaren Bestand des zumindest einen Artikels auf der aggregierten Liste hat.
  29. Maschinenlesbares Medium nach Anspruch 26, weiter umfassend Anweisungen zum: Bestimmen, basierend auf der Produktidentifikationsinformation, ob zumindest ein Händler des Netzwerks von verbundenen Händlern einen exakten Treffer mit Bestand für einen Artikel auf der aggregierten Liste hat; wenn der exakte Treffer nicht erfolgreich bestimmt wird, Bestimmen, welcher von dem zumindest einen Händler des Netzwerks von verbundenen Händlern einen am nächsten kommenden Treffer mit Bestand für den einen Artikel auf der aggregierten Liste hat; und wenn der am nächsten kommende Treffer nicht erfolgreich ist, Bestimmen, ob zumindest ein Händler des Netzwerks von verbundenen Händlern ein generisches Produkt hat, das dieselbe Produktkategorie hat, wie der eine Artikel auf der aggregierten Liste.
  30. Maschinenlesbares Medium nach Anspruch 21, worin die Anweisungen zum Empfangen, von dem Netzwerk, der Nicht-Sensordaten weiter Anweisungen umfassen zum: Empfangen der Nicht-Sensordaten von einer Cloud-Rechnerumgebung, wobei die Cloud-Rechnerumgebung eine Listenanwendung hostet, auf die eine Clientvorrichtung zugreifen kann, wobei die Listenanwendung die Nicht-Sensordaten über die Clientvorrichtung empfängt.
  31. Maschinenlesbares Medium nach Anspruch 21, weiter umfassend Anweisungen zum: Identifizieren von verfügbarem Bestand für den zumindest einen Artikel auf der aggregierten Liste von einem oder von mehreren Händlern in einem Netzwerk von verbundenen Händlern.
  32. Maschinenlesbares Medium nach Anspruch 31, weiter umfassend Anweisungen zum: Identifizieren von verfügbaren Werbenachlässen, die mit dem zumindest einen Artikel auf der aggregierten Liste assoziiert sind, die von einem oder von mehreren Händlern innerhalb des Netzwerks von verbundenen Händlern angeboten werden.
  33. Maschinenlesbares Medium nach Anspruch 21, worin der zweite Datenquellentyp eine Lernmaschine repräsentiert.
  34. Maschinenlesbares Medium nach Anspruch 21, worin der dritte Datenquellentyp eine Listenanwendung repräsentiert.
  35. Maschinenlesbares Medium nach Anspruch 21, weiter umfassend Anweisungen zum: Empfangen, von dem Netzwerk, von Nicht-Sensordaten, die mit einem fünften Datenquellentyp assoziiert sind, wobei die Nicht-Sensordaten zumindest einen Artikel repräsentieren, der der aggregierten Liste von dem fünften Datenquellentyp hinzuzufügen ist, wobei der fünfte Datenquellentyp eine Rezeptanwendung repräsentiert; und worin das Erstellen der aggregierten Liste weiter umfasst: Erstellen einer aggregierten Liste von Artikeln, welche zumindest einen Artikel repräsentieren, der von jedem von dem ersten Datenquellentyp, dem zweiten Datenquellentyp, dem dritten Datenquellentyp und dem fünften Datenquellentyp hinzugefügt wurde.
DE212014000220.6U 2013-11-22 2014-11-21 Dynamisches Erstellen von Listen Active DE212014000220U1 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361908020P 2013-11-22 2013-11-22
USUS-61/908,020 2013-11-22
US14/530,458 US20150149298A1 (en) 2013-11-22 2014-10-31 Dynamic list creation
USUS-14/530,458 2014-10-31
PCT/US2014/066937 WO2015077637A1 (en) 2013-11-22 2014-11-21 Dynamic list creation

Publications (1)

Publication Number Publication Date
DE212014000220U1 true DE212014000220U1 (de) 2016-06-23

Family

ID=53180223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE212014000220.6U Active DE212014000220U1 (de) 2013-11-22 2014-11-21 Dynamisches Erstellen von Listen

Country Status (5)

Country Link
US (1) US20150149298A1 (de)
AU (1) AU2014352762A1 (de)
CA (1) CA2929957A1 (de)
DE (1) DE212014000220U1 (de)
WO (1) WO2015077637A1 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130052616A1 (en) * 2011-03-17 2013-02-28 Sears Brands, L.L.C. Methods and systems for device management with sharing and programming capabilities
JP6148246B2 (ja) * 2012-10-26 2017-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 広告配信方法、及び広告配信システム
CN104969246B (zh) * 2013-03-11 2019-07-12 松下电器(美国)知识产权公司 信息取得方法以及信息取得***
US11107023B2 (en) * 2013-12-20 2021-08-31 Ebay Inc. Managed inventory
US11030571B2 (en) * 2013-12-20 2021-06-08 Ebay Inc. Managed inventory
US20160125516A1 (en) * 2014-10-29 2016-05-05 Xiaomi Inc. Method and device for displaying information
US10430858B1 (en) 2014-12-31 2019-10-01 Ebay Inc. E-commerce replacement or replenishment of consumable
US20160216859A1 (en) * 2015-01-23 2016-07-28 Kobo Incorporated Creating a list of items from selections of content within an e-book
US10360617B2 (en) 2015-04-24 2019-07-23 Walmart Apollo, Llc Automated shopping apparatus and method in response to consumption
US20160328765A1 (en) * 2015-05-08 2016-11-10 Ebay Inc. Enhanced supply and demand tool
US10311409B1 (en) * 2015-06-26 2019-06-04 Amazon Technologies, Inc. Detection and interpretation of visual indicators
US10339494B2 (en) * 2015-06-30 2019-07-02 International Business Machines Corporation Event management using natural language processing
KR102113235B1 (ko) * 2015-07-28 2020-06-29 마스터카드 인터내셔날, 인코포레이티드 향상된 스마트 냉장고 시스템 및 방법
US10474987B2 (en) 2015-08-05 2019-11-12 Whirlpool Corporation Object recognition system for an appliance and method for managing household inventory of consumables
CN105091499B (zh) * 2015-08-18 2017-06-16 小米科技有限责任公司 信息生成方法及装置
WO2017058942A1 (en) * 2015-10-02 2017-04-06 United States Postal Service System and method of entering item into distribution network or service
CA3001335A1 (en) * 2015-10-16 2017-04-20 Shuvro CHAKROBARTTY Sensor data analytics and alarm management
MX2018005438A (es) 2015-10-29 2019-03-14 Walmart Apollo Llc Venta de articulos al menudeo en un entorno de internet.
US10373522B2 (en) * 2016-01-05 2019-08-06 International Business Machines Corporation Generative group-based meal planning system and method
MX2018008789A (es) * 2016-01-19 2019-03-28 Walmart Apollo Llc Sistema de pedido de articulos consumibles.
MX2018013369A (es) 2016-05-05 2019-03-28 Walmart Apollo Llc Sistemas y metodos independientes de motores para el monitoreo y pronostico de eventos.
US20170345079A1 (en) * 2016-05-31 2017-11-30 Accenture Global Solutions Limited Network of smart appliances
US10586266B2 (en) 2016-11-22 2020-03-10 OrderGroove, Inc. Dynamic processing of electronic messaging data and protocols to automatically generate location predictive retrieval using a networked, multi-stack computing environment
US11640636B2 (en) 2016-11-22 2023-05-02 Ordergroove, Llc Sensors and executable instructions to compute consumable usage to automate replenishment or service of consumables via an adaptive distribution platform
US10769708B2 (en) * 2016-11-22 2020-09-08 OrderGroove, Inc. Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform
US12014407B2 (en) 2016-11-22 2024-06-18 Ordergroove, Llc Adaptive scheduling to facilitate optimized distribution of subscribed items
US11416810B2 (en) 2017-04-04 2022-08-16 OrderGroove, Inc. Electronic messaging to distribute items based on adaptive scheduling
US20180187954A1 (en) * 2017-01-03 2018-07-05 Samsung Electronics Co., Ltd. Home appliance, mobile device and control method of the same
US10324439B2 (en) * 2017-01-07 2019-06-18 International Business Machines Corporation Food freshness management
US9965798B1 (en) * 2017-01-31 2018-05-08 Mikko Vaananen Self-shopping refrigerator
US11900439B2 (en) 2017-04-04 2024-02-13 Ordergroove, Llc Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform
US12014325B2 (en) 2017-04-04 2024-06-18 Ordergroove, Llc Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform
US11537980B2 (en) 2017-04-04 2022-12-27 OrderGroove, Inc. Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform
SG10201704333RA (en) * 2017-05-26 2018-12-28 Mastercard International Inc System and method for managing a network connected appliance
US10614507B2 (en) * 2017-07-03 2020-04-07 Mastercard International Incorporated Systems and methods for using smart appliances to provide contextual user experiences
US10354317B2 (en) * 2017-07-10 2019-07-16 International Business Machines Corporation Inventory management
KR102473583B1 (ko) * 2017-08-30 2022-12-05 삼성전자주식회사 냉장고 및 그 제어 방법
US20190108287A1 (en) * 2017-10-11 2019-04-11 NutriStyle Inc Menu generation system tying healthcare to grocery shopping
JP6693497B2 (ja) 2017-12-27 2020-05-13 トヨタ自動車株式会社 輸送システム、および輸送システムに用いられる情報処理装置、および情報処理方法
US20190228352A1 (en) 2018-01-19 2019-07-25 Walmart Apollo, Llc Systems and methods for combinatorial resource optimization
US11869066B2 (en) 2018-02-06 2024-01-09 Honeywell International Inc. Automatic ordering apparatus
JP6548771B1 (ja) * 2018-04-05 2019-07-24 和則 藤沢 消費財調達支援システム
US11615368B2 (en) * 2018-11-01 2023-03-28 Walmart Apollo, Llc Systems and methods for determining delivery time and route assignments
US11200892B1 (en) 2018-12-10 2021-12-14 Amazon Technologies, Inc. Speech-enabled augmented reality user interface
US11941676B2 (en) * 2019-12-17 2024-03-26 Ebay Inc. Automatic ordering of consumable items
US11682063B2 (en) 2020-05-18 2023-06-20 Amazon Technologies, Inc. Shopping list and cart integration
CN113915822A (zh) * 2021-01-22 2022-01-11 海信(山东)冰箱有限公司 冰箱、冰箱控制方法、冰箱自动补货方法和***
US11880880B1 (en) * 2021-03-17 2024-01-23 Amazon Technologies, Inc. Facilitating purchase of items defined by user-created item lists

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL82433A0 (en) * 1987-05-06 1987-11-30 Tadiran Ltd Minibar with remote centralized billing
US8001017B1 (en) * 2000-03-27 2011-08-16 Hector Franco Supply-chain management system
US7599855B2 (en) * 2001-02-13 2009-10-06 Lester Sussman System and method for a complete and convenient shopping experience
US9213965B1 (en) * 2008-11-26 2015-12-15 Metabank Machine, methods, and program product for electronic inventory tracking
US8423994B2 (en) * 2009-05-14 2013-04-16 Microsoft Corporation Recipe based application conversion
US8350697B2 (en) * 2009-05-18 2013-01-08 Alarm.Com Incorporated Remote device control and energy monitoring by analyzing data and applying rules
CN102611721B (zh) * 2011-01-24 2015-06-17 鸿富锦精密工业(深圳)有限公司 存取网关及其提供云存储服务方法
US8635291B2 (en) * 2011-02-18 2014-01-21 Blackberry Limited Communication device and method for overriding a message filter
US9053510B2 (en) * 2011-04-04 2015-06-09 David L. McEwan Shopping apparatus and methods
US20120303480A1 (en) * 2011-05-27 2012-11-29 Ebay, Inc. Systems and Methods for an Electronic Shopping List
US20130290234A1 (en) * 2012-02-02 2013-10-31 Visa International Service Association Intelligent Consumer Service Terminal Apparatuses, Methods and Systems
US9117177B1 (en) * 2013-05-30 2015-08-25 Amazon Technologies, Inc. Generating module stubs

Also Published As

Publication number Publication date
WO2015077637A1 (en) 2015-05-28
US20150149298A1 (en) 2015-05-28
AU2014352762A1 (en) 2016-07-07
CA2929957A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
DE212014000220U1 (de) Dynamisches Erstellen von Listen
US20200258119A1 (en) System and method for personalized add-on purchase
US20210358006A1 (en) System and methods for personalization and enhancement of a marketplace
JP6802370B2 (ja) 製品タイトルの選択
US20230075666A1 (en) Apparatuses, computer program products, and methods for generation of augmented reality interfaces
US20150278912A1 (en) Data mesh based zero effort shopping
US20120054113A1 (en) Systems and methods to determine item disposal options
US20140279204A1 (en) Recurring transactions for purchases
US20150199746A1 (en) Recommendation machine
US20210319017A1 (en) Mobile search
CN107003987A (zh) 增强的搜索查询建议
US20150088693A1 (en) Method for displaying and navigating internet search results
US20150278859A1 (en) Recurring commerce
US20200005382A1 (en) Techniques for providing event reminders
US20220343410A1 (en) Managing products at a physical marketplace
CN110785755B (zh) 用于内容生成的上下文识别
US20210133851A1 (en) Personalized content based on interest levels
AU2013286819B2 (en) Methods, systems or computer programs for logistic planning based on proximity constraints and/or price optimization
US20160292773A1 (en) System and method for automatically purchasing multiple items based on a budget
US20240144338A1 (en) Systems and methods for generating virtual tags for items in a physical environment
Ntawanga et al. Using the living lab approach to develop and adapt a context-aware ICT4D solution
WO2014193585A1 (en) Recommendation machine

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0015180000

Ipc: G06N0020000000

R152 Utility model maintained after payment of third maintenance fee after eight years