DE10196672B4 - Verfahren zum selektiven Indizieren von Datenbanken - Google Patents
Verfahren zum selektiven Indizieren von Datenbanken Download PDFInfo
- Publication number
- DE10196672B4 DE10196672B4 DE10196672T DE10196672T DE10196672B4 DE 10196672 B4 DE10196672 B4 DE 10196672B4 DE 10196672 T DE10196672 T DE 10196672T DE 10196672 T DE10196672 T DE 10196672T DE 10196672 B4 DE10196672 B4 DE 10196672B4
- Authority
- DE
- Germany
- Prior art keywords
- fields
- data
- time
- product
- indexed
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Selektieren einer Menge von Feldern in der Datenbank, wobei die Felder in einer Spalte einer Tabelle in der Datenbank lokalisiert sind;
Bestimmen der Gesamtzeit, die zum Lesen von Daten aus den Feldern während einer ausgewählten Zeitdauer benötigt wird, wenn die Felder indiziert sind;
Bestimmen der Gesamtzeit, die zum Lesen von Daten während der gewählten Zeitdauer benötigt wird, wenn die Felder nicht indiziert sind;
Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern während der gewählten Zeitdauer benötigt wird, wenn die Felder indiziert sind;
Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern während einer gewählten Zeitdauer benötigt wird, wenn die Felder nicht indiziert sind; und
Beurteilen der Gesamtzeiten, die zum Lesen und Schreiben von Daten in den Feldern benötigt wird, um zu bestimmen, ob die Felder indiziert werden sollen.
Description
- Die Erfindung bezieht sich auf den Bereich des Datenbankmanagements und insbesondere auf ein Verfahren zum selektiven Indizieren von Datenbanken.
- Aufgrund der immer weiter steigenden Popularität und Zugänglichkeit des Internets als Kommunikationsmedium zwischen Menschen auf der ganzen Welt ist die Anzahl der Geschäftstransaktionen („e-commerce”), die unter Benutzung des Internets durchgeführt werden, ebenfalls exponentiell steigend. Die überwiegende Zahl von elektronischen e-commerce Transaktionen tritt dann auf, wenn ein Käufer den Bedarf für ein Produkt bestimmt, einen Verkäufer herausfindet, der dieses Produkt anbietet, und das Webangebot des Verkäufers besucht, um den Kauf des Produktes zu regeln. Hat der Käufer keinen bevorzugten Verkäufer oder kauft der Käufer das Produkt zum ersten Mal, wird er oft eine Suche nach einer Vielzahl von Verkäufern durchführen, die dieses Produkt anbieten, und wird dann mehrere Verkäufer-Webangebote besuchen, um zu entscheiden, welcher Verkäufer bestimmte gewünschte Produktmerkmale zum besten Preis anbietet. Die vielfachen eins-zu-eins (ein Käufer zu einem Verkäufer) Suchvorgänge, die dieses Verfahren erfordert, sind ineffizient aufgrund der großen Anzahl von Suchvorgängen, die das Finden dieses Produktes erfordert, und da, sobald ein bestimmtes Produkt gefunden ist, die verschiedenen Angebote dieses Produktes von verschiedenen Verkäufern nicht einfach verglichen werden können.
- Gemäß der vorliegenden Erfindung wird das Problem gelöst, Effizienz und Geschwindigkeit von Datenlesevorgängen und Datenschreibvorgängen in einer Datenbank zu optimieren.
- In der
US 5,551,027 A wird mehrlagiges Indizierungsverfahren für eine partitionierte Tabelle in einem Datenbanksystem beschrieben. Dabei wird für jede Partition der Tabelle ein lokaler Index erstellt. Darüber wird ein grober globaler Index erstellt, der es erlaubt, Zugriffsanfragen schnell auf die entsprechende Partition zu leiten. - In der
EP 0 423 683 B1 wird eine Vorrichtung zum Erzeugen eines Index für codierte Textdaten beschrieben, die insbesondere eine auf Wissen gestützte Indexerzeugungseinheit aufweist, die Indexeinträge anhand von auf Wissen beruhenden Regeln erstellt. - In der
EP 0 784 280 A2 wird ein automatisches Indexverfahren beschrieben, bei dem aus elektronischen Publikationen Informationen entnommen werden, um daraus einen Index zu erstellen. - Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren zum selektiven Indizieren einer Datenbank das Auswählen einer Menge von Feldern in der Datenbank. Die ausgewählten Felder sind in einer Spalte einer Tabelle in der Datenbank angeordnet. Das Verfahren beinhaltet weiter das Bestimmen der benötigten Gesamtzeit zum Lesen von Daten in den Feldern während einer gewählten Zeitdauer, wenn die Felder indiziert sind, und das Bestimmen der benötigten Gesamtzeit zum Lesen von Daten in den Feldern während der gewählten Zeitdauer, wenn die Felder nicht indiziert sind. Das Verfahren beinhaltet weiter das Bestimmen der benötigten Gesamtzeit zum Schreiben von Daten in den Feldern während der gewählten Zeitdauer, wenn die Felder indiziert sind, und das Bestimmen der benötigten Gesamtzeit zum Schreiben von Daten in den Feldern während der gewählten Zeitdauer, wenn die Felder nicht indiziert sind. Zusätzlich beinhaltet das Verfahren das Beurteilen der benötigten Gesamtzeit zum Lesen und Schreiben von Daten in den Feldern, um zu bestimmen, ob die Felder indiziert werden sollten.
- Bevorzugte Ausführungsformen der vorliegenden Erfindung werden in den Unteransprüchen beschrieben.
- Systeme und Verfahren, bei denen die vorliegende Erfindung Verwendung finden kann, stellen eine Anzahl wichtiger technischer Vorteile bereit. Ausführungsformen solcher Systeme und Verfahren stellen ein globales Inhaltsverzeichnis bereit, welches Zugriff auf Daten zur Verfügung stellt, die eine riesige Anzahl von Produkten betreffen. Demgemäss kann ein Käufer nach einem Produkt suchen unter Verwendung des globalen Inhaltsverzeichnisses, und das Erfordernis für den Käufer, viele Verkäufer zu suchen, um das gewünschte Produkt zu finden, wird reduziert oder ausgelöscht. Das globale Inhaltsverzeichnis stellt Zugriff auf Daten, zur Verfügung die diese vielen Produkte betreffen, unter Verwendung einer Verzeichnisstruktur, die Produkte unter Verwendung eines hierarchischen, objektorientierten Klassifikationssystems organisiert. Ein Käufer kann sich durch das Verzeichnis hindurchbewegen oder das Verzeichnis durchsuchen, um eine bestimmte Klassifikation von Produkten und verschiedene Informationen, die mit den Produkten innerhalb dieser Klassifikation verbunden sind, zu finden, eine Suche in Datenbanken starten einschließlich Daten, die sich auf ein Produkt beziehen, und dann mit einer geeigneten Datenbank kommunizieren. Dieser Zugriff auf eine riesige Anzahl von Produkten wird bereit gestellt ohne das Erfordernis, dass alle Daten über die Produkte in einer globalen Datenbank gespeichert sind (was die Leistung wesentlich mindern würde). Stattdessen können die Produktdaten in Verkäuferdatenbanken gespeichert werden, auf die schnell von dem globalen Inhaltsverzeichnis zugegriffen werden kann. Weiter kann das globale Inhaltsverzeichnis Käufer zu Verkäufern bringen, so dass, wenn der Käufer ein gewünschtes Produkt gefunden hat, eine Transaktion für das Produkt vervollständigt werden kann.
- Bestimmte Ausführungsformen von Systemen und Verfahren, bei denen die vorliegende Erfindung Verwendung finden kann, stellen weiter ein Nummerierungssystem bereit, das auf der hierarchischen Struktur des globalen Inhaltsverzeichnisses basiert. Dieses Nummerierungssystem liefert ein global eindeutiges – Identifizierungsmerkmal (GUID) für jedes Produkt in dem globalen Inhaltsverzeichnis. Dieses GUID kann Elemente beinhalten, die ein oder mehrere hierarchische Klassifikationen des globalen Inhaltsverzeichnisses identifizieren, in welchem ein Produkt enthalten ist, und kann zum Identifizieren von Merkmalen des Produktes verwendet werden. Zusätzlich kann ein GUID (oder ein verbundenes – Identifizierungsmerkmal) verwendet werden, um die Quelle eines Produktes anzugeben. Dementsprechend kann ein Käufer ein GUID verwenden, um ein Produkt zu identifizieren und um Informationen oder zusätzliche Transaktionen von der Quelle des Produktes anzufordern.
- Weiterhin stellen Ausführungsformen von Systemen und Verfahren, bei denen die vorliegende Erfindung Verwendung finden kann, Techniken zum Steigern der Leistung des globalen Inhaltsverzeichnisses und der verbundenen Verkäuferdatenbanken zur Verfügung. Eine solche Technik ist, Vorsorge zu treffen für die Migration und das Zwischenspeichern oder anderes Speichern von selektierten Produktdaten, die mit einem oder mehreren Verkäufern verbunden sind. Die Produktdaten werden zwischengespeichert oder auf andere Art gespeichert an einem oder mehreren Knotenpunkten in einem Netzwerk, wie beispielsweise dem Internet, welches verwendet wird, um die Käufer, Verkäufer und das globale Inhaltsverzeichnis zu verbinden. Da das globale Inhaltsverzeichnis einen Käufer zu einem Verkäufer eines bestimmten Produktes führen kann, sobald der Käufer unter Verwendung des globalen Inhaltsverzeichnisses das Produkt identifiziert hat, kann es von Vorteil sein, die Produktdaten, die eine Transaktion zwischen Käufer und Verkäufer ermöglichen, an einen Ort in der Nähe des Käufers zu migrieren und zwischenzuspeichern oder auf andere Art zu speichern. Dementsprechend werden die Kosten und die Effizienz zum Vervollständigen der Transaktion reduziert. Diese Produktdatenmigration kann auf Anweisung des globalen Inhaltsverzeichnisses dynamisch durchgeführt werden, um die Produktdaten näher an einem Käufer oder Käufern, die häufig auf die Produkte zugreifen müssen, zu lokalisieren.
- Die Leistung des globalen Inhaltsverzeichnisses kann weiter gesteigert werden unter Verwendung von selektiver dynamischer Indizierung einer oder mehrerer Verkäuferdatenbanken, die mit dem globalen Inhaltsverzeichnis verbunden sind. Obwohl das Indizieren von Daten in einer Datenbank oft die Geschwindigkeit steigert, mit welcher die Daten aus der Datenbank gelesen werden können, verlangsamt ein solches Indizieren üblicherweise das Aktualisieren oder Schreiben von Daten in der Datenbank. Demgemäss kann die Gesamtleistung des globalen Inhaltsverzeichnisses gesteigert werden durch selektives Indizieren bestimmter Produktdaten in den Verkäuferdatenbanken, um sowohl das Lesen als auch das Schreiben von Produktdaten zu optimieren. Ausführungsformen der vorliegenden Erfindung können bestimmen, ob eine bestimmte Art von Daten in einer Datenbank indiziert werden, basierend auf der Häufigkeit, mit welcher diese Daten auf Anfrage von Käufern gelesen werden, und der Häufigkeit, mit welcher die Daten von Verkäufern aktualisiert werden (sowie der Zeit, die zum Lesen und Aktualisieren der Daten benötigt wird). Diese Entscheidung kann individuell für jede Art von Daten getroffen werden und kann dynamisch sein, um Änderungen in diesen Häufigkeiten Rechnung zu tragen.
- Systeme und Verfahren, die eine oder mehrere dieser oder anderer technischen Vorteile einbeziehen, sind für moderne e-commerce Umgebungen gut angepasst. Andere technische Vorteile werden dem Durchschnittsfachmann anhand der nachfolgenden Figuren, Beschreibungen und Ansprüche offenbar werden.
- Um ein besseres Verständnis der vorliegenden Erfindung und den Merkmalen und Vorteilen derselben zu schaffen, wird in der nachfolgenden Beschreibung auf die beigefügten Zeichnungsfiguren Bezug genommen, in denen:
-
1 ein beispielhaftes e-commerce System aufzeigt; -
2 eine beispielhafte Verzeichnisstruktur eines beispielhaften globalen Inhaltsverzeichnisses darstellt; -
3 ein beispielhaftes global eindeutiges – Identifizierungsmerkmal darstellt, das verwendet werden kann zum eindeutigen Identifizieren von Produkten, auf die von einem globalen Inhaltsverzeichnis zugegriffen werden kann; -
4 eine beispielhafte Arbeitsweise eines e-commerce Systems darstellt; -
5 eine beispielhafte Tabelle darstellt, die in einer Verkäuferdatenbank eines e-commerce Systems beinhaltet sein kann; und -
6 ein beispielhaftes Verfahren darstellt zum Bestimmen, ob die Felder einer Tabelle in einer Verkäuferdatenbank indiziert werden. -
1 zeigt ein beispielhaftes elektronisches Handelssystem („e-commerce”)10 , welches ein Netzwerk12 umfasst, das Käufer20 , Verkäufer30 und einen globalen Inhaltsverzeichnis-Server40 (GCD-Server) verbindet. System10 ermöglicht elektronische Handelstransaktionen („e-commerce”) zwischen Käufern20 und Verkäufern30 durch die Benutzung eines globalen Inhaltsverzeichnisses (GCD)42 , unterstützt durch GCD-Server40 . Netzwerk12 kann jede geeignete Kombination von öffentlichen und privaten Netzwerken umfassen, welche Käufer20 , Verkäufer30 und GCD-Server40 verbindet. In einer beispielhaften Ausführungsform beinhaltet Netzwerk12 das Internet und alle geeigneten lokalen Netzwerke oder überregionale Netzwerke, welche Käufer20 , Verkäufer30 und GCD-Server40 mit dem Internet verbinden. Da das Internet für eine große Mehrheit von Käufern und Verkäufern in der ganzen Welt zugänglich ist, beinhaltet die vorliegende Erfindung all diese Käufer und Verkäufer als Käufer20 und Verkäufer30 von System10 . - Die Verwendung des Begriffes „global” sollte jedoch nicht als geographische Begrenzung interpretiert werden, die notwendigerweise voraussetzt, dass GCD
42 Verzeichnisdienste an Käufer20 und Verkäufer30 überall in der Welt bietet, oder dass der Inhalt von GCD42 aus der ganzen Welt ist. - Es sollte zur Kenntnis genommen werden, dass, obwohl Käufer
20 und Verkäufer30 als separate Einheiten beschrieben werden, ein Käufer20 in einer Transaktion ein Verkäufer30 in einer anderen Transaktion sein kann (und ein Verkäufer30 in einer Transaktion ein Käufer20 in einer anderen Transaktion sein kann). Die Begriffe „Käufer” und „Verkäufer” können verwendet werden, um sich auf ein Individuum oder eine Einheit zu beziehen, die an einer Transaktion beteiligt ist, und/oder der oder die von dem Individuum oder der Einheit benutzten Computer zum Durchführen einer Transaktion. Weiterhin bezieht sich die vorliegende Erfindung, obwohl die Begriffe „Käufer” und „Verkäufer” verwendet werden, auf jede geeignete Art von e-commerce Transaktionen und ist nicht begrenzt auf den Umfang von Waren, Dienstleistungen oder anderen Artikeln. - Obwohl ein Käufer
20 ein Bedürfnis für ein „Produkt” (in Bedeutung von alle Waren, Dienstleistungen, Informationen und andere materielle und immaterielle Artikel, die Gegenstand einer geeigneten Art von Transaktionen sein können) haben kann und mehrere Verkäufer das Produkt anbieten können, gibt es viele Schritte, die auftreten müssen, bevor eine Transaktion, die das Produkt betrifft, vervollständigt werden kann. Diese Schritte können beinhalten, sind aber nicht begrenzt auf: (1) das Katalogisieren von Produkten und Produktmerkmalen durch Verkäufer30 , (2) das Zusammentreffen der Nachfrage eines Käufers mit einem oder mehreren Produkten von einem oder mehreren Verkäufern30 (Durchsuchen der Verkäuferkataloge), (3) das Identifizieren von kommerzieller Information (wie beispielsweise Preis), die mit dem Produkt verbunden ist, (4) die Verbindung von Käufer20 mit einem potentiellen Verkäufer30 , (5) die Übereinstimmung darüber, was Verkäufer30 an Käufer20 bereit stellen soll, (6) die Verhandlung eines Preises, (7) die rechtliche Vereinbarung der Transaktion, und (8) logistische Vorbereitungen zur physischen Vervollständigung der Transaktion. - Die ersten drei Schritte können zusammengefasst werden zu dem, auf was man als „Findungs-”Phase einer Transaktion Bezug nehmen kann. In der Findungsphase vieler üblicher e-commerce Transaktionen führt ein Käufer
20 eine Suche nach einer Anzahl von Verkäufern30 durch, die ein gewünschtes Produkt anbieten, und greift dann auf zahlreiche Verkäuferwebangebote zu, um zu bestimmen, welcher Verkäufer30 bestimmte gewünschte Merkmale des Produktes zum besten Preis anbietet. Verkäufer30 können jeder eine oder mehrere Datenbanken32 bieten, wie beispielsweise relationale Datenbanken, welche Daten beinhalten, die die Produkte des Verkäufers und ihre Merkmale identifizieren. Auf solche Datenbanken32 kann über die Webangebot jedes Verkäufers oder auf jede andere geeignete Weise zugegriffen werden. Die vielfachen eins-zu-eins Suchvorgänge (ein Käufer20 zu einem Verkäufer30 ), die dieser Vorgang erfordert, sind ineffizient und teuer aufgrund der großen Anzahl von Suchvorgängen, die mit dem Finden eines Produktes verbunden sind, und da, wenn ein bestimmtes Produkt gefunden ist, die verschiedenen Angebote dieses Produktes durch verschiedene Käufer nicht einfach verglichen werden können. - Alternativ können mehrere Verkäufer
30 in einem elektronischen Marktplatz gruppiert werden gemäß den Produkten, die sie bereit stellen, und ein Käufer20 kann die Angebote der Vielzahl von Verkäufern30 auf einem einzigen Webangebot durchsuchen. Wünscht jedoch Käufer20 mehrere verschiedene Arten des Produktes zu erhalten, dann kann es sein, dass Käufer20 mehrere verschiedene Arten von Marktplätzen besuchen muss. Weiter kann es mehrere konkurrierende Marktplätze geben, die Käufer20 durchsuchen muss, um die Entdeckungsphase einer Transaktion für ein bestimmtes Produkt durchzuführen. Ein potentielles Verfahren, dieses Problem zu benennen, ist es, eine globale Produktdatenbank zu erstellen, die potentiell Daten und Merkmale von allen Produkten beinhaltet, die jeder Käufer zu erhalten wünschen mag. Demgemäss würde die globale Datenbank die kombinierten Inhalte jeder Datenbank32 , verbunden mit jedem Verkäufer30 , beinhalten. Eine solche globale Datenbank würde jedoch viele Probleme haben. Die reine Größe der Datenbank beispielsweise würde eine Suche schwierig machen, und demgemäss würde die Datenbank unter Ausführungsproblemen leiden. Zusätzlich wäre es schwierig, einer großen Anzahl von Käufern20 zu erlauben, die Datenbank gleichzeitig zu durchsuchen. Weiterhin müssten alle Verkäufer30 auf die globale Datenbank zugreifen, um ihre Informationen zu aktualisieren, und die gesamte Datenbank müsste jedes Mal aktualisiert werden, wenn eine Veränderung gemacht wird. Viele andere Probleme können auch noch bestehen. - Eine Lösung der genannten Probleme, zumindest teilweise, ist GCD
42 . GCD42 ist ein universales Verzeichnis der Inhalte vieler Verkäuferdatenbanken32 (und potentiell aller Verkäuferdatenbanken32 ). GCD42 kann durch Verwenden eines oder mehrerer Server40 oder anderer Computer implementiert werden, die an einem oder mehreren Standorten angeordnet sind. Der Großteil oder der gesamte Inhalt der Datenbanken (wie beispielsweise Produktdaten, die ein Identifizierungsmerkmal des Produktes, Beschreibungen von Produktmerkmalen, sich auf ein Produkt beziehende Informationen, die eine Transaktion ermöglichen, oder andere geeignete Daten oder Informationen) ist in Datenbanken32 gespeichert, aber auf den gesamten Inhalt kann unter Verwendung von GCD42 zugegriffen werden. Demgemäss bietet GCD42 , wie die oben beschriebene globale Datenbank, den Käufern20 Zugang zu den Produktdaten, die sich auf eine Vielzahl von Produkten beziehen, aber im Gegensatz zur globalen Datenbank versucht GCD42 nicht, all diese Produktdaten in einer riesigen Datenbank zu speichern. Stattdessen liefert GCD42 ein Verzeichnis von Produkten unter Verwendung einer Verzeichnisstruktur, in welcher Produkte unter Verwendung eines hierarchischen objektorientierten Klassifikationssystems (einer „Taxonomie”) organisiert sind. Ein Käufer20 kann sich durch das Verzeichnis hindurchbewegen oder es durchsuchen, um bestimmte Produkte und Produktdaten zu finden, die mit dem Produkt verbunden sind. Nach einem bestimmten Punkt der Spezifizität können die mit einem Produkt verbundenen Produktdaten tatsächlich in GCD42 gespeichert werden und von GCD42 von einer Verkäuferdatenbank32 erhalten werden. Die angefragten Produktdaten können jedoch dem Käufer20 transparent präsentiert werden, so dass es für Käufer20 so aussieht, als wären alle Produktdaten in GCD42 enthalten. -
2 zeigt eine beispielhafte Verzeichnisstruktur44 eines beispielhaften GCD42 . Produkte, die in GCD42 kategorisiert sind, können gemäß Schemas organisiert werden. Ein Schema kann verschiedene Klassen beinhalten, in die ein Produkt kategorisiert ist (worauf Bezug genommen werden kann als „Taxonomie”), und die verschiedenen Merkmale, die zum Organisieren der Produkte in verschiedenen Klassen verwendet werden (worauf Bezug genommen werden kann als „Ontologie”). In der beispielhaften Verzeichnisstruktur44 können Produkte organisiert und katalogisiert werden gemäß Industriestandardschemas46 oder anderen geeigneten Schemas, wie unten beschrieben. Innerhalb Industriestandardschemas46 gibt es zwei beispielhafte Klassen: eine direkte Materialklasse48 und eine indirekte Materialklasse50 . Jede dieser Klassen48 und50 beinhaltet mehrere Unterklassen, welche wiederum Unterklassen beinhalten können. Demgemäss bilden die zahlreichen Klassen einer Verzeichnisstruktur44 eine „baumartige” hierarchische Struktur, in welche Produkte kategorisiert werden können. - Zu Beispielzwecken sind bestimmte Abschnitte der Verzeichnisstruktur
44 „aufgeklappt”, um verschiedene Ebenen von Klassen darzustellen. Die „Ebene” einer Klasse wird angezeigt durch die Anzahl anderer Klassen zwischen dieser Klasse und einer Wurzelklasse (wie beispielsweise Industriestandardschema Klasse46 ). Zum Beispiel ist die indirekte Materialklasse50 auf der gleichen Ebene in der Verzeichnisstruktur wie die direkte Materialklasse48 . Die indirekte Materialklasse50 kann eine Büro- und Computerzubehörklasse52 beinhalten, welche eine Tischzubehörklasse54 beinhaltet, welche eine Schreibutensilienklasse56 beinhaltet. Weiter beinhaltet die Schreibutensilienklasse56 eine Stifteklasse58 , welche zahlreiche Stiftartenklassen60a –60n beinhaltet („n” bedeutet, dass jede Anzahl von Klassen60 innerhalb der Stifteklasse58 enthalten sein kann). Jede der Klassen50 ,52 ,54 ,56 ,58 und60 ist auf verschiedenen Ebenen der Verzeichnisstruktur44 angeordnet. Eine auf einer beliebigen Ebene der Verzeichnisstruktur44 liegende Klasse kann eine oder mehrere Unterklassen beinhalten, diese Unterklassen können eine oder mehrere Unterklassen beinhalten usw., bis eine gewünschte Spezifizität der Kategorisierung erreicht ist. Auf eine Serie von Klassen von der höchsten Klassenebene (die breiteste Klasse) bis zur niedrigsten Klassenebene (die genaueste Klasse) kann als „Zweig” der Verzeichnisstruktur44 Bezug genommen werden. - Zum Beispiel bilden die Klassen
46 ,48 ,50 ,52 ,54 ,56 ,58 , und60b einen Zweig der Verzeichnisstruktur44 . - Ein Käufer
20 kann sich durch die Verzeichnisstruktur44 durch Aufklappen oder Schließen verschiedener Klassen je nach Wunsch bewegen.2 zeigt beispielsweise das Aufklappen von bestimmten Klassen der Verzeichnisstruktur44 , um eine Filzschreiberklasse60b zu erreichen. Hat sich Käufer20 durch eine Klasse hindurch bewegt, welche genau genug für Käufer20 ist (und/oder eine Klasse, welche das Ende dieses Zweiges ist), kann Käufer20 eine Suche nach Produkten innerhalb dieser Klasse durchführen. Käufer20 kann zum Beispiel in der Schreibutensilienklasse56 nach allen Produkten suchen, die blaue Filzschreiber mit einer mittleren Spitze sind. Alternativ dazu, sofern Käufer20 sich zu dem Ende eines Zweiges der Verzeichnisstruktur44 bewegt, wie beispielsweise der Filzschreiberklasse60b , kann GCD42 dem Käufer ermöglichen, nach solchen Stiften zu suchen, die blaue Tinte und mittlere Spitzen haben (was das gleiche Ergebnis erzielen kann wie die oben genannte Suche). - Wie oben beschrieben, sind Produktmerkmale (zumindest Merkmale, die spezifischer sind als die durch eine Klasse beschriebenen Merkmale, wie unten beschrieben) üblicherweise nicht in GCD
42 gespeichert, sondern sind in Datenbanken32 gespeichert. Zum Beispiel kann ein Verkäufer eine relationale Datenbank32 pflegen, welche eine Vielzahl von Tabellen beinhaltet, in denen ausgewählte Merkmale einer Vielzahl von Produkten festgelegt sind. Ein oder mehrere Zeiger können mit jeder Klasse verbunden sein, um den Ort einer oder mehrerer Datenbanken32 zu identifizieren, welche Produktdaten beinhalten für Produkte, die in dieser Klasse enthalten sind, oder um bestimmte Produktdaten in Datenbanken32 zu identifizieren. Demgemäss kann GCD42 eine Suche nach Produkten in Datenbanken32 durchführen, die durch einen Zeiger identifiziert sind entsprechend einer benutzergewählten Klasse. GCD42 kann auch die Netzwerkadresse (wie beispielsweise eine einheitliche Adressierungsstruktur zur eindeutigen Identifizierung von Ressourcen (URL oder eine andere Netzwerkadresse) der Datenbank32 zu Käufer20 zurücksenden, so dass Käufer20 unabhängig auf die Datenbank32 zugreifen kann. Die Datenbanken32 können durchsucht werden unter Verwendung jedes geeigneten Verfahrens, welches eine structured query language(SQL)-)Abfrage beinhaltet, aber nicht darauf begrenzt ist. - GCD
42 kann unter Verwendung des lightweight directory access protocol(LDAP)-Protokolls implementiert werden. LDAP ermöglicht, dass Verzeichnisse unter Verwendung der baumähnlichen Struktur, wie oben beschrieben, geliefert werden. Jedoch kann jede andere geeignete Technik oder jedes andere geeignete Protokoll zum Erzeugen von GCD42 alternativ verwendet werden, und GCD42 kann jede geeignete Struktur haben. Weiter kann GCD42 ein objektbezogenes Verzeichnis (was ebenfalls durch LDAP zur Verfügung gestellt wird) sein, so dass jede Klasse in Verzeichnisstruktur44 die Attribute der übergeordneten Klassen beinhaltet, in welcher die Klasse eine Unterklasse ist. Dementsprechend beinhaltet eine am Ende eines Zweiges der Baumstruktur gelistete Produktklasse alle Attribute seiner übergeordneten Klassen in diesem Zweig. Weiter kann jedes Produkt, welches in Datenbank32 beinhaltet ist, ein Objekt sein, das alle Attribute der Klassen beinhaltet, in denen das Produkt enthalten ist. Demgemäss kann, wenn eine Suche von einer Klasse am Ende eines Zweiges der Verzeichnisstruktur44 aus ausgeführt wird, die Suchanfrage automatisch alle geeigneten Attribute von übergeordneten Klassen dieser Klasse beinhalten. - Wenn sich ein Käufer
20 beispielsweise durch die Verzeichnisstruktur44 bis zur Filzschreiberklasse60b hindurchbewegt hat, kann eine Suche, die von Käufer20 (oder von GCD42 anstelle des Käufers20 ) von der Filzschreiberklasse60b durchgeführt wird, automatisch auf eine Suche nach Filzschreibern begrenzt werden, und Käufer20 kann zusätzliche gewünschte Suchkriterien einführen (wie beispielsweise blaue Tinte und mittlere Spitze). Wenn demgemäss die durchsuchte(n) Datenbank(en)32 Produktdaten beinhaltet (beinhalten), die sich auf eine Vielzahl von Schreibutensilien beziehen, kann eine Suche in Datenbank32 von GCD42 automatisch begrenzt werden, so dass sie nur Filzschreiber innerhalb dieser Datenbank32 beinhaltet. Ist eine Suche, die nur Klassenattribute als Suchkriterien enthält, nicht spezifisch genug, kann Käufer20 weiter zusätzliche Produktmerkmale als zusätzliche Suchkriterien identifizieren. - Wenn GCD
42 eine Suche der Datenbanken32 durchgeführt hat, die durch einen Zeiger identifiziert sind, der mit der Klasse, die Käufer20 ausgewählt hat, verbunden ist, liefert GCD42 Produktdaten, die mit einem oder mehreren Produkten verbunden sind, welche die Suchkriterien erfüllen. GCD42 kann Produktdaten, die aus einer Suche resultieren, in die Verzeichnisstruktur44 integrieren, so dass die Produktdaten dem Käufer20 als Teil von GCD42 erscheinen. GCD42 kann alternativ die Ergebnisse der Suche auf jede andere geeignete Weise darstellen. Jedes Produkt, das Ergebnis einer Suche ist, kann ein Objekt sein, das eine unverwechselbare Instanz der Klasse ist, in der Käufer20 gerade sucht. Jedes dieser Objekte (und sein Ort) können unverwechselbar identifiziert werden unter Verwendung eines Nummerierungsschemas entsprechend der Verzeichnisstruktur44 , wie unten beschrieben. Wie aus der oben stehenden Beschreibung ersichtlich ist, liefert GCD42 alle Vorteile einer globalen Datenbank ohne die vielen Nachteile, die mit einer solchen globalen Datenbank verbunden sind. Diese Vorteile werden realisiert, da GCD42 Zugriff auf globale Produktdaten und die Präsentation von globalen Produktdaten liefert, ohne tatsächlich diese Daten zu speichern. - Verschiedene Verkäuferdatenbanken
32 können Produktdaten über die gleiche Produktklasse (beispielsweise Filzschreiber) beinhalten, jedoch können diese unterschiedlichen Datenbanken32 Produkte dieser Klasse unter Verwendung verschiedener Merkmale identifizieren, sie können verschiedene Namen für das gleiche Produktmerkmal verwenden, und/oder sie können die Produktmerkmale in verschiedenen Maßeinheiten angeben. Einige dieser Probleme können unter Verwendung eines Übersetzungsmechanismus gelöst werden, der Daten in ein einheitliches Format konvertiert, das von GCD42 verwendet wird. Zusätzlich können Verkäufer30 Datenbanken32 erzeugen (oder existierende Datenbanken32 modifizieren), um einem einheitlichen Standard zu entsprechen in der Erwartung, dass eine Datenbank32 in Verwendung mit dem globalen Inhaltsverzeichnis42 benutzt wird. Wenn eine Datenbank32 nicht komplett einem solchen einheitlichen Standard entspricht, kann die Datenbank32 teilweise in GCD42 integriert werden, aber einige Produkte in der Datenbank32 können nicht sauber identifiziert und einem Käufer20 unter Verwendung von GCD42 präsentiert werden. Dementsprechend können, durch Übersetzungsvorrichtungen und dem Marktdruck, in einem globalen Inhaltsverzeichnis von Produkten beinhaltet und voll integriert zu sein, Verkäuferdatenbanken32 einem einheitlichen Standard entsprechen, der von GCD42 verwendet wird zum Identifizieren der bestimmten Klasse oder Klassen von Produkten, die in Datenbank32 beinhaltet sind. - Obwohl das beispielhafte Verzeichnis
44 Industriestandardschemas46 wie oben beschrieben verwenden kann, kann jede andere geeignete Anzahl von Schemas62 zusätzlich oder anstelle von Industriestandardschemas46 verwendet werden. Beispielsweise können, während Industriestandardschemas46 aus der Sicht eines Herstellers organisiert sind, andere Schemas62 verwendet werden, die Produkte aus der Sicht des Käufers organisieren. Beispielsweise kann ein Käufer20 wünschen, die Küche eines neuen Hauses mit verschiedenen Produkten wie beispielsweise Geräten, Fensterbehandlungsmittel, Farbe, Schränken, sanitären Einrichtungen, Geschirr und Kochutensilien auszustatten. Unter Verwendung einer Menge von Schemas62 können diese Produkte in eine Vielzahl nicht verbundener Klassen basierend auf bestimmten Merkmalen der Produkte organisiert werden (zum Beispiel können bestimmte Küchengeräte in einer Elektrogeräteklasse52 der Verzeichnisstruktur44 kategorisiert werden, während Farbe in einer industriellen Klasse52 kategorisiert werden kann). Andere beispielhafte Mengen von Schemas62 können jedoch alle diese Produkte in einer Heimprodukteklasse kategorisieren (welche verschiedene Klassen beinhalten kann, die die Produkte weiter kategorisieren wie zum Beispiel eine Küchenprodukteklasse, welche eine Küchengeräteklasse beinhaltet, welche eine Kühlschrankklasse beinhaltet usw.). Demgemäss kann das gleiche Produkt in einer Vielzahl von Schemas62 beinhaltet sein. Diese alternativen Schemas können in einer Verzeichnisstruktur44 beinhaltet sein und gespeichert sein als Teil oder getrennt von GCD42 . - Kurz zusammenfassend kann ein Käufer
20 ein Produkt unter Verwendung von GCD42 suchen, und dementsprechend wird das Erfordernis für Käufer20 , verschiedene Verkäufer30 zu suchen, um ein gewünschtes Produkt zu finden, reduziert oder ausgelöscht. GCD42 liefert Zugang auf Produktdaten, die mit diesen zahlreichen Produkten verbunden sind unter Verwendung von Verzeichnisstruktur44 , welche Produkte unter Verwendung eines hierarchischen objektorientierten Klassifikationssystems organisiert. Käufer20 kann sich durch Verzeichnisstruktur44 hindurchbewegen oder Verzeichnisstruktur44 durchsuchen zum Finden einer bestimmten Klassifikation von Produkten und verschiedenen Informationen, die mit den Produkten innerhalb dieser Klassifikation verbunden sind, eine Suche in Datenbanken32 starten, die auf ein Produkt bezogene Produktdaten beinhalten, und sich dann mit einer geeigneten Datenbank32 in Verbindung setzen. Dieser Zugriff auf eine riesige Anzahl von Produkten wird geliefert ohne das Erfordernis, dass alle Daten über die Produkte in einer globalen Datenbank gespeichert werden (was die Leistung stark mindern würde). Stattdessen können die Produktdaten in Verkäuferdatenbanken32 gespeichert werden, auf die schnell von dem globalen Inhaltsverzeichnis zugegriffen werden kann. -
3 zeigt ein beispielhaftes global eindeutiges Identifizierungsmerkmal (GUID)100 , welches verwendet werden kann zur eindeutigen Identifizierung von Produkten, auf die unter Verwendung von GCD42 zugegriffen werden kann. Verzeichnisstruktur44 von GCD42 liefert ein mächtiges Werkzeug zum Organisieren und Kategorisieren von Produkten. Diese organisatorische Struktur kann auch verwendet werden, um Produkte und Produktmerkmale unter Verwendung eines GUID100 zu identifizieren, das die verschiedenen Klassen, in denen ein Produkt kategorisiert ist, identifiziert. Weiter können, wie unten beschrieben, Quellinformationen (wie beispielsweise Informationen über einen Lieferanten oder Hersteller) ebenfalls in einem GUID100 enthalten sein, um einen speziellen Hersteller, Lieferanten und/oder eine andere Einheit zu identifizieren, von der ein spezielles Produkt erhalten werden kann. - Das in
3 dargestellte beispielhafte GUID100 enthält ein Klassen-Identifizierungsmerkmal (CID)110 und ein Produkt-Identifizierungsmerkmal (PID)120 . CID110 und PD120 können auf jede geeignete Weise kombiniert werden, um GUID100 zu bilden. Das beispielhafte CID110 identifiziert die Klassen von GCD42 , in welchen ein durch GUID100 identifiziertes Produkt kategorisiert ist. Die Nummern, die solche Klassen identifizieren, sind in Reihenfolgen verkettet von einer höchsten Klassenebenennummer112a zu einer niedrigsten Klassenebenennummer112n . Beispielsweise kann Klassennummer112a ein bestimmtes Exemplar von GCD42 (wenn es mehr als eine Kopie von GCD42 gibt oder wenn GCD42 aufgrund Lastausgleich geteilt ist) identifizieren, oder kann eine Menge von Schemas identifizieren, wie beispielsweise Industriestandardschemas46 . Klassennummer112n kann eine Klasse am Ende eines Zweiges der Verzeichnisstruktur44 identifizieren, wie beispielsweise Filzschreiberklasse60b , oder jede andere Klasse, die eine Unterklasse der Klasse oder Kategorie ist, die durch Klassennummer112a identifiziert wird. Die Klassennummern112 zwischen Klassennummern112a und112n können dann in Folge die Klassen in Verzeichnisstruktur44 zwischen der höchsten Klassenebene (identifiziert durch Klassennummer112a ) und der niedrigsten Klassenebene (identifiziert durch Klassennummer112n ) identifizieren. In diesem Fall identifiziert jede folgende Klassennummer112 eine Unterklasse der Klasse, die durch die vorhergehende Klassennummer112 in CID110 identifiziert wird. - Nur zu Beispielzwecken wurden die beispielhaften Klassen, die in Verzeichnisstruktur
44 von2 dargestellt sind, mit Klassennummern112 in Klammern an der rechten Seite des Klassennamens gekennzeichnet. Unter Verwendung dieser Klassennummern112 zeigt das beispielhafte CID110 eine Technik zum Identifizieren von Filzschreiberklasse60b . In diesem Beispiel identifiziert die erste Klassennummer112a GCD42 , die zweite Klassennummer112b identifiziert Industriestandardschema46 , die dritte Klassennummer112c identifiziert indirekte Materialklasse50 , die vierte Klassennummer112d identifiziert Büro- und Computerzubehörklasse52 , die fünfte Klassennummer112e identifiziert Tischzubehörklasse54 , die sechste Klassennummer112f identifiziert Schreibutensilienklasse56 , die siebente Klassennummer112g identifiziert Stifteklasse58 , und die achte Klassennummer112n identifiziert Filzschreiberklasse60b . - Wie dargestellt ist, sind die verschiedenen Klassennummern
112 verkettet, so dass jede vorhergehende Klassennummer112 den nachfolgenden Klassennummern112 eine Bedeutung gibt. In diesem Beispiel sind die Unterklassen direkt unter jeder Klasse der Verzeichnisstruktur44 mit eins anfangend durchnumeriert (und mit jeder geeigneten Nummer endend, dargestellt durch „n”). Da zahlreiche Klassen auf der gleichen Ebene der Verzeichnisstruktur44 die gleiche Klassennummer112 haben können, werden solche Klassen eindeutig identifiziert unter Bezugnahme auf die höhere Klassenebene, in welcher die Klassen beinhaltet sind. Beispielsweise ist die Büro- und Computerzubehörklasse52 auf der gleichen Ebene angeordnet und hat die gleiche Klassennummer112 wie eine Elektronikklasse64 ; jedoch kann Büro- und Computerzubehörklasse52 eindeutig identifiziert werden durch Verketten der Klassennummern112 der Industriestandardschemas46 , indirekter Materialklasse50 und Büro- und Computerzubehörklasse52 , um ein einzigartiges CID (in diesem Fall „1.2.2”) zu bilden. Dieses Nummerierungsschema bietet Flexibilität beim Hinzufügen und Entfernen von Klassen auf jeder beliebigen Ebene. Beispielsweise kann eine weitere „Stifteart”klasse60 unter Stifteklasse58 hinzugefügt werden und nummeriert werden, ohne das Nummerierungsschema von Verzeichnisstruktur44 zu stören. - Obwohl ein beispielhaftes Nummerierungssystem vorgestellt wurde, können die Klassen unter Verwendung jeder geeigneten Technik nummeriert werden. Zum Beispiel kann jede Klasse über einer bestimmten Ebene in Verzeichnisstruktur
44 eine einmalige Klassennummer112 haben, und jede Klasse unterhalb dieser bestimmten Ebene kann auf die oben beschriebene Weise nummeriert werden. Solch ein Nummerierungssystem kann nützlich sein zum Reduzieren der Länge eines verketteten CID110 . Zum Beispiel kann die Büro- und Computerklasse52 eine einmalige Nummer haben (sowie alle Klassen auf der gleichen Ebene oder darüber), so dass die „1.1.2.2” am Anfang des beispielhaften CID110 ersetzt werden kann mit dieser einmaligen Nummer. Jede andere geeignete Nummerierungstechnik kann ebenso verwendet werden. - Das beispielhafte GUID
100 enthält weiter PID120 , welches verwendet wird, um ein spezielles Produkt, das in dieser durch CID110 identifizierten Klasse beinhaltet ist, eindeutig zu identifizieren. Unter Verwendung des oben genannten Beispiels kann PID120 ein bestimmtes Produkt in Filzschreiberklasse60b identifizieren. Zum Beispiel kann PID120 einen blauen Filzschreiber mit mittlerer Spitze und von einer bestimmten Firma hergestellt identifizieren. Deshalb kann, da die Klassen der Verzeichnisstruktur nicht alle Attribute eines bestimmten Produktes enthalten können, die zum eindeutigen Identifizieren des Produktes benötigt werden (zum Beispiel gibt es zahlreiche Arten von Filzschreibern, die in Filzschreiberklasse60b beinhaltet sein können), PID120 verwendet werden, um ein bestimmtes Produkt in einer Klasse weiter zu identifizieren. Da jedes einmalige Produkt in Verkäuferdatenbanken32 Gegenstand einer Klasse in GCD42 sein kann, kann PID120 (in Verbindung mit CID110 , um GUID100 zu bilden) verwendet werden, um jedes beliebige Produkt, das in Datenbanken32 beinhaltet ist, eindeutig zu identifizieren. - Ein Käufer
20 , der GCD42 verwendet, kann eine bestimmte Klasse aus GCD42 auswählen, wie beispielsweise Filzschreiberklasse60b , und anfordern, dass eine Suche nach allen blauen Filzschreibern, die in Klasse60b beinhaltet sind, durchgeführt wird. Als Reaktion auf eine solche Anfrage kann GCD42 eine Suche initiieren in einer oder mehren Verkäuferdatenbanken32 (oder einer oder mehrerer Mengen von Produktdaten in Datenbanken32 ), die durch einen oder mehrere mit Klasse60b verbundene Zeiger identifiziert werden. Das Ergebnis dieser Suche in Datenbanken32 kann Produktdaten für jeden einer Anzahl von blauen Filzschreibern beinhalten, der die Suchkriterien erfüllt (die Produktdaten können Merkmale des Produktes beinhalten, nach denen nicht gesucht wurde). Weiter kann ein GUID100 mit jedem blauen Filzschreiber verbunden werden und/oder angezeigt werden mit oder eingeschlossen sein in den Produktdaten. Käufer20 kann dann einen der blauen Filzschreiber auswählen, der in der Suche identifiziert wurde (beispielsweise einen mittleren Filzschreiber hergestellt von der XYZ-Firma zu einem Preis von 50 Cents pro Stift). - Zusätzlich zu CID
110 und PID120 kann ein GUID100 weiter beinhalten oder verbunden sein mit einem Speicher-Identifizierungsmerkmal (RID). Ein RID ist ein einzigartiges Identifizierungsmerkmal, das einem Verkäufer30 zugewiesen wurde, der in e-commerce System10 beinhaltet ist. Ein RID kann weiter den Hersteller eines Produktes angeben (wenn unterschiedlich zu Verkäufer30 ) und jede andere Einheit, die an der Herstellung, der Verteilung und dem Verkauf des Produktes beteiligt ist (eine oder mehrere, die durch Verwendung eines einzelnen RID identifiziert werden können). Wenn Käufer20 ein Produkt auswählt, das in den von GCD42 angezeigten Suchergebnissen gelistet ist, kann GCD42 unter Verwendung eines RID einen oder mehrere Verkäufer30 identifizieren, von welchen das Produkt erhalten werden kann. Jedes RID kann den Netzwerkort identifizieren (wie beispielsweise eine URL oder andere Netzwerkadresse) von den Verkäuferdatenbanken32 , die das Produkt beinhalten (oder von einem verbundenen Webangebot, über das das Produkt erhältlich ist), so dass Käufer20 auf die Datenbank32 und/oder Webangebot zugreifen kann, um das Produkt zu kaufen oder eine andere Transaktion im Hinblick auf das Produkt auszuführen. Ein RID kann verbunden sein mit einer URL oder einer Internetprotokoll-(IP-)Adresse eines Computers, der mit dem Internet (oder einem anderen Netzwerk) verbunden ist, welches die Datenbank32 und/oder Webangebot unterstützt. Ein RID kann an Käufer20 ausgegeben werden als Reaktion auf die Eingabe oder Auswahl eines CID110 und PID120 . Ein RID kann weiter, zusammen mit einem CID110 und PID120 , auf einem Label oder anderen Teil eines Produktes enthalten sein, so dass ein Käufer20 bestimmen kann, wie zusätzliche Produkte dieser Art erlangt werden können. - Ein RID kann jedes geeignete Format zum eindeutigen Identifizieren von Verkäufern
30 verwenden. Zum Beispiel können Verkäufer30 in der Reihenfolge nummeriert werden, wie Verkäufer30 in System10 beinhaltet sind. Ein Nummerierungsschema kann alternativ verwendet werden, in welchem die Nummer oder Kombination von Nummern, die einem Verkäufer30 zugewiesen ist, ein Merkmal oder Merkmale des Verkäufers30 identifiziert. Beispielsweise können Verkäufern30 in einem bestimmten Land eine Nummer von einem vordefinierten Bereich von Nummern zugewiesen werden. Alternativ kann ein Vorspann in einem RID enthalten sein, um den Standort eines Verkäufer30 zu identifizieren (ähnlich der Vorwahl in einer Telefonnummer). Jedes andere geeignete Merkmal eines Verkäufers30 kann ebenfalls identifiziert werden unter Verwendung des RID, und jedes geeignete Nummerierungsformat kann verwendet werden. - GUID
100 kann weiter beinhalten oder verbunden sein mit einem Merkmals-Identifizierungsmerkmal (FID). Wie oben beschrieben, können ein CID110 und ein PID120 verwendet werden, um ein Produkt mit einer eindeutigen Menge von Merkmalen eindeutig zu identifizieren. Einige dieser Merkmale werden durch die Attribute der Klassen von GCD42 definiert, in welchen das Produkt beinhaltet ist, aber andere Merkmale werden in einer Datenbank32 definiert und können identifiziert werden als eindeutige Gruppierung von Merkmalen durch ein PID120 (zwei Produkte in einer Datenbank32 können jedoch identische in Datenbank32 gelistete Merkmale haben, aber unterschiedliche PIDs, da der Unterschied zwischen den Produkten verbunden sein kann mit Merkmalen, die nicht in Datenbank32 beinhaltet sind, oder schlicht eine Differenz in dem durch den Hersteller für das gleiche Produkt zugewiesenen PID sein kann). Eine oder mehrere Gruppen von Merkmalen, die durch ein PID identifiziert werden, können individuell identifiziert werden unter Verwendung eines FID. Wenn beispielsweise ein Käufer20 die Tintenfarbe in einem bestimmten Stift (der Stift, der unter Verwendung eines CID110 und eines PID120 identifiziert ist) identifizieren möchte, dann kann Käufer20 dieses tun, indem er das mit der Tintenfarbe verbundene FID mit dem CID110 und PID120 in einer Suche mit aufnimmt. Die Suchergebnisse können dann die Tintenfarbe beinhalten, die in dem identifizierten Produkt verwendet wird. Alternativ kann ein FID verwendet werden, um ein bestimmtes Merkmal (wie beispielsweise blaue Tinte) als Suchkriterium zu spezifizieren, wenn nach einem Produkt (wie beispielsweise Filzschreibern) gesucht wird. -
4 stellt die beispielhafte Arbeitsweise eines e-commerce Systems dar. Wie oben beschrieben, können zahlreiche Käufer20 und Verkäufer30 mit GCD Server40 unter Verwendung von Netzwerk12 verbunden sein. Käufer20 können auf Server40 zugreifen unter Verwendung eines Web-Browsers oder auf jede andere geeignete Weise, und Server40 kann für Käufer20 einen Zugang zu GCD42 vorsehen unter Verwendung von Web-Server Software und/oder Hardware oder auf jede andere geeignete Weise. Server40 kann auch Hardware und/oder Software zum Implementieren einer oder mehrerer GCD-Schnittstellen43 beinhalten. Ein Käufer20 kann auf Server40 zugreifen und eine GCD-Schnittstelle43 verwenden, um GCD42 und/oder Verkäuferdatenbanken32 zu durchsuchen oder sich durch diese hindurchzubewegen. Information kann zwischen Käufern20 , Verkäufern30 und GCD42 übertragen werden unter Verwendung des Hypertext Transport Protocol (HTTP), Extensible markup language (XML;), simple object access protocol (SOAP;) oder jeder anderen geeignete Übertragungstechnik. Jedem Käufer20 und Verkäufer30 kann ein eindeutiges Identifizierungsmerkmal zugewiesen werden, so dass die Teilnehmer einer Transaktion, die durch GCD42 erleichtert wird, identifiziert werden können. - In einer beispielhaften Transaktion kann ein Käufer
20 auf eine GCD-Schnittstelle43 zugreifen und eine Suche des globalen Inhaltsverzeichnisses42 durchführen. GCD-Schnittstelle43 kann dem Käufer20 ermöglichen, sich sowohl durch die Klassen von GCD42 hindurchzubewegen oder zu ”browsen”, als auch eine Suche nach einer bestimmten Klasse oder nach bestimmten Klassen durchzuführen. Zum Beispiel kann Käufer20 sich entweder durch GCD42 hindurchbewegen, um eine Klasse zu finden, in welcher Stifte klassifiziert sind, oder Käufer20 kann GCD42 nach Klassennamen durchsuchen, die das Wort ”Stift” beinhalten. Jedes andere geeignete Verfahren zum Identifizieren einer bestimmten Klasse kann ebenfalls verwendet werden. Wenn Käufer20 die geeignete Klasse für ein Produkt lokalisiert hat, das Käufer20 wünscht, kann er dann eine Liste von Produkten in dieser Klasse anfordern, die bestimmte Merkmale haben. Durchsucht Käufer20 beispielsweise die Filzschreiberklasse60b , kann Käufer20 alle Produkte in Klasse60b (Filzschreiber) anfordern, die rote Tinte und eine feine Spitze haben. - Eine Suchschnittstelle
45 oder jede andere geeignete Komponente von GCD-Server40 kann eine solche Anfrage vereinfachen durch Suchen oder Durchführen von Suchen in Verkäuferdatenbanken32 , die durch einen oder mehrere Zeiger mit Filzschreiberklasse60b wie oben beschrieben verbunden sind. Suchschnittstelle45 kann Käufer20 ein Suchformular bieten, in welches ein oder mehrere Suchkriterien eingegeben werden. Die Arten von Suchkriterien, die verwendet werden können, können in dem Suchformular identifiziert werden, oder es kann Käufer20 ermöglicht werden, eine generelle Suche der Datenbanken32 nach bestimmten Begriffen durchzuführen. Zum Beispiel kann Suchschnittstelle45 Käufer20 ein Suchformular bieten, das für eine Suche in Klasse60b maßgeschneidert ist und Felder beinhaltet, in denen Käufer20 eine gewünschte Tintenfarbe, Spitzendicke oder andere geeignete Kriterien spezifizieren kann. Alternativ kann Suchschnittstelle45 ein einzelnes Feld bieten, in das Käufer20 gewünschte Suchbegriffe wie beispielsweise „Rot” und „Fein” eingeben kann (zahlreiche Suchbegriffe können eingegeben werden unter Verwendung von booleschen Operatoren oder jeder anderen geeigneten Technik). - Basierend auf den von Käufer gelieferten Suchbegriffen (und möglicherweise basierend auf jeden geeigneten Attributen der Klasse, von welcher die Suche durchgeführt wird), überträgt Suchschnittstelle
45 eine Anfrage zu der/den geeigneten Verkäuferdatenbank(en)32 , und fordert an, dass Datenbanken32 jeweils eine Liste aller Produkte (inklusive verbundener Produktdaten) ausgeben, auf die die Suchkriterien zutreffen. Datenbanken32 können auch Produktdaten übertragen, die sich auf Merkmale der zutreffenden Produkte beziehen, die nicht in den Suchkriterien eingeschlossen waren. Beispielsweise können Datenbanken32 einen Preis und die Verfügbarkeit eines Produktes ausgeben, auf das die Suchkriterien zutrifft, sogar dann, wenn Preis und Verfügbarkeit keine Suchkriterien waren. Die Antworten von Datenbanken32 auf die Anfrage können dem Käufer20 auf jede geeignete Weise angezeigt werden. Beispielsweise können die Produkte in Reihenfolge der Bedeutung für die Suchkriterien entsprechend den verbesserten Trefferkriterien aufgelistet werden, wie in der gleichzeitig anhängigen US-Anmeldung Nr. 09/_,_, angemeldet am _. Dezember 2000 (Anwaltsaktenzeichen 020431.0749) beschrieben. Jedes andere geeignete Verfahren zum Bestimmen der Wichtigkeit kann alternativ verwendet werden. Weiterhin kann GCD42 die Produktliste basierend auf einer Anfrage von Käufer20 neu ordnen. Beispielsweise kann Käufer20 anfordern, dass die zutreffenden Produkte in einer Reihenfolge von dem preiswertesten zu dem teuersten Produkt gelistet werden. Jedes Produkt in der Liste kann mit einem GUID100 und/oder einem RID verbunden sein. - Käufer
20 kann ein Produkt aus der Produktliste auswählen, um anzuzeigen, dass er eine Transaktion bezüglich des Produktes beginnen möchte, wie beispielsweise den Kauf eines Produktes. Aufgrund einer solchen Auswahl überträgt GCD42 ein RID des Lieferanten des Produktes und ein GUID100 für das Produkt an Käufer20 . Zum Beispiel kann RID die Netzwerkadresse (wie beispielsweise eine IP-Adresse) eines Verkäufernetzwerkknotens30 sein oder kann verbunden sein mit der Netzwerkadresse in einer Tabelle (in welchem Fall GCD42 das RID verwenden kann, um die verbundene Netzwerkadresse nachzuschlagen und dann die Netzwerkadresse an Käufer20 zu übertragen). Käufer kann auf Verkäufer30 zugreifen unter Verwendung des RID (oder der Netzwerkadresse) und eine Transaktion bezüglich des Produktes anfordern unter Verwendung des GUID100 . GCD42 kann sogar einen Link bereit stellen, der die URL einer mit dem Verkäufer30 verbundenes Webangebot einschließt, oder kann jedes geeignete Verfahren bereit stellen, wie Käufer20 mit Verkäufer30 verbunden werden kann. Obwohl nur ein einfacher beispielhafter Pfeil (zwischen Käufer20n und Käufer30n ) dargestellt ist, um die Verbindung zwischen Käufern20 und Verkäufern30 anzuzeigen, wird betont, dass jeder Käufer20 mit jedem Verkäufer30 kommunizieren kann, um geeignete Transaktionen durchzuführen. - Da GCD
42 in der Lage ist, mit Datenbanken32 zu kommunizieren, um bestimmte von einem Käufer20 angeforderte Produkte zu identifizieren, muss die Information über die in GCD42 kategorisierten Produkte nicht in GCD42 gespeichert werden. Da weiterhin Käufer20 direkt mit einem geeigneten Verkäufer30 kommunizieren kann, nachdem ein durch GCD42 identifiziertes Produkt ausgewählt wurde und eine Standortinformation über Verkäufer30 des Produktes gegeben wurde, muss GCD42 keine Ressourcen pflegen, um Transaktionen, die sich auf das Produkt beziehen, zu unterstützen. Dementsprechend kann durch Verbinden eines Verzeichnisses von Produkten mit Datenbanken32 , die Informationen über die Produkte beinhalten, potentiell jedes Produkt in der Welt für einen Käufer20 erhältlich sein, ohne dass Informationen über all diese Produkte (was aufgrund der immensen Datenmenge, die gespeichert werden müsste, den mit der Aktualisierung der Daten verbundenen Schwierigkeiten und anderen Problemen nicht realisierbar wäre) gespeichert werden muss. - Zusätzlich zur Schaffung eines Verfahrens zum Identifizieren von unter Verwendung von GCD
42 ausfindig gemachter Produkte kann GUID100 auch in der physischen Welt verwendet werden, um Produkte zu identifizieren. Gleichermaßen kann ein RID verwendet werden, um die Quelle eines bestimmten Produktes zu identifizieren. Dementsprechend kann ein GUID100 verwendet werden, um eine universelle Produktkennzahl (UPC) zu ersetzten, die gegenwärtig verwendet wird, um ein Produkt zu identifizieren. Im Gegensatz zu UPC bietet ein GUID100 jedoch ein wesentlich flexibleres Nummerierungsschema (zum Beispiel kann es ausgedehnt werden, um das Hinzufügen einer unbegrenzten Anzahl von Klassen auf jeder beliebigen Ebene in Verzeichnisstruktur44 unterzubringen), und bietet eine Definition bestimmter Attribute eines Produktes durch seine Verbindung zu der objektorientierten Klassenhierarchie von GCD42 . Ebenfalls kann ein RID mit GUID100 verbunden werden (oder darin enthalten sein), um die Identität einer Quelle des Produktes bereit zu stellen. Wenn dementsprechend ein Käufer20 ein Produkt zu kaufen wünscht, das ein GUID100 und RID hat, können das GUID100 und RID gescannt werden oder in einen Computer eingegeben werden, der mit dem e-commerce System10 (oder Verkäufern30 ) verbunden ist, um den Kauf eines Produktes einzuleiten. Hat beispielsweise ein Käufer20 keine Milch mehr, kann Käufer20 das GUID100 und RID einscannen oder eingeben, welches auf der leeren Milchflasche angeordnet ist, und kann weiter ein einzigartiges Identifizierungsmerkmal des Käufers20 eingeben. Basierend auf dem RID kann die Produktanfrage zu dem entsprechenden Verkäufer30 geleitet werden, und der Verkäufer kann ein Käufer-Identifizierungsmerkmal verwenden, um Käufer20 mit den Gebühren für eine weitere Milchflasche zu belasten und die Milchflasche zu Käufer20 zu schicken. Alle geeigneten Systeme können implementiert werden, um die Funktionen auszuführen, die notwendig sind, um eine solche Transaktion zu vervollständigen. Ein Käufer20 kann weiter ein GUID100 an GCD42 übertragen, um das RID von und/oder andere Informationen über einen oder mehrere Verkäufer30 zu bestimmen, die das Produkt mit dem GUID100 bereit stellen. Ein GUID100 und/oder RID können auch auf zahlreiche andere Arten benutzt werden, um Geschäftstransaktionen zu vereinfachen. - Wie oben beschrieben ist ein Vorteil von GCD
42 , dass es Zugriff bietet auf eine riesige Anzahl von Produkten, aber die vielen Informationen über diese Produkte nicht speichern muss (da die Information und Verkäuferdatenbanken32 gespeichert ist). Weiterhin kann GCD42 Käufer20 zu Verkäufern30 führen, um eine Transaktion bezüglich eines Produktes auszuführen, also muss GCD42 nicht die e-commerce Transaktionen zwischen Käufer20 und Verkäufern30 unterstützen. Da jedoch Käufer20 üblicherweise mit Verkäufern30 zum Vervollständigen einer Transaktion kommunizieren, kann die Leistung des e-commerce System10 vermindert werden, wenn ein Käufer20 und Verkäufer30 , die an einer Transaktion beteiligt sind, in einem großen Abstand voneinander angeordnet sind (da die Kommunikationszeit steigt). Weiterhin kann die Leistung vermindert werden, wenn ein bestimmter Verkäufer30 ein großes Volumen von Transaktionen erfährt und nicht in der Lage ist, ein solches Volumen zu unterstützen. Dementsprechend beanspruchen bestimmte Ausführungsformen der vorliegenden Erfindung die dynamische Migration von Produktdaten, die sich auf (ein) bestimmte(s) Produkt(e) von Verkäuferdatenbanken32 beziehen, zu Netzwerkknoten, die näher an häufigen Käufern20 des Produktes bzw. der Produkte sind. Käufer20 können dann auf die migrierten Produktdaten zugreifen, um Transaktionen mit Verkäufern30 durchzuführen, die mit den migrierten Produktdaten verbunden sind (oder Käufer20 können direkt auf Verkäuferdatenbank oder -datenbanken32 zugreifen, aus welchen die Produktdaten kopiert sind). Wie oben beschrieben können „Produktdaten” Daten beinhalten, die verschiedene Merkmale eines Produktes beschreiben, sowie jede Software, die verwendet werden kann, um den Kauf eines Produktes oder jeder anderen Transaktion, die sich auf das Produkt bezieht, zu unterstützen. - Wie oben beschrieben, werden Käufer
20 durch GCD42 geführt, um auf Produktdaten zuzugreifen, die in Verkäuferdatenbanken32 gespeichert sind. Eine Datenbank32 kann kontrolliert werden durch einen verbundenen Verkäufer30 und ist oftmals verknüpft mit dem Webangebot eines Verkäufers, welche Käufer20 mit der Möglichkeit ausstattet, Transaktionen mit Verkäufer30 durchzuführen. Da zahlreiche Käufer20 auf GCD42 zugreifen und zu Verkäuferdatenbanken32 geführt werden, um Produkttransaktionen durchzuführen, kann GCD42 eine Aufzeichnung der Datenbanken32 aufnehmen, auf die üblicherweise durch jeden Käufer20 zugegriffen werden. Zum Beispiel kann ein Einzelhändler für Bürobedarf häufig Produkte anfordern, wie beispielsweise Stifte, die in Büro und Computerzubehörklasse52 beinhaltet sind. Unter Verwendung der Ergebnisse solcher Produktanfragen, die von GCD42 ausgegeben werden (wie beispielsweise die RIDs von bestimmten Verkäufern30 ), kann der Einzelhändler für Bürobedarf auf eine oder mehrere Verkäuferdatenbanken32 zugreifen, die Produktdaten für verschiedenes Bürozubehör beinhalten. Solche Verkäuferdatenbanken32 können eine Vielfalt von Bürozubehör beinhalten oder können auf eine oder mehrere Arten von Bürozubehör spezialisiert sein, wie beispielsweise Schreibutensilien. - Als Reaktion auf eine Anzahl von Anfragen durch einen Käufer
20 , die darin resultieren, dass Käufer20 auf eine bestimmte Verkäuferdatenbank32 zugreift (eine „Anfragehistorie”), kann GCD42 bestimmen, dass einige oder alle der Produktdaten in der Datenbank32 zu einem Netzwerkknoten in e-commerce System10 migriert werden, welcher näher an Käufer20 ist als die tatsächliche Datenbank32 , basierend auf einer Bestimmung oder Prognose aus der Anfragehistorie, dass der Käufer20 diese Produktdaten wieder anfordert. Der Knoten, zu dem solche Produktdaten migriert werden, ist vorzugsweise näher an Käufer20 angeordnet als die Verkäuferdatenbank32 , so dass die Zugriffszeit, die benötigt wird, um Produktdaten zu erhalten oder auf andere Art eine Transaktion durchzuführen, reduziert wird. Weiter kann die Migration von Produktdaten abhängig sein von der Anfragehistorie zahlreicher Käufer20 , wie beispielsweise eine Anzahl verschiedener Einzelhändler für Bürozubehör. In einem solchen Fall können die relevanten Produktdaten zu einem Netzwerkknoten migriert werden, der näher zu jedem der Käufer20 angeordnet ist als die tatsächliche Verkäuferdatenbank32 , aus der die Produktdaten stammen. Alternativ können die gleichen Produktdaten an zahlreiche Orten migriert werden, ganz oder teilweise, um wirksamen Zugang für zahlreiche Käufer20 zu bieten. Ein geeigneter Algorithmus kann zum Bestimmen des geeigneten Zwischenspeicherortes oder anderer Speicherorte verwendet werden. - Die Anzahl von Orten, an die eine bestimmte Menge von Produktdaten migriert wird, kann bestimmt werden durch Abwägen des Vorteils, die Produktdaten näher an jedem verbundenen Käufer
20 anzuordnen, und dem Nachteil, zahlreiche Cache-Speicher oder andere Speicher (wie beispielsweise der Bedarf an Datenspeicherplatz an zahlreichen Cache-Knoten und der Bedarf zum Synchronisieren von Produktdaten an der Quelldatenbank32 und den zahlreichen Caches) zu haben. Weiterhin, wenn zahlreiche Käufer20 die Migrationsentscheidung beeinflussen, können die relevanten Datenzugriffsanforderungen eines jeden Käufers20 so gewichtet werden, dass die zwischengespeicherten Produktdaten nächstmöglich dem Käufer oder den Käufern20 angeordnet werden, der/die am häufigsten den Bedarf hat/haben, auf die Daten zuzugreifen. Obwohl beispielsweise eine Anzahl kleiner Einzelhandelsketten häufig auf Produktdaten zugreifen kann, die sich auf Bürozubehör beziehen, können die Produktdaten näher dem Ort einer großen Einzelhandelskette gespeichert werden (obwohl die Speicherorte immer noch näher jeder der Einzelhändlerketten als der tatsächlichen Verkäuferdatenbank32 sein können). - GCD
42 kann jede geeignete Technik zum Voraussagen zukünftiger Anfragen von Käufer20 nach Produktdaten verwenden, basierend auf der Anfragehistorie von Käufern20 . Jede andere geeignete Information über Käufer20 kann ebenfalls verwendet werden, um zukünftige Anfragen durch Käufer20 zu prognostizieren, und solche Prognosen können aktualisiert werden, wenn GCD42 zusätzliche Informationen erhält. GCD42 kann jedes geeignete Zwischenspeichern oder andere Datenspeichertechnik verwenden, um die Migration von Produktdaten zu einem oder mehreren Netzwerkknoten zu leiten. Diese Netzwerkknoten können eine Netzwerkvorrichtung beinhalten, die mit jedem beliebigen Käufer20 oder Verkäufer30 verbunden ist, eine Netzwerkvorrichtung, die alleine zu dem Zweck des Zwischenspeicherns oder auf andere Art des Speicherns migrierter Daten verwendet wird, oder jede andere Vorrichtung, die mit einem Netzwerk verbunden ist, das für einen Käufer20 zugänglich ist, der auf die migrierten Daten zugreifen möchte. Beispielsweise kann eine ausgewählte Menge von Datenspeicherplatz, der mit zahlreichen Käufern20 und Verkäufern30 verbunden ist, für GCD42 zugeteilt werden, um je nach Bedarf als Cache-Platz (möglicherweise als eine Anforderung zum Registrieren mit GCD42 ) verwendet zu werden. Zum Beispiel können Produktdaten, die mit einem Verkäufer30a verbunden sind und durch einen Käufer20a angefordert werden, bei Verkäufer30b oder bei Käufer20b zwischengespeichert werden. Als weiteres Beispiel können Produktdaten, auf die häufig durch Käufer20a zugegriffen wird, bei Käufer20a zwischengespeichert werden (und solche zwischengespeicherten Produktdaten können innerhalb einer Firewall von Käufer20a angeordnet sein). - GCD
42 kann den gesamten verfügbaren Cache-Platz verwalten, so dass das Zwischenspeichern zahlreicher Produktdatensätze für zahlreiche Käufer20 unter Verwendung eines bestimmten Produktdatensatzes optimiert wird. GCD42 kann einen bestimmten Produktdatensatz zu unterschiedlichen Orten migrieren, wenn die Käufer20 , die die Produktdaten verwenden, sich ändern oder wenn der bestimmte Ort benötigt wird für die Migration anderer Produktdaten. Wenn ein bestimmter Produktdatensatz während einer gewählten Zeitdauer nicht angefordert wurde, können diese Produktdaten überschrieben werden durch verschiedene Produktdaten, die statt dessen zwischengespeichert oder zu verschiedenen Cache-Orten migriert werden (wie beispielsweise bei einem „least recently used” (LRU) Caching-Algorithmus). - GCD
42 kann bestimmen, ob alle oder ein Teil der Produktdaten in einer Verkäuferdatenbank32 migriert und zwischengespeichert oder auf andere Art gespeichert werden sollen in der Nähe eines Käufer20 . Wenn beispielsweise eine Datenbank32 Produktdaten beinhaltet für eine Vielzahl verschiedenen Bürozubehörs, kann GCD42 nur die Produktdaten zwischenspeichern, die sich auf Stifte beziehen, wenn die relevanten Käufer20 nur Informationen über Stifte anfordern. Andere Produktdaten in der Datenbank32 können an anderer Stelle für unterschiedliche Käufer migriert werden. Weiterhin können Produktdaten von mehreren unterschiedlichen Datenbanken32 gemeinsam zwischengespeichert werden (obwohl der mit dem bestimmten Produkt verbundene Verkäufer30 immer noch individuell identifiziert werden kann). Beispielsweise können Produktdaten, die sich auf eine Vielzahl von Stiften beziehen, die von einer Vielzahl von Verkäufern30 verkauft werden, an den gleichen Ort migriert werden. Daten von unterschiedlichen Datenbanken32 , die gemeinsam zwischengespeichert sind, können in eine einzelne Datenbank (oder Datenbanktabelle) zusammengeführt werden oder können als separate Datenbanken (oder Tabellen) an dem Cache-Ort gespeichert werden. - Die Migration von Produktdaten verbessert die Effizienz von Transaktionen zwischen Käufern
20 und Verkäufern30 im e-commerce System durch Reduzieren der Zugriffszeit und Transaktionskosten verbunden mit einem Käufer20 , der auf Produktdaten eines Verkäufers30 zugreift, die zum Durchführen der Transaktion verwendet werden. Da jedoch die Produktdaten, auf die von Käufer20 zugegriffen wird, nur eine migrierte Kopie der Produktdaten sind, die in der verbundenen Verkäuferdatenbank32 gespeichert sind, sollten die migrierten Daten aktualisiert werden, wenn die Produktdaten in der Verkäuferdatenbank32 aktualisiert werden (die migrierten Produktdaten sollten mit den Produktdaten, die in Verkäuferdatenbank32 gespeichert sind, „synchronisiert” werden). Obwohl die Synchronisation von Produktdaten Ressourcen im e-commerce System erfordern kann, ist die Häufigkeit, mit der Produktdaten in einer Verkäuferdatenbank32 geändert werden, üblicherweise niedriger als die Häufigkeit, mit der von Käufern20 auf Produktdaten zugegriffen wird. Deswegen ist es oftmals effizienter, Produktdaten näher an Käufer20 zu migrieren und zwischenzuspeichern oder auf andere Weise zu speichern (und dementsprechend weiter weg von dem verbundenen Verkäufer30 ), selbst dann, wenn dadurch der Bedarf entsteht, aktualisierte Daten zu den entfernten Cache-Orten zu übertragen. - Migrierte Daten können unter Verwendung jeder geeigneten Technik synchronisiert werden. Zum Beispiel kann ein Zeiger zwischen einer Verkäuferdatenbank
32 und einer migrierten Kopie der Produktdaten aus Datenbank32 existieren. Wenn die Produktdaten in Datenbank32 aktualisiert werden, dann bestimmt Datenbank32 (oder jede andere geeignete Komponente, die mit Verkäufer30 verbunden ist), ob es Zeiger gibt, die mit den aktualisierten Produktdaten verknüpft sind. Wenn das so ist, können die aktualisierten Produktdaten zu dem Migrationsort übertragen werden, und die migrierten Produktdaten können mit den aktualisierten Produktdaten ersetzt oder modifiziert werden. - Zusätzlich zum Leiten der Migration von Produktdaten zu einem entfernten Migrationsort, kann GCD
42 auch die Ergebnisse oftmals von Käufern20 gemachter Anfragen unter Verwendung von GCD42 zwischenspeichern. Solche Ergebnisse können Produktlisten beinhalten, die aus der Suche eines Käufers nach Produkten in einer bestimmten Klasse resultieren. Wie oben beschrieben, kann GCD42 diese Produktlisten erzeugen (worin ein GUID100 und ein RID, verbunden mit jedem Produkt, beinhaltet sein können), basierend auf Anfragen an Datenbanken32 , identifiziert durch Zeiger, die mit einer bestimmten Klasse in GCD42 verbunden sind. Wenn dementsprechend GCD42 häufig durchgeführte Anfragen zwischenspeichert, dann muss GCD42 solche Anfragen nicht jedes Mal ausführen, wenn ein Käufer20 eine solche Anfrage tätigt. Stattdessen kann GCD42 die zwischengespeicherten Suchergebnisse anzeigen. Jede geeignete Caching-Technik kann verwendet werden, um Suchergebnisse oder die Ergebnisse von anderen von GCD42 durchgeführten Anfragen zu speichern. Weiterhin können die zwischengespeicherten Suchergebnisse unter Verwendung jeder geeigneten Technik aktualisiert werden. Beispielsweise kann GCD42 eine neue Anfrage durchführen, anstatt die zwischengespeicherten Ergebnisse zu verwenden, wenn eine vorgewählte Zeit vergangen ist, seit die Ergebnisse aktualisiert wurden. Alternativ kann eine Verkäuferdatenbank32 GCD42 informieren, wenn die von einer Datenbank32 als Reaktion auf eine Anfrage von GCD42 übertragenen Daten modifiziert wurden. - Wie oben beschrieben ist die Migration von Produktdaten zum Zwischenspeichern oder auf andere Weise Speichern an Orten, die näher bei Käufern
20 sind, die häufig auf die Produktdaten zugreifen, ein Weg, die Leistung von e-commerce System10 zu optimieren. Eine andere Art, wie die Leistung von System10 gesteigert werden kann, ist das Optimieren der Indizierung der Daten, die in Verkäuferdatenbanken32 gespeichert sind. Ein Index einer Datenbank32 liefert, ähnlich wie das Inhaltsverzeichnis eines Buches, ein schnelleres Verfahren zum Lokalisieren angefragter Informationen in einer Datenbank32 . Dementsprechend mindert ein Index die Zeit, die benötigt wird, einen „Lesevorgang” einer Datenbank32 durchzuführen. Daten müssen weiterhin in einer Datenbank32 oft hinzugefügt, entfernt und modifiziert werden (worauf Bezug genommen werden kann als das „Schreiben” in einer Datenbank32 ). Wenn jedoch Daten in einer Datenbank32 geschrieben werden, muss ein Index dieser Daten ebenfalls aktualisiert oder modifiziert werden. Demgemäss wird die Effizienz und Geschwindigkeit von Datenschreibvorgängen in einer Datenbank32 gemindert, wenn die Daten indiziert sind. Deshalb kann, um die Leistung einer Datenbank32 zu optimieren, die Entscheidung, ob bestimmte Kategorien von Daten in einer Datenbank32 indiziert werden, auf der Anzahl von Lese- und Schreibvorgängen basieren, die mit diesen Daten verbunden ist. -
5 zeigt eine Beispieltabelle150 , welche in einer Verkäuferdatenbank32 beinhaltet sein kann. Datenbank32 kann eine oder mehrere Tabellen150 umfassen, und jede Tabelle150 kann Produktdaten beinhalten, die sich auf ein oder mehrere Arten von Produkten beziehen. Beispielsweise beinhaltet die beispielhafte Tabelle150 Daten in Bezug auf verschiedene Stiftarten. Tabelle150 kann jedoch auch Produktdaten für andere Arten von Produkten enthalten (beispielsweise andere Arten von Bürozubehör), oder diese Produktdaten können in anderen Tabellen150 in Verkäuferdatenbank32 enthalten sein. Tabelle150 enthält eine Mehrzahl von Spalten152 , die jeweils Daten enthalten, die sich auf ein bestimmtes Produktmerkmal beziehen. Obwohl eine beispielhafte Anzahl von Spalten152 , die beispielhafte Produktmerkmale enthalten, dargestellt ist, wird darauf hingewiesen, dass jede geeignete Anzahl und Art von Produktmerkmalen oder anderen Datenkategorien in Tabelle150 enthalten sein kann. Tabelle150 enthält auch eine Anzahl von Zeilen154 , die jeweils einem bestimmten Produkt (und einer verbundenen PID) entsprechen können, und die jeweils Datenwerte für ein oder mehrere der Produktmerkmale enthalten. Jeder der Datenwerte (welcher numerisch, Text oder in jedem anderen geeigneten Format sein kann) ist an dem Schnittpunkt der Zeile154 angeordnet, die mit dem bestimmten Produkt verbunden ist, und der Spalte152 , die ein bestimmtes Produktmerkmal enthält. Auf jeden dieser Schnittpunkte kann als Feld oder Zelle156 der Tabelle150 Bezug genommen werden. - Wie oben beschrieben, können die Daten in einer oder mehreren Spalten
152 der Tabelle150 indiziert werden, um die Geschwindigkeit zu steigern, mit der Datenbanklesevorgänge durchgeführt werden können. Beispielsweise können die Felder156 der Tintenfarbspalte152d und der Spitzenbreitenspalte152e indiziert sein, so dass eine Datenbankabfrage nach einem Stift mit einer bestimmten Tintenfarbe und Spitzenbreite schnell durchgeführt werden kann. Die Daten in Tabelle150 können unter Verwendung jeder geeigneten Datenbankindizierungstechnik indiziert werden. Das übliche Ergebnis einer solchen Indizierung ist, dass, wenn GCD42 oder ein Käufer20 indizierte Daten aus einer Datenbank32 anfordern, das verbundene Datenbankmanagementsystem (oder jede geeignete Schnittstelle zu Datenbank32 ) nicht in jedem Feld156 der Tabelle150 innerhalb Datenbank32 suchen muss, um die angeforderten Daten zu finden. Stattdessen können die Daten so indiziert sein, dass, wenn GCD42 oder ein Käufer20 eine Anfrage nach einem Produkt mit bestimmten Werten von Merkmalen, die indiziert wurden, durchführen, das Datenbankmanagementsystem bereits den Ort solcher Produkte in Tabelle150 kennt und die mit diesen Produkten verbunden Produktdaten ausgeben kann, ohne die gesamte Tabelle150 oder Datenbank32 nach den Produkten zu durchsuchen. Wenn beispielsweise die Tintenfarbfelder156 und Spitzenbreitenfelder156 der Spalten152d und152e entsprechend indiziert sind, wird der Index üblicherweise den Ort aller Produkte mit schwarzer Tinte und einer mittleren Spitzenbreite feststellen. - Wenn GCD
42 oder ein Käufer20 eine Anfrage durchführt, die auch Werte einer oder mehrerer nicht indizierter Merkmale spezifiziert (zum Beispiel eine Anfrage nach Stiften, die von der ABC-Firma hergestellt werden, wenn die Herstellerfelder156 der Spalte152c nicht indiziert sind), dann kann das verbundene Datenbankmanagementsystem eine Suche in Datenbank32 durchführen nach Produkten, die den spezifischen Wert oder Werte der nicht indizierten Merkmale enthalten. Eine solche Suche kann jedoch auf die bereits identifizierten Produkte begrenzt werden (unter Verwendung des Indexes), da sie spezielle Werte von indizierten Merkmalen (zum Beispiel Stifte mit schwarzer Tinte und mittlerer Spitze) enthalten, die ebenfalls in die Suche eingeschlossen sind. Demgemäss kann die erforderliche Zeit zum Durchführen einer solchen Suche reduziert werden, selbst dann, wenn eins oder mehrere der gesuchten Merkmale nicht indiziert sind. - Wie oben beschrieben verlangsamt, obwohl das Indizieren der Felder
156 den Vorteil der Beschleunigung von Lesevorgängen in Datenbanken32 bietet, derartiges Indizieren den Prozess des Schreibens in Datenbank32 (da die Indizes sowie die Tabellen150 aktualisiert werden müssen, wenn die Daten in indizierten Feldern156 geändert werden). - Dementsprechend sollte die Anzahl von Schreibvorgängen, die durchgeführt wird, berücksichtigt werden, wenn bestimmt wird, ob die Felder
156 , die mit einem bestimmten Merkmal verbunden sind (die Felder156 in einer bestimmten Spalte152 ), indiziert werden. Da die Häufigkeit, mit welcher die Daten in Tabelle150 neu geschrieben werden, variiert abhängig von dem Merkmal, mit dem die Daten verbunden sind (die Spalte152 , in welcher die Daten angeordnet sind), kann das Bestimmen, ob indiziert wird, auf einer Merkmal-zu-Merkmal Basis durchgeführt werden. Solch eine Bestimmung kann die Anzahl von Malen berücksichtigen, wie oft Daten, die mit einem bestimmten Merkmal verbunden sind, während einer gewählten Zeitdauer gelesen und geschrieben werden und kann auch den Rechenaufwand des Indizierens berücksichtigen. - Genauer gesagt kann die folgende Gleichung verwendet werden, um zu bestimmen, ob ein Merkmal indiziert wird:
Δt = nrtr – nwtw - In dieser Gleichung ist nr die Anzahl von Lesevorgängen der mit einem bestimmten Merkmal verbundenen Felder
156 , die während einer gewählten Zeitdauer durchgeführt werden, tr ist die Zeit, die für jeden Lesevorgang benötigt wird, nw ist die Anzahl von Schreibvorgängen in mit dem Merkmal verbundenen Feldern156 , die während der gewählten Zeitdauer durchgeführt werden, und tw ist die Zeit, die für jeden Schreibvorgang benötigt wird. Demgemäss ist Δt die Differenz zwischen der Gesamtzeit, die für Lesevorgänge während einer gewählten Zeitdauer benötigt wird, und der Gesamtzeit, die für Schreibvorgänge während der Zeitdauer benötigt wird. In der oben genannten Gleichung wird angenommen, dass für jeden Lesevorgang die gleiche Zeit gebraucht wird und für jeden Schreibvorgang die gleiche Zeit gebraucht wird. Werden jedoch unterschiedliche Zeiten für jeden Lesevorgang (oder für jeden Schreibvorgang) benötigt, dann kann die für jeden Lesevorgang (oder jeden Schreibvorgang) benötigte Zeit während der gewählten Zeitdauer addiert werden. Alternativ kann eine durchschnittliche oder mittlere Lesevorgangszeit (tr) oder Schreibvorgangszeit (tw) verwendet werden und mit der Anzahl von Lesevorgängen (nr) oder Anzahl von Schreibvorgängen (nw) entsprechend multipliziert werden. Weiterhin kann die Zeit, die für Lesevorgänge und Schreibvorgänge benötigt wird, gemessen oder spezifiziert werden basierend auf den Kenntnissen vorhergegangener oder erwarteter Lesevorgangs- und Schreibvorgangszeiten. - Unter Verwendung der oben genannten Formel wird der Wert von Δt für ein bestimmtes Merkmal unter der Voraussetzung berechnet, dass die verbundenen Felder
156 indiziert sind, und der Wert von Δt wird ebenfalls unter der Voraussetzung berechnet, dass die Felder156 nicht indiziert sind. Die Entscheidung, ob ein Merkmal indiziert wird, wird dann getroffen basierend darauf, welches Δt kleiner ist. Der absolute Wert von Δt kann genommen werden, um negative Zahlen zu vermeiden, oder Δt kann für den gleichen Zweck quadriert werden. Unter Verwendung dieses beispielhaften Verfahrens, wenn Δt mit Indizieren kleiner ist als Δt ohne Indizieren, werden die Felder156 , die mit dem Merkmal verbunden sind, indiziert. Wenn Δt mit Indizieren größer ist, als Δt ohne Indizieren, dann werden die Felder156 , die mit dem Merkmal verbunden sind, nicht indiziert. Dementsprechend kann die Entscheidung, ob indiziert wird oder nicht, darauf basieren, welche Option die Gesamtzeit, die für Lesevorgänge und Schreibvorgänge während einer gewählten Zeitdauer benötigt wird, am besten ausgleicht. Eine solche Bestimmung setzt dementsprechend voraus, dass Schreibvorgänge und Lesevorgänge gleich wichtig sind (obwohl wie unten beschrieben dies nicht der Fall sein kann). - Ein Beispiel einer Indizierungsentscheidung unter Verwendung der oben genannten Gleichung ist wie folgt. Während eines Tages (die gewählte Zeitdauer) werden tausend Lesevorgänge durchgeführt und einhundert Schreibvorgänge für Produktdaten, die mit einem bestimmten Merkmal verbunden sind. Wenn die Felder
156 , die mit dem Merkmal verbunden sind, indiziert sind, braucht jeder Lesevorgang eine Sekunde und jeder Schreibvorgang vier Sekunden. Wenn die Felder156 , die mit dem Merkmal verbunden sind, nicht indiziert sind, braucht jeder Lesevorgang zwei Sekunden und jeder Schreibvorgang zwei Sekunden. Dementsprechend halbiert das Indizieren die Lesevorgangszeit, aber verdoppelt die Schreibvorgangszeit. Unter Verwendung der oben genannten Gleichung ist Δt mit Indizieren gleich (1000)(1) – (100)(4) oder sechshundert Sekunden und Δt ohne Indizieren ist gleich (1000)(2) – (100)(2) oder eintausendachthundert Sekunden. Dementsprechend wäre die Entscheidung unter Verwendung der beispielhaften Entscheidungskriterien, die oben beschrieben sind, das Merkmal zu indizieren. - Obwohl die oben genannte Gleichung und das Beispiel die Differenz der gesamten Lesezeit und der gesamten Schreibzeit während einer gewählten Zeitdauer bestimmen, kann eine alternative Berechnung verwendet werden, die die gesamte Lesezeit und die gesamte Schreibzeit addiert, um die benötigte Gesamtzeit für Lesevorgänge und Schreibvorgänge (nrtr + nwtw) zu bestimmen. Diese Gesamtzeit kann für ein bestimmtes Merkmal berechnet werden, wobei das Merkmal indiziert oder nicht indiziert sein kann. Wenn Indizieren eine niedrigere Gesamtlese- und Schreibzeit bringt als das Nichtindizieren, dann kann das Merkmal indiziert werden. Wenn nicht, dann kann das Merkmal nicht indiziert werden. Unter Verwendung der in dem oben genannten Beispiel verwendeten Zahlen, ist die gesamte Lese- und Schreibzeit mit Indizieren eintausendvierhundert Sekunden und die gesamte Lese- und Schreibzeit ohne Indizieren ist zweitausendzweihundert Sekunden. Dementsprechend ergibt sich durch Indizieren des Merkmals die minimale gesamte Lese- und Schreibzeit, und das Merkmal kann basierend auf dieser Bestimmung indiziert werden.
- Die oben beschriebenen Berechnungen (entweder Addieren oder Subtrahieren der Lese- und Schreibzeiten) kann für jedes Merkmal (jede Spalte
152 ) wiederholt werden, das in Tabellen150 einer Datenbank32 enthalten ist. Basierend auf den Berechnungen kann eine Entscheidung für jedes Merkmal getroffen werden, ob die mit diesem Merkmal verbundenen Felder156 indiziert werden sollten. Gibt es keine Begrenzung der Anzahl von Merkmalen, die indiziert werden können, dann können alle Merkmale, für die entschieden wurde, dass Indizieren geeignet ist, indiziert werden. Wenn nicht alle Merkmale, indiziert werden können, dann können die Merkmale mit dem kleinsten Δt oder der kleinsten Gesamtlese- und -schreibzeit indiziert werden. Beispielsweise kann es eine Schwelle geben, oberhalb der ein Merkmal nicht indiziert wird, selbst wenn Indizieren ein kleineres Δt produziert als nicht Indizieren. Wenn beispielsweise Δt mit Indizieren nur geringfügig kleiner ist als Δt ohne Indizieren, dann kann das Merkmal nicht indiziert werden, da der mit dem Indizieren verbundene Berechnungs- oder andere Aufwand diese kleine Differenz überschatten würde. - Wie oben beschrieben kann jede geeignete Zeitspane gewählt werden, während der die Anzahl von Lesevorgängen und die Anzahl von Schreibvorgängen für die oben genannten Berechnungen bestimmt wird. Es kann jedoch vorteilhaft sein, eine Zeitdauer auszuwählen, die lang genug ist, vorübergehenden Schwankungen in Lesevorgängen oder Schreibvorgängen Rechnung zu tragen. Ist beispielsweise die gewählte Zeitdauer eine Minute, und eine unnormal große Menge von Schreibvorgängen tritt während dieser Minute auf, dann kann die Indizierungsentscheidung verzerrt werden. Wenn weiterhin solche Schwankungen eine große Auswirkung auf die Indizierungsentscheidung haben, dann können Merkmale in einem Maße indiziert und „aus dem Index genommen werden”, das nicht effizient ist. Dementsprechend sollte die auswählte Zeitdauer vorzugsweise eine Zeitdauer sein, die die Vorteile von häufigem Indizieren (wie beispielsweise die Indizierungsentscheidung flexibel zu Änderungskonditionen zu treffen) und den Nachteilen von häufigem Indizieren und aus dem Index Hinausnehmen (wie die oben beschriebenen) ausbalanciert. Zusätzlich kann das Datenbankmanagementsystem, das mit einer Datenbank
32 verbunden ist, vergangene Indizierungsentscheidungen aufzeichnen, um die verwendete Zeitdauer zu optimieren. - Obwohl die oben beschriebenen Berechnungen die Gesamtlesezeit und Gesamtschreibzeit während der gewählten Zeitdauer gleich gewichten, kann unter bestimmten Umständen ein unterschiedliches Gewichten dieser Zeiten geeignet sein. Zum Beispiel kann ein Verkäufer
30 die Zeit, die ein Käufer20 oder GCD42 zum Zugreifen auf eine verbundene Datenbank32 braucht, reduzieren wollen bei gleichzeitiger Steigerung der Schreibzeit, die für Verkäufer30 zum Aktualisieren von Daten in der Datenbank32 benötigt wird. Da Verkäufer30 solches Aktualisieren als Stapelverarbeitungsaufgabe während Nichtspitzenzugriffszeiten durchführen kann, kann Verkäufer30 die Schreibzeit egal sein. - In einem solchen Fall, oder in jedem anderen Fall, in dem Lesevorgänge als wichtiger als Schreibvorgänge betrachtet werden (oder umgekehrt), kann der wichtigere Faktor in der oben genannten Gleichung hervorgehoben werden durch Hinzufügen eines Gewichtungsfaktors. Beispielsweise kann die oben genannte Gleichung wie folgt neu geschrieben werden:
Δt = wrnrtr – wwnwtw - In dieser Gleichung ist wr der Gewichtsfaktor, der den Lesevorgängen zugewiesen ist, und ww ist der Gewichtsfaktor, der den Schreibvorgängen zugewiesen ist.
- In einer beispielhaften Ausführungsform ist jeder Gewichtungsfaktor kleiner oder gleich eins, und die Summe der Gewichtungsfaktoren ist gleich eins. Wenn beispielsweise die Schreibvorgänge bestimmt sind, neunmal wichtiger zu sein als Lesevorgänge, und die Zahlen aus dem oben genannten Beispiel verwendet werden, dann ist Δt mit Indizieren gleich |(0,1)(1000)(1) – (0,9)(100)(4)| oder zweihundertsechzig Sekunden und Δt ohne Indizieren ist gleich |(0,1)(1000)(2) – (0,9)(100)(2)| oder zwanzig Sekunden. Dementsprechend würde man entscheiden, das Merkmal nicht zu indizieren (ungleich der Entscheidung, die getroffen wird, wenn die Lese- und Schreibzeiten gleich gewichtet sind, wie oben beschrieben). Ein ähnliches Ergebnis wird erzielt, wenn die gesamte Lese- und Schreibzeit (wrnrtr + wwnwtw) sowohl mit als auch ohne Indizieren bestimmt wird und die minimale Gesamtlese- und Schreibzeit gewählt wird.
-
6 zeigt ein beispielhaftes Verfahren zum Bestimmen, ob die Felder einer Tabelle150 in einer Datenbank32 indiziert werden. Es wird jedoch hervorgehoben, dass das beispielhafte Verfahren und die verschiedenen oben beschriebenen Berechnungen auf das Indizieren jeder geeigneten Datenbank zutreffen, nicht nur einer Verkäuferdatenbank32 in einem e-commerce System10 . Das beispielhafte Verfahren beginnt bei Schritt200 , bei welchem Gewichtungsfaktoren wr und ww, wenn geeignet, bestimmt werden. Bei Schritt202 wird tr für Schreibvorgänge sowohl mit Index als auch ohne Index bestimmt. Bei Schritt204 wird tw sowohl für Schreibvorgänge mit Index als auch ohne Index bestimmt. Die Zeitdauer, während der Lesevorgänge und Schreibvorgänge überwacht werden, wird bei Schritt206 gewählt. Es wird hervorgehoben, dass all diese Bestimmungen unabhängig von der Auswahl eines bestimmten Merkmals getroffen werden, das möglicherweise indiziert wird. Dementsprechend nimmt das beispielhafte Verfahren an, dass tr und tw für jedes Merkmal gleich sind, und dass sie bestimmt werden können, bevor die Lesevorgänge und Schreibvorgänge während der gewählten Zeitdauer überwacht werden. Beispielsweise können tr und tw auf vergangenen Beobachtungen oder anderen historischen Daten basieren. Die Zeit, die jedoch, wie oben beschrieben, für jeden Lesevorgang und Schreibvorgang benötigt wird während der gewählten Zeitdauer und/oder für ein bestimmtes Produktmerkmal, kann auch bestimmt werden. In solch einem Fall können Schritte202 und204 während der gewählten Zeitdauer und/oder für das bestimmte Merkmal ausgeführt werden. - Bei Schritt
208 des beispielhaften Verfahrens wird ein Merkmal als Gegenstand der Indizierungsentscheidung (ob die mit dem Merkmal verbundenen Felder indiziert werden sollen) ausgewählt. Diese Entscheidung kann für verschiedene Merkmale einer Tabelle150 in jeder geeigneten Reihenfolge oder im wesentlichen gleichzeitig getroffen werden (obwohl jede Bestimmung noch unabhängig sein kann). Bei Schritt210 wird die Anzahl von Lesevorgängen, die während der gewählten Zeitdauer in mit dem ausgewählten Merkmal verbundenen Feldern durchgeführt werden, überwacht, um die gesamte Anzahl der durchgeführten Lesevorgänge zu bestimmen. Bei Schritt212 wird die gleiche Bestimmung bezüglich der Anzahl der durchgeführten Schreibvorgänge gemacht. Schritte210 und212 können im wesentlichen gleichzeitig durchgeführt werden. Die Gesamtzeit, die für Lesevorgänge (nrtr) benötigt wird, wird sowohl für die indizierten als auch für die nicht indizierten Fälle bei Schritt214 bestimmt, und die Gesamtzeit, die für Schreibvorgänge (nwtw) benötigt wird, wird sowohl für indizierte als auch für nicht indizierte Fälle bei Schritt216 bestimmt. Wenn angemessen, können die verschiedenen Gesamtzeiten auch unter Verwendung geeigneter Gewichtungsfaktoren gewichtet werden. - Genau wie Schritte
210 und212 können die Schritte214 und216 im wesentlichen gleichzeitig durchgeführt werden. - Bei Schritt
218 werden die Gesamtlesezeiten und Gesamtschreibzeiten mit und ohne Indizierung beurteilt, um zu bestimmen, ob die mit dem ausgewählten Merkmal verbundenen Felder indiziert werden sollen. Diese Beurteilung kann unter Verwendung der oben beschriebenen Berechnung oder unter Verwendung jedes anderen geeigneten Verfahrens durchgeführt werden. Ist eine Indizierungsentscheidung für ein bestimmtes Merkmal getroffen, kann das Verfahren zu Schritt208 zurückkehren, wie durch Pfeil220 angezeigt, so dass die Indizierungsentscheidung für ein anderes Merkmal getroffen werden kann (oder solche Bestimmungen können parallel gemacht werden). Wenn eine Indizierungsentscheidung für ein bestimmtes Merkmal getroffen wurde, kann die Indizierungsentscheidung für dieses Merkmal in jedem geeigneten Intervall wiederholt werden. Ist beispielsweise die gewählte Zeitdauer abgelaufen und eine Indizierungsentscheidung wurde getroffen, kann das Verfahren wiederholt werden, und eine neue Zeitdauer kann beginnen. Es wird hervorgehoben, dass, obwohl eine bestimmte Serie von Schritten beschrieben ist, die Schritte in jeder geeigneten Reihenfolge durchgeführt werden können, und Schritte können je nach Eignung hinzugefügt oder entfernt werden.
Claims (12)
- Verfahren zum selektiven Indizieren einer Datenbank, welches aufweist: Selektieren einer Menge von Feldern in der Datenbank, wobei die Felder in einer Spalte einer Tabelle in der Datenbank lokalisiert sind; Bestimmen der Gesamtzeit, die zum Lesen von Daten aus den Feldern während einer ausgewählten Zeitdauer benötigt wird, wenn die Felder indiziert sind; Bestimmen der Gesamtzeit, die zum Lesen von Daten während der gewählten Zeitdauer benötigt wird, wenn die Felder nicht indiziert sind; Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern während der gewählten Zeitdauer benötigt wird, wenn die Felder indiziert sind; Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern während einer gewählten Zeitdauer benötigt wird, wenn die Felder nicht indiziert sind; und Beurteilen der Gesamtzeiten, die zum Lesen und Schreiben von Daten in den Feldern benötigt wird, um zu bestimmen, ob die Felder indiziert werden sollen.
- Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Verfahren für die Menge von Feldern, die mit jeder Spalte in der Datenbank verbunden sind, wiederholt wird.
- Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Verfahren für die gewählte Menge von Feldern periodisch wiederholt wird, um die Leistung der Datenbank abzustimmen.
- Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass das Bestimmen der Gesamtzeit, die zum Lesen von Daten aus den Feldern benötigt wird, aufweist: Bestimmen der Zeitdauer, die zum Lesen von Daten aus einem ausgewählten der Felder benötigt wird; Bestimmen der Anzahl von Lesevorgängen in den Feldern während der gewählten Zeitspanne; und Multiplizieren der Zeit, die zum Lesen von Daten aus dem ausgewählten Feld benötigt wird, mit der Anzahl von Lesevorgängen, um die Gesamtzeit zum Lesen von Daten zu erzeugen.
- Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern benötigt wird, aufweist: Bestimmen der Zeitdauer, die zum Schreiben von Daten in einem ausgewählten der Felder benötigt wird; Bestimmen der Anzahl von Schreibvorgängen in den Feldern während der ausgewählten Zeitdauer; und Multiplizieren der Zeitdauer, die zum Schreiben von Daten in dem gewählten Feld benötigt wird, mit der Anzahl der Schreibvorgänge, um die Gesamtzeit zum Schreiben von Daten zu erzeugen.
- Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass das Bestimmen der Gesamtzeit, die zum Lesen von Daten aus den Feldern benötigt wird, aufweist: Messen der Zeitdauer für jeden Lesevorgang, der während der gewählten Zeitdauer auftritt; Summieren der Zeitdauer, die für alle Lesevorgänge während der ausgewählten Zeitdauer gemessen wurde, um die. Gesamtzeit zum Lesen von Daten zu erzeugen.
- Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass das Bestimmen der Gesamtzeit, die zum Schreiben von Daten in den Feldern benötigt wird, aufweist: Messen der Zeitdauer für jeden Schreibvorgang, der während der gewählten Zeitdauer auftritt; Summieren der Zeitdauer, die für alle Schreibvorgänge während der ausgewählten Zeitdauer gemessen wurde, um die Gesamtzeit zum Schreiben von Daten zu erzeugen.
- Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass das Verfahren weiter aufweist: Multiplizieren der Gesamtzeiten, die zum Lesen von Daten mit und ohne Indizierung benötigt werden, mit einem ersten Gewichtsfaktor; und Multiplizieren der Gesamtzeiten, die zum Schreiben von Daten mit und ohne Indizierung benötigt werden, mit einem zweiten Gewichtsfaktor; und Beurteilen der gewichteten Gesamtzeiten zum Lesen und Schreiben, um zu bestimmen, ob die Felder indiziert werden sollen.
- Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass das Beurteilen der Gesamtzeiten aufweist: Bestimmen des absoluten Zeitunterschieds zwischen der Gesamtzeit, die zum Lesen von Daten benötigt wird, wenn die Felder indiziert sind, und der Gesamtzeit, die zum Schreiben von Daten benötigt wird, wenn die Felder indiziert sind; Bestimmen des absoluten Zeitunterschieds zwischen der Gesamtzeit, die zum Lesen von Daten benötigt wird, wenn die Felder nicht indiziert sind, und der Gesamtzeit, die zum Schreiben von Daten benötigt wird, wenn die Felder nicht indiziert sind; und Indizieren der ausgewählten Menge von Feldern, wenn der absolute Zeitunterschied mit Indizierung kleiner ist als der absolute Zeitunterschied ohne Indizierung.
- Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Beurteilen der Gesamtzeiten aufweist: Bestimmen der Summe der Gesamtzeit, die zum Lesen von Daten benötigt wird, wenn die Felder indiziert sind, und der Summe der Gesamtzeit, die zum Schreiben von Daten benötigt wird, wenn die Felder indiziert sind; Bestimmen der Summe der Gesamtzeit, die zum Lesen von Daten benötigt wird, wenn die Felder nicht indiziert sind, und der Summe der Gesamtzeit, die zum Schreiben von Daten benötigt wird, wenn die Felder nicht indiziert sind; und Indizieren der ausgewählten Menge von Feldern, wenn die Summe mit Indizierung kleiner ist als die Summe ohne Indizierung.
- Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die Datenbank Produktdaten aufweist und die Menge der Felder verbunden sind mit einem Merkmal eines Produktes, für die Produktdaten in der Datenbank enthalten sind.
- Software, die auf einem computerlesbaren Medium gespeichert ist und die bei Verwendung in einer Datenverarbeitungseinrichtung das Verfahren zum selektiven Indizieren einer Datenbank nach einem der Ansprüche 1 bis 11 ausführt.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23594500P | 2000-09-26 | 2000-09-26 | |
US60/235,945 | 2000-09-26 | ||
US09/745,980 US6708161B2 (en) | 2000-09-26 | 2000-12-22 | System and method for selective database indexing |
US09/745,980 | 2000-12-22 | ||
PCT/US2001/030304 WO2002027531A1 (en) | 2000-09-26 | 2001-09-25 | System and method for selective database indexing |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10196672T1 DE10196672T1 (de) | 2003-08-28 |
DE10196672B4 true DE10196672B4 (de) | 2011-02-17 |
Family
ID=26929336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10196672T Expired - Fee Related DE10196672B4 (de) | 2000-09-26 | 2001-09-25 | Verfahren zum selektiven Indizieren von Datenbanken |
Country Status (4)
Country | Link |
---|---|
US (1) | US6708161B2 (de) |
AU (1) | AU2001294819A1 (de) |
DE (1) | DE10196672B4 (de) |
WO (1) | WO2002027531A1 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754364B1 (en) * | 1999-10-28 | 2004-06-22 | Microsoft Corporation | Methods and systems for fingerprinting digital data |
US6859217B2 (en) * | 2000-07-19 | 2005-02-22 | Microsoft Corporation | System and method to display and manage data within hierarchies and polyarchies of information |
US20020111870A1 (en) * | 2000-09-26 | 2002-08-15 | I2 Technologies, Inc. | System and method for identifying a product |
US7321901B1 (en) * | 2000-09-29 | 2008-01-22 | Microsoft Corporation | Application service provider model for manufacturers product specification data |
JP2002243814A (ja) * | 2000-11-07 | 2002-08-28 | Yazaki Corp | 車両用バッテリ純抵抗測定方法及び装置 |
US6957230B2 (en) * | 2000-11-30 | 2005-10-18 | Microsoft Corporation | Dynamically generating multiple hierarchies of inter-object relationships based on object attribute values |
JP2002259442A (ja) * | 2001-02-28 | 2002-09-13 | Fujitsu Ltd | データベース検索方法ならびに記憶媒体 |
US7302634B2 (en) | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US7024662B2 (en) * | 2001-03-14 | 2006-04-04 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
JP2002297620A (ja) * | 2001-03-30 | 2002-10-11 | Mitsubishi Electric Corp | 商品情報検索システム、商品情報提供側端末装置、商品情報提供方法、記録媒体及びプログラム |
US7047413B2 (en) | 2001-04-23 | 2006-05-16 | Microsoft Corporation | Collusion-resistant watermarking and fingerprinting |
US7392237B2 (en) * | 2001-04-26 | 2008-06-24 | Siemens Medical Solutions Usa, Inc. | Identifier code translation system |
US7349868B2 (en) * | 2001-05-15 | 2008-03-25 | I2 Technologies Us, Inc. | Pre-qualifying sellers during the matching phase of an electronic commerce transaction |
US7475030B1 (en) | 2001-05-16 | 2009-01-06 | I2 Technologies Us, Inc. | Facilitating electronic commerce transactions using a shared product data repository |
US8412746B2 (en) * | 2001-05-25 | 2013-04-02 | International Business Machines Corporation | Method and system for federated querying of data sources |
US7099885B2 (en) * | 2001-05-25 | 2006-08-29 | Unicorn Solutions | Method and system for collaborative ontology modeling |
US20060064666A1 (en) | 2001-05-25 | 2006-03-23 | Amaru Ruth M | Business rules for configurable metamodels and enterprise impact analysis |
US7127416B1 (en) | 2001-06-18 | 2006-10-24 | I2 Technologies Us, Inc. | Distributed processing of sorted search results in an electronic commerce system and method |
US7263515B1 (en) * | 2001-06-18 | 2007-08-28 | I2 Technologies Us, Inc. | Content enhancement in an electronic marketplace |
US7330829B1 (en) * | 2001-06-26 | 2008-02-12 | I2 Technologies Us, Inc. | Providing market feedback associated with electronic commerce transactions to sellers |
US8086643B1 (en) * | 2001-06-28 | 2011-12-27 | Jda Software Group, Inc. | Translation between product classification schemas |
US7809672B1 (en) * | 2001-06-28 | 2010-10-05 | I2 Technologies Us, Inc. | Association of data with a product classification schema |
US7162453B1 (en) | 2001-06-29 | 2007-01-09 | I2 Technologies Us, Inc. | Protecting content from unauthorized reproduction |
US8301503B2 (en) * | 2001-07-17 | 2012-10-30 | Incucomm, Inc. | System and method for providing requested information to thin clients |
US20030033163A1 (en) * | 2001-07-26 | 2003-02-13 | Halim Habiby | Data modeling and attribute definition |
US6944626B2 (en) | 2001-11-26 | 2005-09-13 | Microsoft Corp. | Dynamically generated schema representing multiple hierarchies of inter-object relationships |
US7389335B2 (en) * | 2001-11-26 | 2008-06-17 | Microsoft Corporation | Workflow management based on an integrated view of resource identity |
US6952704B2 (en) * | 2001-11-26 | 2005-10-04 | Microsoft Corporation | Extending a directory schema independent of schema modification |
WO2003065242A1 (en) * | 2002-01-25 | 2003-08-07 | Tibco Software, Inc. | Single applet to communicate with multiple html elements contained inside of multiple categories on a page |
US8412581B1 (en) | 2002-02-21 | 2013-04-02 | Jda Software Group, Inc. | Facilitating business transactions between trading networks |
US7412424B1 (en) | 2002-03-19 | 2008-08-12 | I2 Technologies Us, Inc. | Third party certification of content in electronic commerce transactions |
US7756759B1 (en) * | 2002-05-15 | 2010-07-13 | Versata Development Group, Inc. | Method and apparatus for inventory searching |
AUPS300402A0 (en) * | 2002-06-17 | 2002-07-11 | Canon Kabushiki Kaisha | Indexing and querying structured documents |
US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
US7128767B2 (en) * | 2003-07-01 | 2006-10-31 | Gtl Energy | Method to upgrade low rank coal stocks |
US7627587B2 (en) * | 2003-09-25 | 2009-12-01 | Unisys Corporation | System and method for improving information retrieval from a database |
US20050237305A1 (en) * | 2004-04-27 | 2005-10-27 | Udo Klein | Tactile feedback through a computer keyboard |
US20050237306A1 (en) * | 2004-04-27 | 2005-10-27 | Udo Klein | Tactile feedback through a computer keyboard key |
US8402283B1 (en) | 2004-08-02 | 2013-03-19 | Nvidia Corporation | Secure content enabled drive system and method |
US8359332B1 (en) | 2004-08-02 | 2013-01-22 | Nvidia Corporation | Secure content enabled drive digital rights management system and method |
US8751825B1 (en) | 2004-12-15 | 2014-06-10 | Nvidia Corporation | Content server and method of storing content |
US8788425B1 (en) | 2004-12-15 | 2014-07-22 | Nvidia Corporation | Method and system for accessing content on demand |
US8346807B1 (en) | 2004-12-15 | 2013-01-01 | Nvidia Corporation | Method and system for registering and activating content |
US8875309B1 (en) | 2004-12-15 | 2014-10-28 | Nvidia Corporation | Content server and method of providing content therefrom |
US20060190433A1 (en) * | 2005-02-23 | 2006-08-24 | Microsoft Corporation | Distributed navigation business activities data |
US8893299B1 (en) * | 2005-04-22 | 2014-11-18 | Nvidia Corporation | Content keys for authorizing access to content |
US20060265661A1 (en) * | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Device metadata |
JP2008176565A (ja) * | 2007-01-18 | 2008-07-31 | Hitachi Ltd | データベース管理方法、そのプログラムおよびデータベース管理装置 |
CN101650717B (zh) | 2008-08-13 | 2013-07-31 | 阿里巴巴集团控股有限公司 | 一种节约数据库存储空间的方法和系统 |
US10318635B2 (en) | 2012-09-28 | 2019-06-11 | Cerner Innovation, Inc. | Automated mapping of service codes in healthcare systems |
US10403391B2 (en) | 2012-09-28 | 2019-09-03 | Cerner Health Services, Inc. | Automated mapping of service codes in healthcare systems |
US10565315B2 (en) | 2012-09-28 | 2020-02-18 | Cerner Innovation, Inc. | Automated mapping of service codes in healthcare systems |
US10089107B2 (en) * | 2013-06-07 | 2018-10-02 | Apple Inc. | Methods and systems for record editing in application development |
US10490306B2 (en) | 2015-02-20 | 2019-11-26 | Cerner Innovation, Inc. | Medical information translation system |
US10846276B2 (en) * | 2015-06-30 | 2020-11-24 | Ebay Inc. | Search engine optimization by selective indexing |
CN106294538B (zh) * | 2016-07-19 | 2019-07-16 | 浙江大华技术股份有限公司 | 一种从节点中的数据记录的迁移方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5551027A (en) * | 1993-01-07 | 1996-08-27 | International Business Machines Corporation | Multi-tiered indexing method for partitioned data |
EP0423683B1 (de) * | 1989-10-16 | 1996-09-18 | Sharp Kabushiki Kaisha | Gerät zur automatischen Generierung eines Index |
EP0784280A2 (de) * | 1996-01-11 | 1997-07-16 | Hitachi, Ltd. | Automatisches Indexationsverfahren |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5777608A (en) * | 1989-03-10 | 1998-07-07 | Board Of Regents, The University Of Texas System | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories |
US5983309A (en) * | 1994-07-27 | 1999-11-09 | Seagate Technology, Inc. | Autonomous high speed address translation with defect management for hard disc drives |
TW280906B (de) * | 1994-12-01 | 1996-07-11 | Ibm | |
US6286002B1 (en) | 1996-01-17 | 2001-09-04 | @Yourcommand | System and method for storing and searching buy and sell information of a marketplace |
US5970471A (en) | 1996-03-22 | 1999-10-19 | Charles E. Hill & Associates, Inc. | Virtual catalog and product presentation method and apparatus |
US5935207A (en) | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5745898A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for generating a compressed index of information of records of a database |
US5926797A (en) | 1996-09-30 | 1999-07-20 | Ncr Corporation | Method of assigning electronic price labels to groups of price lookup file items |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US6189043B1 (en) | 1997-06-09 | 2001-02-13 | At&T Corp | Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation |
US20010034814A1 (en) | 1997-08-21 | 2001-10-25 | Michael D. Rosenzweig | Caching web resources using varied replacement sttrategies and storage |
US5991756A (en) | 1997-11-03 | 1999-11-23 | Yahoo, Inc. | Information retrieval from hierarchical compound documents |
US6154738A (en) | 1998-03-27 | 2000-11-28 | Call; Charles Gainor | Methods and apparatus for disseminating product information via the internet using universal product codes |
US6144996A (en) | 1998-05-13 | 2000-11-07 | Compaq Computer Corporation | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network |
KR100603924B1 (ko) | 1998-06-10 | 2006-10-19 | 삼성전자주식회사 | 포인팅 장치를 장착한 컴퓨터 시스템의 화면 표시 방법 |
US6285366B1 (en) | 1998-06-30 | 2001-09-04 | Sun Microsystems, Inc. | Hierarchy navigation system |
US6466240B1 (en) | 1998-07-08 | 2002-10-15 | Vadim Maslov | Method for visually writing programs or scripts that transform structured text presented as a tree |
US6334131B2 (en) | 1998-08-29 | 2001-12-25 | International Business Machines Corporation | Method for cataloging, filtering, and relevance ranking frame-based hierarchical information structures |
US6356899B1 (en) | 1998-08-29 | 2002-03-12 | International Business Machines Corporation | Method for interactively creating an information database including preferred information elements, such as preferred-authority, world wide web pages |
US6271846B1 (en) | 1998-09-30 | 2001-08-07 | International Business Machines Corporation | Method for reanchoring branches within a directory tree |
US6058417A (en) | 1998-10-23 | 2000-05-02 | Ebay Inc. | Information presentation and management in an online trading environment |
US6341280B1 (en) | 1998-10-30 | 2002-01-22 | Netscape Communications Corporation | Inline tree filters |
US6366910B1 (en) | 1998-12-07 | 2002-04-02 | Amazon.Com, Inc. | Method and system for generation of hierarchical search results |
US6212512B1 (en) | 1999-01-06 | 2001-04-03 | Hewlett-Packard Company | Integration of a database into file management software for protecting, tracking and retrieving data |
US6470344B1 (en) * | 1999-05-29 | 2002-10-22 | Oracle Corporation | Buffering a hierarchical index of multi-dimensional data |
US6289382B1 (en) | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US6460038B1 (en) | 1999-09-24 | 2002-10-01 | Clickmarks, Inc. | System, method, and article of manufacture for delivering information to a user through programmable network bookmarks |
US6490619B1 (en) | 1999-12-07 | 2002-12-03 | International Business Machines Corporation | Method and system for managing multiple lightweight directory access protocol directory servers |
-
2000
- 2000-12-22 US US09/745,980 patent/US6708161B2/en not_active Expired - Lifetime
-
2001
- 2001-09-25 DE DE10196672T patent/DE10196672B4/de not_active Expired - Fee Related
- 2001-09-25 AU AU2001294819A patent/AU2001294819A1/en not_active Abandoned
- 2001-09-25 WO PCT/US2001/030304 patent/WO2002027531A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0423683B1 (de) * | 1989-10-16 | 1996-09-18 | Sharp Kabushiki Kaisha | Gerät zur automatischen Generierung eines Index |
US5551027A (en) * | 1993-01-07 | 1996-08-27 | International Business Machines Corporation | Multi-tiered indexing method for partitioned data |
EP0784280A2 (de) * | 1996-01-11 | 1997-07-16 | Hitachi, Ltd. | Automatisches Indexationsverfahren |
Also Published As
Publication number | Publication date |
---|---|
US6708161B2 (en) | 2004-03-16 |
AU2001294819A1 (en) | 2002-04-08 |
US20020083048A1 (en) | 2002-06-27 |
WO2002027531A1 (en) | 2002-04-04 |
DE10196672T1 (de) | 2003-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10196672B4 (de) | Verfahren zum selektiven Indizieren von Datenbanken | |
DE10196670B3 (de) | System und Verfahren zur Migration von Daten in einem elektronischen Handelssystem | |
US7127416B1 (en) | Distributed processing of sorted search results in an electronic commerce system and method | |
US6983276B2 (en) | Facilitating electronic commerce transactions using buyer profiles | |
DE10244731A1 (de) | Dynamischer Auslastungsausgleich unter Verwendung einer semantischen Verkehrsüberwachung | |
US8326699B2 (en) | Pre-qualifying sellers during the matching phase of an electronic commerce transaction | |
DE10244726A1 (de) | Erzeugen, Aktualisieren und Verwalten von Multi-Taxonomie-Umgebungen | |
US7089237B2 (en) | Interface and system for providing persistent contextual relevance for commerce activities in a networked environment | |
US20180285883A1 (en) | Providing Market Feedback Associated with Electronic Commerce Transactions to Sellers | |
US7555447B2 (en) | System and method for identifying a product | |
DE10244623A1 (de) | Dynamische Datenbankumleitung unter Verwendung semantischer Taxonomie-Information | |
DE10244729A1 (de) | Dokumentenspeicherung und -klassifizierung | |
DE112006002886T5 (de) | System und Verfahren zum Speichern von Postenattributen in einem elektronischen Katalog | |
DE10255127A1 (de) | Zuordnung zwischen Teilenummern, die auf verschiedenen Schemata für Teilenummerierung beruhen | |
US20020082932A1 (en) | System and method for facilitating electronic commerce transactions | |
US9342812B2 (en) | Taxonomy based database partitioning | |
EP1131752B1 (de) | Verfahren zur datenbankgestützten selektion von produkten für electronic-commerce-anwendungen im internet | |
US7809672B1 (en) | Association of data with a product classification schema | |
DE10244622A1 (de) | Speicherung und Wiederverwendung von Drittparteidokumenten | |
US7475030B1 (en) | Facilitating electronic commerce transactions using a shared product data repository | |
DE10244624A1 (de) | Bestellbeschleunigung durch Speicherung dund Wiederverwendung von Benutzerdokumenten | |
EP3089097A1 (de) | Verfahren zum erzeugen von prioritätsdaten für produkte | |
WO2010127670A2 (de) | Verfahren zum suchenden abgleich zwischen mindestens einer suchdatenmenge mit mindestens einer objektdatenmenge | |
Yue et al. | Selection of useful links for an Australian Medical Association Web site. | |
DE10246001A1 (de) | Vorsehen einer Visualisierung einer Anzahl von Angeboten mit einer Anzahl von Angebotsvariablen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: DF-MP, 80333 MUENCHEN |
|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 17/30 AFI20051017BHDE |
|
R020 | Patent grant now final |
Effective date: 20110619 |
|
R082 | Change of representative |
Representative=s name: DF-MP, 80333 MUENCHEN, DE Representative=s name: DF-MP, DE |
|
R081 | Change of applicant/patentee |
Owner name: JDA SOFTWARE GROUP, INC., SCOTTSDALE, US Free format text: FORMER OWNER: I2 TECHNOLOGIES, INC., DALLAS, TEX., US Effective date: 20120119 |
|
R082 | Change of representative |
Representative=s name: DF-MP DOERRIES FRANK-MOLNIA & POHLMAN PATENTAN, DE Effective date: 20120119 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |