DE10393809T5 - Datenstruktur zum Analysieren von Anwendersitzungen - Google Patents

Datenstruktur zum Analysieren von Anwendersitzungen Download PDF

Info

Publication number
DE10393809T5
DE10393809T5 DE10393809T DE10393809T DE10393809T5 DE 10393809 T5 DE10393809 T5 DE 10393809T5 DE 10393809 T DE10393809 T DE 10393809T DE 10393809 T DE10393809 T DE 10393809T DE 10393809 T5 DE10393809 T5 DE 10393809T5
Authority
DE
Germany
Prior art keywords
field
hit
information
responses
requests
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.)
Granted
Application number
DE10393809T
Other languages
English (en)
Other versions
DE10393809B4 (de
Inventor
Igor Los Gatos Tsyganskiy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of DE10393809T5 publication Critical patent/DE10393809T5/de
Application granted granted Critical
Publication of DE10393809B4 publication Critical patent/DE10393809B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Abstract

Computer-implementiertes Verfahren zum Verarbeiten von Information, die zwischen einem Klienten und einem Server ausgetauscht wird, wobei das Verfahren umfaßt:
ein Empfangen von eine Information charakterisierenden Anfragen bzw. Anforderungen und Antworten, die zwischen einem Klienten und einem Server ausgetauscht werden, wobei die Anfragen und Antworten wenigstens einen Treffer beinhalten, wobei jeder Treffer eine oder mehrere Antworten beinhaltet, welche kollektiv bzw. gemeinsam eine Anzeigeseite spezifiziert(en), die einem Benutzer präsentiert wird, wobei die Antworten alle Felder der Anzeigeseite beinhaltet, und wobei jeder Treffer weiters eine Anfrage beinhaltet, die zu dem Server gesandt wird, welche den Antworten des Treffers entspricht, wobei die Anfrage gegebenenfalls Felder beinhaltet, wobei die Felder der Anfrage alle Felder der Anzeigeseite sind;
ein Extrahieren von Feldnamen und Feldwerten aus der Information, die die Anfragen und Antworten charakterisiert;
für jeden Treffer ein Erzeugen eines Namenwertelements für jedes Feld der Anzeigeseite des Treffers, wobei jedes Namenwertelement einen Feldnamen des...

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Datenverarbeiten, und insbesondere ein Analysieren einer Anwendersession bzw. -sitzung von Netzwerkanwendungen.
  • Ein Netzwerk, wie beispielsweise das Internet, beinhaltet üblicherweise Klient- bzw. Clientcomputer ("Klienten") und Servercomputer ("Server"). Ein Klient und ein Server sind im allgemeinen voneinander entfernt und kommunizieren typischerweise durch Verbindungen des Netzwerks. Die Beziehung von Klient und Server ergibt sich aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und eine Klient-Server-Beziehung zueinander aufweisen.
  • Computerprogramme, die in einer Netzwerkumgebung laufen, werden im allgemeinen als Netzwerkanwendungen bezeichnet. Eine Netzwerkanwendung kann entweder auf einem Klienten, einem Server oder sowohl auf einem Klient und einem Server laufen. Ein Beispiel einer Netzwerkanwendung ist ein Web-Browser, oder einfach ein Browser. Ein Browser ist ein Programm, welches auf einem Klient läuft und ein Hypertext-Transferprotokoll bzw. Hypertext-Übertragungsprotokoll ("HTTP") oder Secure-Hypertext-Transfer-Protokoll bzw. sicheres Hypertext-Übertragungsprotokoll ("S-HTTP") verwendet, um Information mit Servern auszutauschen. Ein anderes Beispiel einer Netzwerkanwendung ist eine Unternehmensanwendung, die durch einen Server gehostet bzw. beherbergt wird. Die Unternehmensanwendung stellt Information zur Verfügung oder führt irgendeine Funktion in Antwort auf eine Interaktion bzw. Wechselwirkung mit einem oder mehreren Klienten durch.
  • Beim Ablaufen einer Netzwerkanwendung fordert ein Klient üblicherweise Information von einem Server an. In Antwort auf jede Anforderung bzw. Anfrage stellt der Server üblicherweise Information dem Klienten zur Verfügung. Ein Klient, der durch einen menschlichen Bediener betrieben bzw. bedient wird, kann beispielsweise einen Browser verwenden, um auf eine Web-Seite einer Stelle bzw. Site zuzugreifen, die durch einen Server gehostet bzw. beherbergt bzw. bereitgehalten wird. In Antwort auf eine Eingabe von dem menschlichen Bediener sendet der Klient üblicherweise eine Anforderung bzw. einen Auftrag für die Web-Seite an den Server. In Antwort auf die Anforderung greift der Server auf die angefragte bzw. angeforderte Web-Seite zu und sendet eine Antwort, die die angeforderte Seite beinhaltet. Wenn der Klient die Antwort von dem Server empfängt, kann der Klient die Web-Seite für den menschlichen Bediener zur Betrachtung anzeigen. In Antwort auf eine weitere Eingabe von dem menschlichen Bediener kann der Klient eine andere Anfrage an den Server senden.
  • Die zwischen einem Server und einem Klient ausgetauschte Information beinhaltet üblicherweise Feldnamen und Feldwerte. Wenn die Web-Seite beispielsweise ein oder mehrere Felder) beinhaltet, kann die Anfrage und Antwort jeweils Feldnamen und Feldwerte der Felder beinhalten.
  • Im allgemeinen wird ein bestimmter Satz von Kommunikation zwischen einem Server und einem Klient in dieser Spezifikation als eine Anwendersitzung bezeichnet. Der Satz kann auf verschiedene Arten definiert sein. Eine Anwendersitzung beinhaltet im allgemeinen eine Serie von Anfragen bzw. Abfragen, die durch einen Klient zu einem Server gesandt werden, und eine Serie von Antworten, die von dem Server zu dem Klient in Beantwortung der Anfragen gesandt werden. Im allgemeinen werden Anfragen und Antworten einer Anwendersitzung durch irgendeine menschliche Interaktion veranlaßt, wobei dies aber nicht so sein muß.
  • Einige Anwendersitzungen können ein getrenntes bzw. unterbrochenes Protokoll verwenden. D.h., der Klient und der Server sind nicht in aktiver Kommunikation, nachdem der Server auf eine bestimmte Anfrage von dem Klient antwortet. Sie werden nach jedem Paar von Anfrage und entsprechender Antwort getrennt. Der Klient muß eine neue Verbindung mit dem Server nach jedem Treffer errichten. HTTP/1.0 ist ein Beispiel eines getrennten Protokolls.
  • Zusammenfassung
  • Die vorliegende Erfindung stellt Datenstrukturen und Techniken zum Analysieren von Anwendersitzungen zur Verfügung.
  • Im allgemeinen beinhaltet in einem Aspekt ein computer-implementiertes Verfahren zum Be- bzw. Verarbeiten von Information, die zwischen einem Klienten und einem Server ausgetauscht wird, ein Empfangen von eine Information charakterisierenden Anfragen bzw. Anforderungen und Antworten, die zwischen einem Klienten und einem Server ausgetauscht werden. Die Anfragen und Antworten beinhalten wenigstens einen Treffer. Jeder Treffer beinhaltet eine oder mehrere Antwort(en), welche kollektiv bzw. gemeinsam eine Anzeigeseite spezifiziert(en), die einem Anwender präsentiert wird. Die eine oder die mehrere Antworten) beinhaltet (beinhalten) alle Felder der Anzeigeseite. Jeder Treffer beinhaltet weiters eine Anfrage, die zu dem Server gesandt wird, die mit den Antworten des Treffers übereinstimmt. Die Anfrage beinhaltet optional Felder. Alle der Felder der Anfrage sind Felder der Anzeigeseite. Das Verfahren beinhaltet ein Extrahieren von Feldnamen und Feldwerten aus der Information, die die Anfragen und Antworten charakterisiert. Das Verfahren beinhaltet, für jeden Treffer, ein Erzeugen eines Namenwertelements für jedes Feld der Anzeigeseite des Treffers. Jedes Namenwertelement beinhaltet einen Feldnamen des entsprechenden Felds und alle Feldwerte des Felds, die in der Anfrage gefunden werden, und die eine oder die mehreren Antworten) des Treffers. Das Verfahren beinhaltet ein Erzeugen, für jeden Treffer, eines Vektors des Namenwertelements, das für den Treffer erzeugt wurde. Das Verfahren beinhaltet, wenn die Anfragen und Antworten mehrfache Treffer beinhalten, ein Spezifizieren einer Reihenfolge der Vektoren der jeweiligen Treffer, um eine Sequenz bzw. Abfolge von Vektoren zu definieren.
  • Im allgemeinen beinhaltet in einem anderen Aspekt ein Computerprogramm-Produkt zum Verarbeiten von Information Instruktionen, welche operabel bzw. in abarbeitbar sind, um einen programmierbaren Prozessor bzw. Rechner zu veranlassen, eine Information charakterisierende Anfragen und Antworten zu empfangen, die zwischen einem Klienten und einem Server ausgetauscht werden. Die Anfragen und Antworten beinhalten wenigstens einen Treffer, wobei jeder Treffer eine oder mehrere Antworten beinhaltet, welche kollektiv eine Anzeigeseite spezifiziert(en), die einem Anwender präsentiert wird, wobei die Antworten alle Felder der Anzeigeseite beinhalten, und wobei jeder Treffer weiters eine Anfrage beinhaltet, die zu dem Server gesandt wird, welche den Antworten des Treffers entspricht. Die Anfrage beinhaltet optional Felder, wobei die Felder der Anfrage alle Felder der Anzeigeseite sind. Das Produkt beinhaltet Instruktionen bzw. Anweisungen, um Feldnamen und Feldwerte aus der Information zu extrahieren, die die Anfragen und Antworten charakterisiert. Das Produkt beinhaltet Instruktionen, um für jeden Treffer ein Namenwertelement für jedes Feld der Anzeigeseite des Treffers zu erzeugen. Jedes Namenwertelement beinhaltet einen Feldnamen des entsprechenden Felds und alle Feldwerte des Felds, die in der Anfrage gefunden werden, und die eine oder die mehreren Antworten) des Treffers. Das Produkt beinhaltet Instruktionen bzw. Befehle zum Erzeugen, für jeden Treffer, eines Vektors der Namenwertelemente, die für den Treffer erzeugt wurden. Das Produkt beinhaltet eine Instruktion, um, wenn die Anfragen und Antworten mehrfache Treffer beinhalten, eine Ordnung bzw. Reihenfolge der Vektoren der jeweiligen Treffer zu spezifizieren, um eine Sequenz bzw. Abfolge von Vektoren zu definieren. Das Produkt ist greifbar auf einem computer-lesbaren Medium gespeichert.
  • Die Erfindung kann implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Die in dieser Spezifikation bzw. Beschreibung beschriebene Datenstruktur erleichtert eine Analyse von mehrfachen Aspekten einer Anwendersitzung. Derselbe Satz von Daten kann für verschiedene Analysen verwendet werden. Beispielsweise kann derselbe Satz von Daten, die in der Datenstruktur angeordnet sind, auf seitenspezifische Muster und feldspezifische Muster analysiert werden. Es besteht kein Erfordernis, um mehrfache Strukturen der gesammelten Daten zu speichern. Die Datenstruktur kann leicht und schnell geändert werden. Beispielsweise kann, wenn die Datenstruktur eine multidimensionale Matrix ist, eine einfache Transformation bzw. Umformung die Datenstruktur in eine Form ändern, die für eine bestimmte Analyse geeignet ist. Wenn in die Datenstruktur angeordnet, können Daten, die von einer ersten Anwendersitzung gesammelt wurden, mit Daten verglichen werden, die von anderen Anwendersitzungen gesammelt wurden. Wenn Anwendersitzungen eine Abfrage bzw. Auffindung bzw. Wiederabrufen von Web-Seiten von einer Web-Site beinhalten, können Daten, die von einer ersten Anwendersitzung gesammelt wurden, mit Daten verglichen werden, die von einer zweiten Anwendersitzung gesammelt wurden, selbst wenn die Struktur der Web-Site zwischen der ersten und zweiten Anwendersitzung abgeändert wurde.
  • Die Details von einer oder mehreren Ausführungsform(en) der Erfindung werden in den beigefügten Zeichnungen und der Beschreibung unten dargelegt. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen verständlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Verfahren zum Analysieren einer Anwendersitzung einer Netzwerkanwendung.
  • 2 zeigt eine Implementierung des Verfahrens von 1.
  • 3 zeigt ein Verfahren zum Updaten bzw. Aktualisieren einer Matrix.
  • 4 zeigt ein Beispiel einer aktualisierten Matrix.
  • 5 zeigt ein Verfahren zum Analysieren der aktualisierten Matrix.
  • 6 zeigt ein Beispiel eines Computersystems, in welchem Anwendersitzungen wie hierin beschrieben, analysiert werden können.
  • Ähnliche Bezugszeichen und Kennzeichnungen in den verschiedenen Zeichnungen kennzeichnen ähnliche Elemente.
  • Detaillierte Beschreibung
  • Wie in 1 gezeigt, empfängt ein System, daß das Verfahren 100 durchführt, Anfragen bzw. Anforderungen und Antworten (Schritt 102). Wenigstens eine der Anfragen oder wenigstens eine der Antworten beinhaltet ein oder mehrere Feld(er). Die Anfragen und Antworten können jene sein, die zwischen einem Client bzw. Klienten und Server ausgetauscht werden, die durch ein Netzwerk verbunden sind, wobei ein Beispiel davon das Internet ist. Der Klient und der Server können HTTP verwenden, um zu kommunizieren. Die Anfragen und Antworten können Inhalt bzw. Content beinhalten, welcher in einer Seitenbeschreibungs-Sprache oder einer Markup- bzw. Auszeichnungssprache ausgedrückt ist, zum Beispiel Hypertext Markup Language bzw. Hypertext-Auszeichnungssprache ("HTML"), erweiterbare Auszeichnungssprache ("XML"), standardisierte allgemeine Auszeichnungssprache ("SGML"), oder in jeder Kombination von diesen. Die Anfragen und Antworten können Inhalt beinhalten, welcher in jeder anderen Sprache ausgedrückt ist, welche Information der Art beinhaltet, die normalerweise in HTML-Tags bzw. HTML-Symbolen enthalten ist.
  • Die Anfragen und Antworten werden während einer Anwendersitzung einer Netzwerkanwendung ausgetauscht. Eine Anwendersitzung kann basierend auf einem HTTP-Sitzungsmodell identifiziert sein. Eine Sitzung kann beginnen und beispielsweise nach bzw. bei einer Ausgabe bzw. Erteilung von jeweils einem Server-Cookie und einem Abschluß einer Browser-Instanz enden. Eine Anwendersitzung kann auch durch die Netzwerkanwendung selbst identifiziert sein. Beispielsweise kann eine Netzwerkanwendung eine Login- bzw. Anmelde- und Logout- bzw. Abmeldefunktion beinhalten, welche jeweils eine Anwendersitzung startet bzw. beginnt und abschließt. Im allgemeinen ist eine Anwendersitzung ein "abgegrenzter bzw. begrenzter Satz von Anwenderklicks über einen oder mehrere Web-Server" (Definition des World Wide Web Consortium (W3C) im Web Charakterization Terminology & Definitions Sheet, W3C Working Draft 24-Mai-1999).
  • Das System kann die Anfragen und Antworten vom Klienten oder Server oder beiden während der Anwendersitzung empfangen, oder es kann aufgezeichnete Anfragen und Antworten später aus einem Log bzw. Protokoll oder anderen Speicher empfangen.
  • Das System extrahiert bzw. entnimmt Information von den Anfragen und Antworten (Schritt 104). Das System zergliedert bzw. analysiert die Anfragen und Antworten, um Feld- und Seiteninformation zu extrahieren. Feldinformation beinhaltet Attribute bzw. Merkmale des Felds, wie beispielsweise einen Feldnamen und einen entsprechenden Wert. Andere extrahierte bzw. entnommene Information kann die Zeit beinhalten, zu welcher die Anfrage oder Antwort gesendet war. Ein Empfangen und Extrahieren von Feldinformation sind weiters beschrieben im gemeinsam im Besitz befindlichen US-Patent Nr. 6,286,030, welches hiermit durch Bezugnahme in seiner Gesamtheit aufgenommen ist.
  • Das System verarbeitet die extrahierte Information und ordnet die verarbeitete Information in einer Datenstruktur (Schritt 106) an. Ein Be- bzw. Verarbeiten kann beispielsweise ein Gruppieren, Vergleichen, und Aktualisieren der Information beinhalten. Insbesondere extrahiert und organisiert das System Feldinformation von den Anfragen und Antworten. Aus diesem Grund wird die Datenstruktur, in welcher die extrahierte Information gespeichert ist, allgemein bzw. generisch als eine Feldvektortabelle bezeichnet, obwohl in einer bestimmten Implementierung die Feldinformation nicht in einer Vektor- (eindimensionalen Array- bzw. Feld-)-Form organisiert sein muß und die Datenstruktur als Ganzes nicht in einer mehrdimensionalen Array- bzw. Feldform angeordnet sein muß; andere Datenstrukturen können verwendet werden. Jedoch weist, wie zu sehen sein wird, die Verwendung von Arrays bzw. Feldern zum Organisieren der Daten erkennbare Nachteile auf.
  • Feldinformation kann durch Treffer gruppiert sein. Ein Treffer kann definiert sein, um eine oder mehrere Antworten) und eine Anfrage zu beinhalten. Die eine oder die mehreren Antworten) spezifizierten) eine Web-Seite und die Anfrage wird durch einen Klienten in Antwort auf einen Benutzer bzw. Anwender gesandt, welcher mit der Web-Seite wechselwirkt. Eine Web-Seite kann durch eine einzelne Antwort oder Mehrfachantworten spezifiziert sein. Im letzteren Fall kann jede Antwort einen unterschiedlichen Abschnitt spezifizieren und unterschiedliche Felder der Web-Seite beinhalten. Jede Antwort kann auch einen Inhalt bzw. Content aufweisen, welcher in einer unterschiedlichen Auszeichnungs-Sprache ausgedrückt ist. Alternativ kann ein Treffer definiert sein, um eine Anfrage für eine Web-Seite und eine oder mehrere Antworten zu beinhalten, welche die Web-Seite spezifiziert(en).
  • Ein Vergleichen von Information kann beispielsweise ein Vergleichen der Feldwerte beinhalten, die in der einen oder den mehreren Antworten) eines Treffers beinhaltet sind, wobei die Feldwerte in der Anfrage des Treffers enthalten sind. Durch ein Durchführen eines derartigen Vergleichs kann das System beispielsweise die Felder identifizieren, die verwendet, verändert oder verwendet und verändert werden. Optional kann das System andere Information aus der extrahierten Information ableiten.
  • Ein Aktualisieren der Information kann beispielsweise ein Hinzufügen von abgeleiteter Information zu der Feldinformation beinhalten. Ein Verarbeiten kann alternativ andere Vorgänge bzw. Tätigkeiten beinhalten, beinhaltend ein Substituieren von Feldnamen mit Aliasen.
  • Wie oben erwähnt, kann das System die Feldinformation in einer zweidimensionalen Anordnung bzw. einem Datenfeld bzw. Array oder einer Matrix anordnen. Die Matrix kann Gruppen von Feldinformation beinhalten, die als eine Sequenz angeordnet sind. Die Reihen der Matrix können beispielsweise einen Treffer repräsentieren. Jede Reihe kann Feldinformation enthalten, die in der einen oder den mehreren Antworten) und der Anfrage des Treffers extrahiert bzw. entnommen ist. Jede Reihe bzw. Zeile kann darüber hinaus Information beinhalten, welche das System durch Verarbeiten der extrahierten Information abgeleitet hat. Die Treffer können in chronologischer Reihenfolge angeordnet sein. Alternativ kann die Datenstruktur eine Matrix von Anordnungen bzw. Datenfeldern sein, in welcher Matrix jedes Datenfeld bzw. Array die Feldinformation eines Treffers beinhaltet.
  • Das System analysiert die Information (Schritt 108). Eine Analyse kann eine seitenspezifische Analyse, eine feldspezifische Analyse oder irgendeine Kombination aus beiden beinhalten. Eine Analyse kann weiters eine statistische Analyse beinhalten, wie beispielsweise eine Clusterbildung, Assoziation und Filtrierung.
  • Die Datenstruktur kann verändert werden, um jede Type eine Analyse zu erleichtern. Beispielsweise kann, wenn die Datenstruktur eine Matrix ist, jede Datenbankoperation an der Matrix angewendet werden. Datenbankoperationen bzw. -vorgänge können beispielsweise Indexieren, Sortieren, Gruppieren durch, Vereinigen, Clustern, und Reihen bzw. Anordnen beinhalten. Wenn es mehr als eine Anwendersitzung gibt, kann eine Feldvektortabelle von einer Anwendersitzung mit einer Feldvektortabelle einer anderen Anwendersitzung verglichen werden. Feldvektortabellen können darüber hinaus kombiniert werden und die Kombination kann mit anderen Feldvektortabellen oder anderen Kombinationen verglichen werden.
  • Wie in 2 gezeigt wird, empfängt ein System, das ein Verfahren 200 durchführt, HTTP-Anfragen und Antworten einer Anwendersitzung einer Netzwerkanwendung (Schritt 202). Das System kann die Anfragen und Antworten während der Anwendersitzung empfangen, oder alternativ nach der Anwendersitzung. Das System kann jede von einer Vielzahl von bekannten Techniken verwenden, um Anwendersitzungen zu identifizieren und zu unterscheiden. Das System kann beispielsweise ein Sitzungs-Cookie verwenden, um Anfragen und Antworten als Teil einer Anwendersitzung zu identifizieren. Das Sitzungs-Cookie beinhaltet einen Globally Unique Identifier bzw. global bzw. allgemein einheitlichen Identifikator ("GUID"), welcher die Anwendersitzung identifiziert. Das Sitzungs-Cookie erlischt, wenn der verwendete Browser geschlossen wird. Alternativ kann das System einen GUID verwenden, welcher in Uniform Resource Locators ("URLs") bzw. Internetadressen beinhaltet ist, die in Web-Seiten enthalten sind, die an den Anwender gesandt werden. Der GUID ändert sich, wenn die Anwendersitzung endet. In diesem Fall bestimmt die Netzwerkanwendung, wann die Anwendersitzung startet und endet. Darüber hinaus können, wenn dauerhafte HTTP/1.1 Verbindungen verwendet werden, diese auch verwendet werden, um Anwendersitzungen zu identifizieren.
  • Die Anfragen und Antworten werden zwischen einem Klienten bzw. Client und Server ausgetauscht, welche durch ein Netzwerk, wie beispielsweise das Internet verbunden sind. Ein menschlicher Verwender, der den Client bedient, greift auf die Netzwerk-Anwendung durch einen dynamisch erzeugten Bildschirm zu. Basierend auf Information, die durch den menschlichen Anwender zur Verfügung gestellt wird, welche Information in den Anforderungen bzw. Anfragen beinhaltet ist, stellt der Server Information zur Verfügung, um den dynamisch generierten bzw. erzeugten Bildschirm zu aktualisieren. In einer Implementierung wird der dynamisch generierte Bildschirm durch den Client basierend auf Information gerendert, welche in Antworten vom Server enthalten ist. Die Antwort kann Material beinhalten, welches in einer Markup- bzw. Auszeichnungssprache wie beispielsweise HTML, XML, und SGML repräsentiert ist. Alternativ kann die Antwort Information beinhalten, welche in Formaten repräsentiert ist, die mit zugeordneten Online-Umgebungen, wie beispielsweise einer SAP R/3-Umgebung kompatibel sind.
  • Das System extrahiert die Information aus dem HTTP-Dateikopf bzw. -nachrichtenkopf, stellt Information und bekommt Information von den empfangenen Anfragen und Antworten (Schritt 204), oder äquivalente Information, wenn andere Client-Server-Protokolle verwendet werden. Das System zergliedert bzw. unterteilt die Anfragen und Antworten, um die beschriebene Information zu lokalisieren und zu extrahieren.
  • Das System konvertiert die extrahierte Information in Paare von Feldnamen und Feldwerten (Schritt 206). Ein Feld, das beispielsweise einen Anwendernamen repräsentiert, kann einen Feldnamen von "u_Name" und einen Feldwert von "John Smith" aufweisen. Das Paar für dieses Feld würde sein: (u_Name, John Smith).
  • Für jeden Treffer definiert das System einen Vektor der Feldinformation, die in der einen oder den mehreren Antworten) und der Anfrage des Treffers (Schritt 208) beinhaltet war. Dies kann als eine eindimensionale Anordnung von Namenwertelementen implementiert werden, die optional weitere Information tragen, wie dies beschrieben werden wird. Die eine oder die mehreren Antworten) beschreibt(en) eine gesamte Web-Seite und beinhalten alle Felder der Web-Seite. Die Anfrage des Treffers kann eine oder mehrere Felder der Web-Seite beinhalten. Für jedes Feld gruppiert das System in ein Namenwertelement den Feldnamen, den Feldwert, wie er durch die eine oder die mehreren Antworten) angezeigt ist, und den Feldwert, wie er durch die Anfrage indiziert bzw. angezeigt ist. Das System gruppiert die Namenwertelemente des Treffers in einen Vektor. Der Vektor kann einen Seitennamen der Web-Seite beinhalten. Der Vektor kann andere Information beinhalten, wie beispielsweise den GUID für die Anwendersitzung und einen einzigartigen Identifikator für den menschlichen Anwender. Jede dieser weiteren Arten von Information kann als Namenwertpaare gespeichert sein.
  • Optional kann der Seitennamenvektor ein Alias sein. Durch die Verwendung von Aliasen kann das System die Verwendung der Seite während einer Anwendersitzung mit der Verwendung der Seite während einer anderen Anwendersitzung vergleichen, selbst wenn der Seitenname der Web-Seite geändert wurde. Eine Tabelle kann verwendet werden, um die unterschiedlichen Seitennamen zu demselben Alias aufzuzeichnen bzw. abzubilden.
  • Feldnamen in einem Vektor können auch Aliase bzw. Decknamen sein, und eine Tabelle kann verwendet werden, um Aliase zu Feldnamen aufzuzeichnen bzw. festzulegen. Wie bei Seitennamen erlaubt ein Verwenden von Aliasen für die Feld namen dem System, Felder zu vergleichen, selbst wenn die Feldnamen geändert wurden. Im allgemeinen wird es die Aufgabe eines menschlichen Anwenders sein zu bestimmen, wenn die Web-Seiten, die unterschiedlichen Seitennamen aufweisen, dieselbe Web-Seite sind, und wenn Felder, die unterschiedliche Namen aufweisen, dasselbe Feld sind.
  • Das System definiert ein Anordnen der Vektoren, d.h. eine Sequenz (Schritt 210). Die Vektoren können beispielsweise entsprechend dem Zeitpunkt angeordnet sein, wann eine Anfrage gesendet wurde. Alternativ können die Vektoren basierend auf anderen Attributen bzw. Eigenschaften angeordnet sein, die eine Reihenfolge anzeigen, in welcher die Treffer auftraten. Für ein späteres Verarbeiten kann es vorteilhaft sein, die Vektoren physikalisch im Computerspeicher in einer Sequenz bzw. Abfolge anzuordnen.
  • Die Sequenz von Vektoren kann als eine zweidimensionale Anordnung bzw. ein Datenfeld bzw. Array gespeichert sein, in welchem die Reihen oder Spalten jeweils einen Treffer repräsentieren können.
  • Das System aktualisiert die Sequenz von Vektoren (Schritt 212). Ein Aktualisieren kann ein Ableiten von Information und dann ein Hinzufügen der abgeleiteten Information zu den Vektoren beinhalten. Das System kann die abgeleitete Information in zusätzlichen Dimensionen einer Anordnung hinzufügen, in welcher die Vektoren gespeichert sind.
  • 3 zeigt, wie das System die Sequenz von Vektoren in einer Implementierung aktualisiert. Das System identifiziert für jeden Vektor, der einen Treffer repräsentiert, die Felder der Web-Seite, welche in der Anfrage des Treffers (Schritt 302) verwendet werden. Eine Art eines Identifizierens solcher Felder ist zu bestimmen, ob der Feldwert der Anfrage null ist. Wenn er es ist, dann ist das Feld nicht verwendet worden. Ist er es nicht, dann ist das Feld verwendet worden.
  • Beispielsweise in einem Namenwertelement, in welchem der Feldname = u_Name; Feld_Wert_Antwort = null; und Feld_Wert_Anfrage = John Smith, kann das System bestimmen, daß der Feldname u_Name in der Anfrage des Treffers verwendet worden ist. Ein anderer Weg zum Bestimmen, ob ein Feld verwendet wird, ist, eine Löschung des Feldwerts zu überprüfen. Wenn der Feldwert in dem Feld gelöscht wurde, dann wird das Feld nicht verwendet. Wenn der Feldwert nicht gelöscht wurde und entweder derselbe ist oder verändert wurde, dann wird das Feld verwendet. Ein Beispiel einer Löschung ist das folgende Feldwertelement: Feldname = u_Name; Feldwertantwort = John Smith; und Feldwertanfrage = null.
  • Das System kann jeden Wert eines Felds interpretieren, um eine Null zu sein. Das System kann als eine Null, beispielsweise alle Leerräume in einem Wortzeichenkettenfeld und alle Nullen in einem Zahlenzeichenkettenfeld interpretieren. Im allgemeinen kann das System eine Abwesenheit einer Eingabe oder jeden Feldwert als eine Null definieren.
  • Das System identifiziert für jeden Vektor die Felder der Web-Seite, welche durch die Anfrage des Treffers (Schritt 304) verändert wurden. Ein Weg zum Identifizieren derartiger Felder ist, den Wert der Felder einer Antwort mit dem Feldwert einer Anfrage zu vergleichen. Wenn die Feldwerte unterschiedlich sind, dann ist das Feld verändert worden. Andernfalls ist das Feld nicht verändert worden. Angesichts des oben beschriebenen Namenwertelements haben sich die Feldwerte von null auf John Smith geändert. Das Feld ist deshalb eines, das verändert wurde.
  • Das System identifiziert für jeden Vektor Felder der Web-Seite, die verwendet und verändert wurden (Schritt 306). Ein Feld kann verwendet, jedoch nicht verändert werden. Beispielsweise kann ein Feld einen Default- bzw. Vorgabewert aufweisen, sodaß das Feld in der Anfrage verwendet wird. Wenn der Vorgabewert nicht verändert wird, wird das Feld noch verwendet, wurde jedoch nicht verändert. Das System kann die beschriebenen Techniken verwenden, um Felder zu identifizieren, die verwendet und verändert werden.
  • Alternativ kann andere Information durch das System abgeleitet werden, indem die Sequenz von Vektoren verarbeitet wird. Beispielsweise kann das System statistische Information ableiten, die aus Information berechnet wurde, die in der Sequenz von Vektoren beinhaltet ist.
  • Das System fügt die abgeleitete Information zu den Namenwertelementen hinzu (Schritt 308). In einer Implementierung kann das System die abgeleitete Information hinzufügen, indem zusätzliche Dimensionen zu der Datenstruktur hinzugefügt werden. 4 zeigt ein Beispiel der aktualisierten Sequenz von Vektoren.
  • Das System kann nun die aktualisierte Sequenz von Vektoren in seiner Analyse der Anwendersitzung (Schritt 214 von 2) verwenden. Wenn die Daten in einem mehrdimensionalen Datenfeld bzw. Array gespeichert wurden, wie dies beschrieben wurde, kann dies transformiert werden, um die Analyse zu erleichtern. Das System kann Software beinhalten, um eine oder mehrere verschiedene Arten) einer Analyse durchzuführen, beispielsweise Sequenzanalyse, Seitenfeldanalyse und Pfadfeldanalyse, welche unter Verwendung verschiedener statistischer Techniken durchgeführt werden können.
  • 5 zeigt ein Beispielverfahren 500 zum Analysieren einer Anwendersitzung. Wie gezeigt, führt das System eine Clusterbildungs- bzw. Clusteranalyse (Schritt 502), eine Assoziationsanalyse (Schritt 504), und eine Filterungsanalyse (Schritt 506) durch. Optional kann jede dieser Analysen ausgelassen werden und diese Analysen können in jeder Reihenfolge und Kombination durchgeführt werden. Eine Clusterbildungsanalyse ist im allgemeinen eine Klassifizierung ohne geeignete Information und kann grundlegend sein oder eine mediane bzw. mittlere und PAM (partitioning around medoids bzw. Unterteilung um Medoide) Clusterbildung beinhalten.
  • 6 zeigt ein Beispiel eines Computersystems, in welchem eine Anwendersitzung analysiert werden kann, wie dies hierin beschrieben ist. Das System beinhaltet einen Klienten bzw. Client 620 und einen Server 640. Ein menschlicher Anwender 610 greift auf eine Netzwerkanwendung, welche sich auf dem Server 640 befindet, in einer Anwendersitzung 630 zu, die einen ersten Treffer 635 und einen zweiten Treffer 636 beinhaltet. Jeder Treffer bzw. Hit beinhaltet eine Anfrage und eine oder mehrere Antwort(en), die eine Web-Seite beschreibt(en). Beispielsweise beinhaltet der erste Treffer 635 eine Anfrage 632 und eine Antwort 634. Die Antworten und die Anfrage werden über die Netzwerkverbindung 625 ausgetauscht. Ein Auditor-Erfassungsfilter 650 erfaßt die Anwendersitzung 630 und speichert die Sitzung in einem Auditorspeicher 660. Der Auditorspeicher 660 kann Daten von anderen Anwendersitzungen, wie beispielsweise einer Anwendersitzung 680, beinhalten. Eine Berechnungsvorrichtung 670 beinhaltet Computerprogramme zum Extrahieren und Anordnen von Daten, wie hierin beschrieben. Wie besprochen bzw. diskutiert, kann die Berechnungsvorrichtung diese Operationen während der Anwendersitzung oder nach der Anwendersitzung durchführen. Im ersteren Fall kann die Berechnungsvorrichtung Daten von dem Auditor-Erfassungsfilter 650 empfangen. Im letzteren Fall kann die Berechnungsvorrichtung Daten von dem Auditorspeicher 560 empfangen. Optional kann die Berechnungsvorrichtung Computerprogramme zum Analysieren der Erfassungsdaten, wie hierin beschrieben, beinhalten.
  • In einer Implementierung wird das oben beschriebene System verwendet, um Anwendersitzungen einer Netzwerkanwendung zum Verkauf von Produkten, wie beispielsweise konfigurierbaren Produkten, wie Computer und Automobile zu analysieren. Die Netzwerkanwendung stellt eine Web-Seite zur Verfügung, die das konfigurierbare Produkt beschreibt. Menschliche Bediener können durch ein Zugreifen auf die Web-Seite mit der Netzwerkapplikation bzw. -anwendung interagieren, um beispielsweise das Produkt zu konfigurieren, Preisinformation zu erhalten, einen Gegenstand des konfigurierbaren Produkts erwerben, und Kaufaufträge verfolgen.
  • Die Web-Seiten der Web-Site können beispielsweise Felder zum Anzeigen von Information über den menschlichen Anwender beinhalten. Name, Adresse und Kreditinformation sind Beispiele von derartiger Information. Die Feldwerte für diese Felder sind im allgemeinen alpha-numerische Zeichenfolgen. Einige der Felder können als Pulldown-Menü bzw. Klappfenster implementiert sein. Beispielsweise das Feld, das einen Zustand des Aufenthaltsorts anzeigt, kann als ein Pulldown-Menü implementiert sein, welches alle fünfzig Staaten auflistet.
  • Die Web-Seiten können auch Felder zum Beschreiben des konfigurierbaren Produkts beinhalten. In dem Fall, wo das konfigurierbare Produkt ein Desktop-Computer ist, können die Felder beispielsweise anzeigen den Prozessortyp, nicht-dauerhaften Speichertyp und Größe, Videokartentyp, Festplattentyp und Größe, Monitortyp und Größe, Tastaturtyp, wie auch andere Hardware- und Softwareoptionen. Die Feldwerte für diese Felder können beispielsweise als alphanumerische Strings bzw. Zeichenfolgen, Pulldown-Menüs, Ankreuzfelder, oder jede Kombination davon implementiert sein.
  • Ein Implementieren der oben beschriebenen Verfahren und das System kann eine nützliche Rückkopplung über die Anwendersitzungen der beispielhaften Netzwerkanwendung zur Verfügung stellen. Eine Analyse kann beispielsweise Infor mation zur Verfügung stellen, welche Konfiguration des konfigurierbaren Produkts am häufigsten verkauft wird, den Prozentsatz von Anwendersitzungen, die in einem Kauf bzw. Erwerb resultieren, usw. Eine Analyse kann weiters beispielsweise Information über die Verwendung der Web-Site zur Verfügung stellen. Diese Information kann beinhalten, welche Felder oder Web-Seiten am häufigsten verwendet werden, welche Felder oder Web-Seiten am wenigsten verwendet werden, und welche Felder für eine vorgegebene Web-Seite am häufigsten verwendet werden.
  • Die Erfindung kann in einer digitalen, elektronischen Schaltanordnung implementiert sein, oder in Computer-Hardware, Firmware bzw. Software in Festwertspeichern, Software oder in Kombinationen davon. Eine Vorrichtung der Erfindung kann in einem Computerprogramm implementiert sein, das greifbar in einer maschinenlesbaren Speichervorrichtung zur Ausführung durch einen programmierbaren Prozessor verkörpert wird, oder in einem verbreiteten Signal, oder verkörpert in jeglicher Kombination der maschinenlesbaren Speichervorrichtung und dem verbreiteten Signal. Verfahrensschritte der Erfindung können durch einen programmierbaren Prozessor durchgeführt werden, der ein Programm von Instruktionen bzw. Befehlen ausführt, um Funktionen der Erfindung durch ein Arbeiten an Eingabedaten und ein Erzeugen einer Ausgabe durchzuführen. Die Erfindung kann in vorteilhafterweise in einem oder mehreren Computerprogrammen) implementiert sein, welches) auf einem programmierbaren System ausführbar ist bzw. sind, das wenigstens einen programmierbaren Prozessor enthält, der gekoppelt ist, um Daten und Instruktionen bzw. Befehle von einem Datenspeichersystem wenigstens einer Eingabevorrichtung und wenigstens einer Ausgabevorrichtung zu empfangen und Daten und Instruktionen zu diesen zu senden. Jedes Computerprogramm kann in einer prozeduralen bzw. verfahrensorientierten oder objektorientierten Programmiersprache auf hohem Niveau implementiert sein, oder in einer Assemblier- oder Maschinensprache, wenn gewünscht; und in jedem Fall kann die Sprache eine kompilierte oder interpretierte Sprache sein. Geeignete Prozessoren bzw. Rechner beinhalten als Beispiel Mikroprozessoren sowohl für allgemeine als auch spezielle Zwecke. Im allgemeinen wird ein Prozessor Instruktionen und Daten von einem Nur-Lesespeicher und/oder einem Direktzugriffs- bzw. Schreib/Lesespeicher empfangen. Im allgemeinen wird ein Computer eine oder mehrere Massenspeichervorrichtung(en) zum Speichern von Datendateien bzw. -files beinhalten; derartige Vorrichtungen beinhalten Magnetplatten, wie beispielsweise interne Festplatten und Wechselplatten bzw. -laufwerke; magneto-optische Platten bzw. Laufwerke; und optische Scheiben. Speichervorrichtungen, welche für ein greifbares Verkörpern von Computerprogramminstruktion und -daten geeignet sind, beinhalten alle Formen von nicht-flüchtigem Speicher, beinhaltend beispielsweise Halbleiter-Speichervorrichtungen, wie beispielsweise EPROM, EEPROM und Flash-Speichervorrichtungen; magnetische Scheiben bzw. Magnetplatten, wie Interfestplatten und entfernbare bzw. Wechselplatten, magneto-optische Platten bzw. Scheiben, und CD-ROM Scheiben. Jede der vorhergehenden kann unterstützt werden durch oder eingebaut sein in ASICs (anwendungsspezifische integrierte Schaltungen bzw. Schaltkreise).
  • Die Erfindung wurde im Hinblick auf bestimmte Ausführungsformen beschrieben. Andere Ausführungsformen befinden sich innerhalb des Gültigkeitsbereichs bzw. Rahmens der folgenden Ansprüche. Beispielsweise können die Schritte der Erfindung in einer abweichenden Reihenfolge durchgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Ein Treffer kann definiert sein, um eine Anfrage nach einer Web-Seite und darüber hinaus eine oder mehrere Antworten) beinhalten, die die angefragte Web-Seite beschrieb(en). Die beschriebenen Methoden bzw. Verfahren und das System können an jeder Netzwerkanwendung angewendet werden, und ist bzw. sind nicht auf die als Beispiel gezeigten begrenzt. Was beansprucht wird, ist:
  • Zusammenfassung
  • Verfahren und Vorrichtungen, beinhaltend Computerprogrammprodukte, zum Bereitstellen einer Datenstruktur zum Analysieren von Anwendersitzungen. Ein computer-implementiertes Verfahren zum Bearbeiten von Information, welche zwischen einem Klienten und einem Server ausgetauscht wird, beinhaltet ein Empfangen von eine Information charakterisierenden Anfragen und Antworten, welche zwischen einem Klienten und einem Server ausgetauscht werden. Das Verfahren beinhaltet ein Extrahieren von Feldnamen und Feldwerten aus der Information. Das Verfahren beinhaltet für jeden Treffer ein Erzeugen eines Namenwertelements für jedes Feld der Anzeigeseite des Treffers. Jedes Namenwertelement beinhaltet einen Feldnamen des entsprechenden Felds und alle Feldwerte des Felds, welches in der Anfrage und der einen oder den mehreren Antworten) des Treffers gefunden wurde. Das Verfahren beinhaltet für jeden Treffer ein Erzeugen eines Vektors der Namenwertelemente, welche für den Treffer erzeugt werden. Das Verfahren beinhaltet, wenn die Anfragen und Antworten mehrfache Treffer beinhalten, ein Spezifizieren einer Reihenfolge der Vektoren der entsprechenden Treffer, um eine Sequenz von Vektoren zu definieren.

Claims (22)

  1. Computer-implementiertes Verfahren zum Verarbeiten von Information, die zwischen einem Klienten und einem Server ausgetauscht wird, wobei das Verfahren umfaßt: ein Empfangen von eine Information charakterisierenden Anfragen bzw. Anforderungen und Antworten, die zwischen einem Klienten und einem Server ausgetauscht werden, wobei die Anfragen und Antworten wenigstens einen Treffer beinhalten, wobei jeder Treffer eine oder mehrere Antworten beinhaltet, welche kollektiv bzw. gemeinsam eine Anzeigeseite spezifiziert(en), die einem Benutzer präsentiert wird, wobei die Antworten alle Felder der Anzeigeseite beinhaltet, und wobei jeder Treffer weiters eine Anfrage beinhaltet, die zu dem Server gesandt wird, welche den Antworten des Treffers entspricht, wobei die Anfrage gegebenenfalls Felder beinhaltet, wobei die Felder der Anfrage alle Felder der Anzeigeseite sind; ein Extrahieren von Feldnamen und Feldwerten aus der Information, die die Anfragen und Antworten charakterisiert; für jeden Treffer ein Erzeugen eines Namenwertelements für jedes Feld der Anzeigeseite des Treffers, wobei jedes Namenwertelement einen Feldnamen des entsprechenden Felds und alle Feldwerte des Felds, die in der Anfrage gefunden wurden, und die eine oder die mehreren Antworten) des Treffers beinhaltet, und ein Erzeugen für jeden Treffer eines Vektors der Namenwertelemente, die für den Treffer ausgebildet werden; und wenn die Anfragen und Antworten mehrere Treffer beinhalten, ein Spezifizieren einer Reihenfolge der Vektoren der entsprechenden Treffer, um eine Sequenz von Vektoren zu definieren.
  2. Verfahren nach Anspruch 1, wobei: die Anzeigeseite eine Web-Seite ist.
  3. Verfahren nach Anspruch 1, weiters umfassend: für jeden Vektor ein Identifizieren, welche Felder verwendet, verändert oder verwendet und verändert wurden.
  4. Verfahren nach Anspruch 3, weiters umfassend: ein Hinzufügen von Information zu jeden Vektor, um anzuzeigen, ob ein Feld verwendet, verändert oder verwendet und verändert wurde.
  5. Verfahren nach Anspruch 1, wobei: ein Empfangen von eine Information charakterisierenden Anfragen und Antworten ein Empfangen von eine Information charakterisierenden Anfragen und Antworten beinhaltet, die während einer ersten Benutzersitzung gesandt wurden.
  6. Verfahren nach Anspruch 5, weiters umfassend: ein Vergleichen der ersten Sequenz von Vektoren mit einer zweiten Sequenz von Vektoren, welche Information von einer zweiten Benutzersitzung enthalten.
  7. Verfahren nach Anspruch 6, weiters umfassend: ein Zuweisen eines Alias zu einem Feld, das unterschiedliche Feldnamen zu unterschiedlichen Zeiten besitzt.
  8. Verfahren nach Anspruch 1, wobei die erste Sequenz von Vektoren als ein zweidimensionales Feld bzw. Array gespeichert wird, wobei das Verfahren weiters umfaßt: ein Ausführen einer Datenbankoperation bzw. einer Datenbanktätigkeit an dem Feld.
  9. Verfahren nach Anspruch 8, weiters umfassend: ein Analysieren von Informationen in dem Feld.
  10. Verfahren nach Anspruch 1, weiters umfassend: ein Extrahieren eines Seitennamens einer Anzeigeseite von der Information, die die Anfragen und Antworten charakterisiert; und ein Aufnehmen des Seitennamens in einem Vektor, welcher Feldinformation aus der Anzeigeseite umfaßt. Ein Computerprogramm-Produkt, das fühlbar auf einem computerlesbaren Medium gespeichert ist, zum Verarbeiten von Information, wobei das Produkt Instruktionen umfaßt, die abarbeitbar sind, um einen programmierbaren Prozessor zu veranlassen zum: Empfangen von eine Information charakterisierenden Anfragen bzw. Anforderungen und Antworten, die zwischen einem Klienten und einem Server ausgetauscht sind, wobei die Anfragen und Antworten wenigstens einen Treffer enthalten, wobei jeder Treffer eine oder mehrere Antworten enthält, welche gemeinsam eine Anzeigeseite spezifizieren, die einem Benutzer präsentiert ist, wobei die Antworten alle Felder der Anzeigeseite umfassen und wobei jeder Treffer weiters eine Anfrage enthält, die zu dem Server gesandt ist, welche den Antworten des Treffers entspricht, wobei die Anfrage fakultativ Felder enthält, wobei die Felder der Anfrage alle Felder der Anzeigeseite sind; Extrahieren von Feldnamen und Feldwerten aus der Information, die die Anfragen und Antworten charakterisiert; für jeden Treffer Erzeugen eines Namenwertelements für jedes Feld der Anzeigeseite des Treffers, wobei jedes Namenwertelement einen Feldnamen des entsprechenden Felds und alle Feldwerte des Felds, die in der Anfrage gefunden sind, und die eine oder die mehreren Antworten) des Treffers enthält, und Erzeugen für jeden Treffer eines Vektors der Namenwertelemente, die für den Treffer gebildet sind; und wenn die Anfragen und Antworten mehrere Treffer beinhalten, Spezifizieren einer Reihenfolge der Vektoren der entsprechenden Treffer, um eine Sequenz von Vektoren zu definieren.
  11. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: zu bestimmen, ob ein Feld verändert wurde.
  12. Produkt nach Anspruch 11, weiters umfassend Instruktionen, um: Feldwerte eines Namenwertelements zu vergleichen, um zu bestimmen, ob ein Feld verändert wurde.
  13. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: zu bestimmen, ob ein Feld verwendet wurde.
  14. Produkt nach Anspruch 13, weiters umfassend Instruktionen, um: Feldwerte eines Namenswertelements zu vergleichen, um zu bestimmen, ob ein Feld verwendet wurde.
  15. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: die Vektoren als ein mehrdimensionales Feld bzw. Array zu speichern.
  16. Produkt nach Anspruch 15, weiters umfassend Instruktionen, um: eine Datenbankoperation bzw. Datenbanktätigkeit an dem mehrdimensionalen Feld auszuführen.
  17. Produkt nach Anspruch 15, weiters umfassend Instruktionen, um: Information in dem mehrdimensionalen Feld zu analysieren.
  18. Produkt nach Anspruch 17, wobei: ein Analysieren ein Vergleichen der Information in dem mehrdimensionalen Feld mit Information in einem zweiten mehrdimensionalen Feld enthält, welches aus einer zweiten Benutzersitzung ausgebildet wurde.
  19. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: ein Alias zu einem Feld zuzuweisen, das unterschiedliche Feldnamen zu unterschiedlichen Zeiten aufweist.
  20. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: Anfragen und Antworten während der Benutzersitzung aufzunehmen.
  21. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: Anfragen und Antworten von einem Speicher wiederaufzufinden bzw. abzurufen.
  22. Produkt nach Anspruch 10, weiters umfassend Instruktionen, um: einen Seitennamen einer Anzeigeseite aus der Information zu extrahieren, die die Anfragen und Antworten charakterisiert; und den Seitennamen in einem Vektor aufzunehmen, welcher Feldinformationen von der Anzeigeseite enthält.
DE10393809T 2002-12-02 2003-12-01 Computer-implementiertes Verfahren zum Verarbeiten von Information, die zwischen einem Client und einem Server ausgetauscht wird Expired - Lifetime DE10393809B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/307,906 2002-12-02
US10/307,906 US7949765B2 (en) 2002-12-02 2002-12-02 Data structure for analyzing user sessions
PCT/IB2003/006401 WO2004051513A2 (en) 2002-12-02 2003-12-01 Method and computer program product for analyzing user sessions

Publications (2)

Publication Number Publication Date
DE10393809T5 true DE10393809T5 (de) 2005-10-13
DE10393809B4 DE10393809B4 (de) 2012-08-02

Family

ID=32392667

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10393809T Expired - Lifetime DE10393809B4 (de) 2002-12-02 2003-12-01 Computer-implementiertes Verfahren zum Verarbeiten von Information, die zwischen einem Client und einem Server ausgetauscht wird

Country Status (4)

Country Link
US (1) US7949765B2 (de)
AU (1) AU2003295186A1 (de)
DE (1) DE10393809B4 (de)
WO (1) WO2004051513A2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177630A1 (en) * 2003-12-19 2005-08-11 Jolfaei Masoud A. Service analysis
DE102004032699A1 (de) * 2004-07-06 2006-02-16 Siemens Ag Verfahren zum Fernabfragen von in einer Telekommunikationseinrichtung gespeicherten Informationen und Telekommunikationseinrichtung mit Fernabfragefunktionalität von gespeicherten Informationen
EP2070033A4 (de) * 2006-09-05 2011-09-21 Thomas Publishing Company Vermarktungsverfahren und -system mithilfe von domänenkenntnissen
CA2687530C (en) * 2007-05-17 2013-04-23 Fat Free Mobile Inc. Method and system for transcoding web pages by limiting selection through direction
US7882120B2 (en) * 2008-01-14 2011-02-01 Microsoft Corporation Data description language for record based systems
US10032134B2 (en) 2014-10-02 2018-07-24 Sap Se Automated decision making
CN111767201B (zh) * 2020-06-29 2023-08-29 百度在线网络技术(北京)有限公司 用户行为分析方法、终端设备、服务器及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112238A (en) * 1997-02-14 2000-08-29 Webtrends Corporation System and method for analyzing remote traffic data in a distributed computing environment
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
JPH10326289A (ja) 1997-03-28 1998-12-08 Nippon Telegr & Teleph Corp <Ntt> 情報提供方法、システムおよびそのプログラムを格納した記憶媒体
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6182066B1 (en) 1997-11-26 2001-01-30 International Business Machines Corp. Category processing of query topics and electronic document content topics
US6286030B1 (en) 1998-07-10 2001-09-04 Sap Aktiengesellschaft Systems and methods for recording and visually recreating sessions in a client-server environment
US6295559B1 (en) 1999-08-26 2001-09-25 International Business Machines Corporation Rating hypermedia for objectionable content
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US8667103B2 (en) * 2002-04-26 2014-03-04 Hewlett-Packard Development Company, L.P. System and method for message traffic analysis, categorization, and reporting, within a system for harvesting community knowledge

Also Published As

Publication number Publication date
WO2004051513A3 (en) 2004-08-19
WO2004051513A2 (en) 2004-06-17
DE10393809B4 (de) 2012-08-02
US7949765B2 (en) 2011-05-24
AU2003295186A8 (en) 2004-06-23
AU2003295186A1 (en) 2004-06-23
US20040107243A1 (en) 2004-06-03

Similar Documents

Publication Publication Date Title
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE69531599T2 (de) Verfahren und Gerät zum Auffinden und Beschaffen personalisierter Informationen
DE10231161A1 (de) Domain-spezifisches wissensbasiertes Metasuchsystem und Verfahren zum Verwenden desselben
DE10129209A1 (de) Produktkonstruktionssystem und -verfahren
DE19715696A1 (de) Verfahren und Apparat zum Suchen nach und zum Wiederfinden von Dokumenten, indem ein Faxgerät verwendet wird
DE10120870A1 (de) Navigieren in einem Index für den Zugriff auf eine mehrdimensionale Subjektdatenbank
DE102005051429A1 (de) Verfahren und Software zur Analyse von Forschungsveröffentlichungen
DE102007037646B4 (de) Computerspeichersystem und Verfahren zum Indizieren, Durchsuchen und zur Datenwiedergewinnung von Datenbanken
DE10003907A1 (de) Browser für die Anwendung beim Zugriff auf Hypertext-Dokumente in einer Mehrnutzer-Computerumgebung
DE10051021A1 (de) System, Verfahren und Computerprogramm zur Veröffentlichung interaktiver Web-Inhalte in einer statisch verknüpften Web-Hierarchie
DE112019005881T5 (de) Kryptografische überprüfung von datenbanktransaktionen
DE60219821T2 (de) Verfahren und gerät zum wiedergewinnen von zeitreihedaten, die mit einer aktivität in beziehung stehen
DE10215495A1 (de) Computersystem und Verfahren für die Recherche, statistische Auswertung und Analyse von Dokumenten
DE202008018638U1 (de) Generisches Format für die effiziente Übertragung von Daten
EP1620810B1 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
DE10393809B4 (de) Computer-implementiertes Verfahren zum Verarbeiten von Information, die zwischen einem Client und einem Server ausgetauscht wird
DE60037681T2 (de) Verfahren zum automatischen und gesicherten suchen von daten mit hilfe eines datenübertragungsnetzwerks
DE102016226338A1 (de) Bitsequenzbasiertes Datenklassifikationssystem
DE112019005879T5 (de) Indizes für nicht materialisierte ansichten
DE112020002892T5 (de) Aktives lernen für den datenabgleich
DE602005002846T2 (de) Verfahren zur Datenverarbeitung und assoziiertes Softwareprogramm
EP2601594A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
DE102018117273A1 (de) Datenverarbeitung unter Verwendung einer Aufzählungsfunktion
EP1094405A2 (de) Verfahren zum Erzeugen einer dynamischen Auswahlmaske für den Abruf von Daten aus einer Datenbank
EP1509856A2 (de) Verfahren zur datensuche unter berücksichtigung ihres verfügbarkeitszeitraums in einem verteilten system

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20121103

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R081 Change of applicant/patentee

Owner name: SAP SE, DE

Free format text: FORMER OWNER: SAP AG, 69190 WALLDORF, DE

Effective date: 20141210

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

Effective date: 20141210

R071 Expiry of right