Title:
Data transmission network source`s content visual representation method for display of personal computer, involves representing content on windows of representation medium of browser based on window-control information
Kind Code:
A1


Abstract:
The method involves sampling contents of a network source and connecting the source over a data transmission network by a representation medium (7). Windows of the medium are administered by an instance of a browser (5) that is controlled by a code including a layout-description language e.g. HTML. A link added to the window-control information is set to the contents, which are represented in the windows based on the information. Independent claims are also included for the following: (1) a computer program-product including a program code saved in a machine-readable carrier for execution of a method for visually representing network source contents; (2) an arrangement for visually representing the network source contents.



Inventors:
Scholbach, Jakob (Leipzig, 04105, DE)
Soppa, Tobias (Leipzig, 04207, DE)
Application Number:
DE10332492A
Publication Date:
02/17/2005
Filing Date:
07/16/2003
Assignee:
Ceiton Technologies GmbH (Leipzig, 04109, DE)
International Classes:



Foreign References:
63361312002-01-01
62928132001-09-18
Attorney, Agent or Firm:
Patentanwälte Effert, Bressel und Kollegen (Berlin)
Claims:
1. Verfahren zum visuellen Darstellen von Inhalten (C) auf einem Darstellungsmittel (7), insbesondere auf einem Bildschirm eines Personalcomputers oder Computernetz-Arbeitsplatzes, wobei
– die Inhalte (C) zumindest einer Quelle (3) entnommen werden,
– die Quelle (3) über ein Datenübertragungsnetz (1) mit dem Darstellungsmittel (7) verbindbar oder verbunden ist,
– die Inhalte (C) in einer Mehrzahl von Fenstern (31) auf dem Darstellungsmittel (7) dargestellt werden,
– die Fenster (31) von einer einzigen Instanz eines Browsers (5) verwaltet werden,
– die Fenster (31) während eines Betriebes des Browsers (5) erzeugt und mit einem von der Quelle (3) übertragenen Inhalt (C) versehen werden können,
– der Browser (5) durch Code mit einer Layout-Beschreibungssprache, insbesondere HTML und/oder XML, gesteuert wird,
– ein Link zu einem Inhalt (C) oder zu einem bestimmten Teilinhalt der Quelle (3) automatisch um Fenster-Steuerungsinformation ergänzt wird oder durch einen um Fenster-Steuerungsinformation ergänzten Link ersetzt wird,
– wobei die Fenster-Steuerungsinformation Information enthält, um den Inhalt (C) oder Teilinhalt der Quelle (3) in einem neuen oder bestehenden Fenster (31) der Browserinstanz auf dem Darstellungsmittel (7) darstellen zu können.

2. Verfahren nach Anspruch 1, wobei, wenn ein Link zu einem Inhalt (C) der Quelle (3) oder einem Teilinhalt der Quelle (3) zur Laufzeit des Browsers (5) betätigt wird, um den Inhalt (C) oder Teilinhalt der Quelle (3) zu laden und auf dem Darstellungsmittel (7) darzustellen (Ausführung des Links), eine Ausführung des Links durch den Browser (5) abgebrochen oder zunächst blockiert wird und wobei die Fenster-Steuerungsinformation zu dem Browser (5) übertragen wird und der ergänzte oder ersetzte Link ausgeführt wird.

3. Verfahren nach Anspruch 1 oder 2, wobei zu Beginn oder während der Darstellung der Inhalte (C) ein Codeblock von dem Browser (5) geladen wird, wobei der Codeblock zur Laufzeit des Browsers (5) ausführbare Befehle enthält und wobei die Befehle die Erzeugung von Fenstern (31), deren Verwaltung und das Versehen der Fenster (31) mit den Inhalten (C) steuern.

4. Verfahren nach Anspruch 3, wobei der Codeblock Codeelemente einer Sprache aufweist, die geeignet ist, Funktionen des Browsers (5) zur Laufzeit zu steuern, insbesondere Codeelemente einer Skriptsprache wie JavaScript aufweist.

5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Fenster-Steuerungsinformation zumindest teilweise erst nach der Betätigung des Links erzeugt wird.

6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Browser (5) einen Inhalt (C) lädt, der zumindest einen später eventuell auszuführenden Link aufweist, und wobei der Link nach dem Laden des Inhalts (C) durch den Browser (5) und vor dem Darstellen des Inhalts auf dem Darstellungsmittel (7) ergänzt oder ersetzt wird.

7. Verfahren nach Anspruch 6, wobei die Fenster-Steuerungsinformation als Bestandteil einer Gruppe von Codeelementen erzeugt wird, die Ausführungsinformation für eine Ausführung des später eventuell auszuführenden Links aufweist.

8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Größe der Fenster (31) während der Darstellung veränderbar ist oder verändert wird.

9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die Position der Fenster (31) auf dem Darstellungsmittel (7) während der Darstellung veränderbar ist oder verändert wird.

10. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Fenster (31) einander auf dem Darstellungsmittel (7) überlappen können oder einander überlappen.

11. Verfahren nach einem der Ansprüche 1 bis 10, wobei eines der Fenster (31) gegenüber zumindest einem anderen der Fenster (31) während der Darstellung in den Vordergrund oder in den Hintergrund gebracht werden kann oder gebracht wird.

12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die Fenster-Steuerungsinformation Information über ein Fenster-Layout und/oder über Fenster-Attribute wie Fenstergröße enthält.

13. Verfahren nach einem der Ansprüche 1 bis 12, wobei ein Inhalt (C) oder ein Teilinhalt der Quelle (3), der auf dem Darstellungsmittel (7) dargestellt werden soll, zumindest einen zu ergänzenden oder zu ersetzenden Link aufweist und wobei im Vordergrund eines Bereiches auf dem Darstellungsmittel (7), in dem der Inhalt (C) oder der Teilinhalt dargestellt werden soll, vorübergehend ein anderes Element dargestellt wird.

14. Computerprogramm, dadurch gekennzeichnet, dass es bei Ablauf auf einem Computer oder Computernetz das Verfahren nach einem der vorhergehenden Ansprüche ausführt.

15. Computerprogramm mit Programmcode-Mitteln, um ein Verfahren gemäß einem der Ansprüche 1 bis 13 durchzuführen, wenn das Programm auf einem Computer oder Computer-Netz ausgeführt wird.

16. Computerprogramm mit Programmcode-Mitteln gemäß dem vorhergehenden Anspruch, die auf einem computerlesbaren Datenträger gespeichert sind.

17. Datenträger, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computernetzes das Verfahren nach einem der Ansprüche 1 bis 13 ausführt.

18. Computerprogramm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten und/oder speicherbaren Programmcode-Mitteln, um das Verfahren nach einem der Ansprüche 1 bis 13 durchzuführen, wenn das Programm auf einem Computer oder Computernetz ausgeführt wird.

19. Anordnung zum visuellen Darstellen von Inhalten (C) auf einem Darstellungsmittel (7), insbesondere auf einem Bildschirm eines Personalcomputers und/oder Computernetz-Arbeitsplatzes, wobei die Anordnung folgendes aufweist:
– eine Steuerungseinrichtung (9 ) zum Steuern der visuellen Darstellung,
– eine Netzschnittstelle (4) zum Anschließen der Anordnung an ein Datenübertragungsnetz (1),
– einen Browser (5) zum Laden von Inhalten (C) von zumindest einer Quelle (3) über das Datenübertragungsnetz (1),
– eine Darstellungsschnittstelle (6), um Darstellungsdaten zur Darstellung der Inhalte (C) zu dem Darstellungsmittel (7) zu übertragen,
wobei der Browser (5) durch Code mit einer Layout-Beschreibungssprache, insbesondere HTML und/oder XML, steuerbar ist und wobei die Steuerungseinrichtung (9) ausgestaltet ist,
a) die Inhalte (C) in einer Mehrzahl von Fenstern (31) auf dem Darstellungsmittel (7) darzustellen und dabei eine einzige Instanz des Browsers (5) zu steuern, wobei die einzige Instanz die Mehrzahl der Fenster (31) verwaltet,
b) die Fenster (31) bei entsprechender Anforderung oder Programmierung während eines Betriebes des Browsers (5) zu erzeugen und mit einem neu von der Quelle (3) übertragenen Inhalt (C) zu versehen,
c) einen Link zu einem Inhalt (C) oder zu einem bestimmten Teilinhalt der Quelle (3) automatisch um Fenster-Steuerungsinformation zu ergänzen oder durch einen um Fenster-Steuerungsinformation ergänzten Link zu ersetzen, wobei die Fenster-Steuerungsinformation Information enthält, um den Inhalt (C) oder Teilinhalt der Quelle (3) in einem neuen oder bestehenden Fenster (31) der Browserinstanz auf dem Darstellungsmittel (7) darstellen zu können, und
d) die Fenster-Steuerungsinformation zu dem Browser (5) zu übertragen.

Description:

Die Erfindung betrifft ein Verfahren und eine Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel, insbesondere auf einem Bildschirm eines Personalcomputers oder Computernetz-Arbeitsplatzes. Dabei werden die Inhalte zumindest einer Quelle entnommen und in einer Mehrzahl von Fenstern auf dem Darstellungsmittel dargestellt, wobei die Fenster von einer einzigen Instanz eines Browsers verwaltet werden. Die Quelle ist über ein Datenübertragungsnetz (insbesondere das Internet bzw. das World Wide Web) mit dem Darstellungsmittel verbindbar oder verbunden. Die Fenster können während eines Betriebes des Browsers erzeugt und mit einem von der Quelle übertragenen Inhalt versehen werden. Der Browser wird durch Code mit einer Layout-Beschreibungssprache, insbesondere HTML und/oder XML, gesteuert.

Unter dem Begriff HTML werden alle bekannten Versionen und zukünftigen Versionen verstanden, einschließlich Dialekte und Abwandlungen.

Unter dem Begriff Fenster wird insbesondere ein hinsichtlich seiner Position auf dem Darstellungsmittel bewegliches Fenster, hinsichtlich seiner Größe veränderliches Fenster und/oder ein solches Fenster verstanden, das andere dargestellte Inhalte und/oder Fenster überlappen kann bzw. von diesen überlappt werden kann, (dynamisches Fenster) und noch spezieller ein Fenster, bei dem die genannte Variation und/oder Veränderung während der Laufzeit des Browsers durch einen Betrachter der Darstellung interaktiv veranlasst werden kann (interaktives Fenster). Insbesondere dynamische und interaktives Fenster unterscheiden sich von statischen Objekten, wie Blöcken (in HTML beispielsweise durch das Element <div> codierbar) und Frames, einschließlich eingebetteten Frames (in HTML durch das Element <iframe> codierbar).

Es ist beispielsweise bekannt, auf einem Personalcomputer, der an das Internet angeschlossen ist, einen Standard-Browser wie z. B. den Internet Explorer von Microsoft oder den Netscape Navigator zu betreiben. Der Browser wird durch Code einer universellen, vom konkreten Browser und Betriebssystem unabhängigen Layout-Beschreibungssprache gesteuert. Am weitesten verbreitet ist HTML. Die Layout-Beschreibungssprache bietet eine Anzahl von allgemein definierten, einem Standard entsprechenden Befehlen und Objekten (Sprachelemente). Über den Standard hinaus gibt es Sprachelemente, die nur von bestimmten Browser verstanden und/oder richtig interpretiert werden. Insgesamt ist die Layout-Beschreibungssprache zwar systemunabhängig, bietet jedoch nur begrenzte Möglichkeiten. In vielen Fällen macht der aus der Layout-Beschreibungssprache gebildete Code einen wesentlichen Teil derjenigen Daten aus, die beim Laden eines Inhalts zur Darstellung auf einem lokalen Bilddarstellungsmittel übertragen werden. Der eigentliche darzustellende Inhalt wird beispielsweise durch Text und Bilddaten definiert.

Von Betriebssystemen zur Steuerung des Betriebes eines einzelnen Computers ist es bekannt, grafische Ausgangsdaten verschiedener Programme oder Instanzen von Programmen in jeweils einem separaten Fenster auf einem Darstellungsmittel (z. B. Bildschirm) darzustellen. Dabei besteht für den Nutzer oder Programmierer eine Vielzahl von Möglichkeiten, die gesamte Darstellung auf dem Darstellungsmittel zu verändern und einzustellen. Insbesondere können die Fenster hinsichtlich ihrer Größe einzeln skaliert werden, verschoben werden, geschlossen oder minimiert werden, einander überlappen und in den Hintergrund oder Vordergrund gebracht werden.

Ein nur begrenzt gleichwertiges Ergebnis kann man im Fall der Verwendung von Web-Browsern dadurch erzielen, dass man mehrere Instanzen des Browsers oder verschiedener Browser gleichzeitig betreibt und z. B. teilweise dieselben Inhalte von Quellen des Datenübertragungsnetzes in den Fenstern der verschiedenen Browserinstanzen darstellt. Nachteilig daran ist bereits, dass der selbe Inhalt mehrfach von der Quelle geladen werden muss.

Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Anordnung der eingangs genannten Art anzugeben, die Möglichkeiten eines Bild-Darstellungssystems zur Darstellung einer Mehrzahl von Fenstern auf einem einzigen Darstellungsmittel für die Programmierung von solchen Inhalten nutzbar machen, welche auf einer an das Datenübertragungsnetz angeschlossenen Quelle zum Laden zur Verfügung stehen. Insbesondere soll es einem Programmierer möglich sein, eine übersichtliche Darstellung von Teilinhalten der Quelle in verschiedenen Fenstern zu ermöglichen und soll es für den Betrachter möglich sein, die Darstellung der Fenster während der Betrachtung zu verändern, wie es bei fensterbasierten Betriebssystemen der Fall ist.

Die Erfindung weist eine Mehrzahl von Aspekten auf, die – einzeln oder in beliebigen Kombinationen miteinander – in Ausführungsformen des erfindungsgemäßen Verfahrens bzw. der erfindungsgemäßen Anordnung vorkommen. Anders ausgedrückt sind die Aspekte voneinander unabhängig realisierbar. Die folgende Beschreibung der Aspekte ist daher nicht in der Weise einschränkend zu verstehen, dass die Aspekte nur in Kombination miteinander offenbart sind.

Unter anderem wegen der begrenzten Möglichkeiten der Layout-Beschreibungssprache ist es an sich bekannt, Codeblöcke bzw. Programme zusammen mit den zu übertragenden Inhalten an der Quelle bereitzustellen und zusammen mit den Inhalten zu dem Browser zu übertragen. Am weitesten verbreitet sind Codeblöcke in der Skriptsprache Java Script. Die Programme sind zur Steuerung des Browsers geeignet. Über ein Document Object Model (DOM) können sie die Steuerung des Browsers manipulieren. Dabei können sie Codeelemente (insbesondere Objekte der Layout-Beschreibungssprache) verwenden und die Standard-Codeelemente um eine Fülle von weiteren möglichen Steuerungsbefehlen, Attributen und/oder andere Codeelemente ergänzen. Die Verwendung der Standard-Codeelemente ist sinnvoll, da wiederum die Möglichkeiten der Codeblöcke bzw. Programme zur Ausgabe von Grafikdaten begrenzt sind. Insgesamt sind die Möglichkeiten der Browser-Steuerung also wesentlich erweitert, wobei jedoch die Standard-Codeelemente zur grafischen Darstellung verwendet werden. Außerdem werden die weiteren Steuerungselemente nicht nur von bestimmten Browsern verstanden und richtig interpretiert (wie es bei nicht dem Standard entsprechenden Codeelementen der Fall ist), sondern von allen Browsern, die grundsätzlich die Verwendung von derartigen Programmen erlauben.

Gemäß einem ersten Aspekt der Erfindung wird vorgeschlagen, die zuvor beschriebenen Codeblöcke bzw. Programme im Fall einer Mehrzahl von Fenstern zu verwenden, wobei die Fenster von einer einzigen Instanz eines Browsers verwaltet werden und wobei zumindest einer der Codeblöcke oder eines der Programme zu Beginn oder während der Darstellung der Inhalte von dem Browser geladen wird, zur Laufzeit des Browsers ausführbare Befehle enthält und die Erzeugung von Fenstern, deren Verwaltung und das Versehen der Fenster mit den Inhalten steuert. Insbesondere weist der Codeblock oder das Programm Codeelemente einer Skriptsprache wie JavaScript auf.

Bei einer bevorzugten Ausgestaltung ist die Größe des Codeblockes, der beim ersten Laden eines Inhalts der Quelle mit heruntergeladen wird, minimiert, um den Ladevorgang möglichst kurz halten zu können. Den Erfindern der vorliegenden Erfindung ist es gelungen, einen Codeblock mit einer Größe von nur 25 bis 30 kByte zu generieren, der es erlaubt, eine komfortable Mehrfensterdarstellung in der Art von fensterbasierten Betriebssystemen zu steuern. Dabei sind noch weitere Aspekte der Erfindung realisiert, wie z. B. der Aspekt, jeweils für jedes Fenster eine Historie der bereits dargestellten Inhalte des Fensters zu führen, und der Aspekt eines sogenannten Deeplink, der tief auf Teilinhalte einer Webseite zeigt. Der insbesondere für alle Fenster der Browserinstanz gesetzte und/oder laufend aktualisierte Deeplink ermöglicht es, gezielt auf bestimmte Inhalte oder Teilinhalte zuzugreifen. Auf diese Aspekte wird noch näher eingegangen.

Bei der derzeit bekannten besten Ausführungsform der Erfindung weist ein solcher Codeblock alle in dieser Beschreibung aufgeführten Aspekte der Erfindung in Kombination auf, insbesondere mit den in der Figurenbeschreibung beschriebenen speziellen Ausführungsmerkmalen.

Unabhängig von oder in Kombination mit dem ersten Aspekt der Erfindung wird eine Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel vorgeschlagen, insbesondere auf einem Bildschirm eines Personalcomputers oder Computernetz-Arbeitsplatzes, wobei die Anordnung folgendes aufweist:

  • – eine Steuerungseinrichtung zum Steuern der visuellen Darstellung,
  • – eine Netzschnittstelle zum Anschließen der Anordnung an ein Datenübertragungsnetz,
  • – einen Browser zum Laden von Inhalten von zumindest einer Quelle über das Datenübertragungsnetz und
  • – eine Darstellungsschnittstelle, um Darstellungsdaten zur Darstellung der Inhalte zu dem Darstellungsmittel zu übertragen,
wobei der Browser durch Code mit einer Layout-Beschreibungssprache, insbesondere HTML und/oder XML, steuerbar ist und wobei die Steuerungseinrichtung ausgestaltet ist,
  • a) die Inhalte in einer Mehrzahl von Fenstern auf dem Darstellungsmittel darzustellen und dabei eine einzige Instanz des Browsers zu steuern, wobei die einzige Instanz die Mehrzahl der Fenster verwaltet, und
  • b) die Fenster bei entsprechender Anforderung oder Programmierung während eines Betriebes des Browsers zu erzeugen und mit einem neu von der Quelle übertragenen Inhalt zu versehen.

Dabei wird insbesondere vorgeschlagen, die Anordnung als ein kompaktes Gerät zu realisieren, das gegenüber einem Personalcomputer reduzierte Fähigkeiten aufweist und speziell für die visuelle Darstellung der Inhalte ausgestaltet ist. Vorteil eines solchen kompakten Geräts sind eine reduzierte Größe und Komplexität, sodass einerseits die Kosten für das Gerät geringer sind und andererseits eine zuverlässigere, insbesondere absturzsichere, Arbeitsweise möglich ist.

Neben dem Verfahren und der Anordnung gehört ein Computerprogramm zum Umfang der Erfindung, das bei Ablauf auf einem Computer oder Computer-Netz das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführt.

Weiterhin gehört zum Umfang der Erfindung ein Computerprogramm mit Programmcode-Mitteln, um das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder Computer-Netz ausgeführt wird. Insbesondere können die Programmcode-Mittel auf einem computerlesbaren Datenträger gespeichert sein.

Außerdem gehört zum Umfang der Erfindung ein Datenträger, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzes das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführen kann.

Auch gehört zum Umfang der Erfindung ein Computerprogramm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten und/oder speicherbaren Programmcode-Mitteln, um das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder Computer-Netz ausgeführt wird.

Dabei wird unter einem Computer-Programmprodukt das Programm als handelbares Produkt verstanden. Es kann grundsätzlich in beliebiger Form vorliegen, so zum Beispiel auf Papier oder einem computerlesbaren Datenträger und kann insbesondere über ein Datenübertragungsnetz verteilt werden.

Der bereits detailliert beschriebene Aspekt und die weiteren Aspekte der Erfindung werden nun anhand der beigefügten Zeichnung beispielhaft näher erläutert. Die Erfindung ist jedoch nicht auf die Ausführungsbeispiele beschränkt. Die einzelnen Figuren der Zeichnung zeigen schematisch:

1 ein Computernetz mit einer daran angeschlossenen Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel,

2 eine Ausführungsform einer Steuerungseinrichtung, die insbesondere Bestandteil der in 1 dargestellten Anordnung ist,

3 eine Darstellung von zwei Fenstern einer Browserinstanz innerhalb eines Browserfensters,

4 eine Darstellung einer seriellen Abarbeitung von Teilprozessen zum Darstellen von Inhalten in mehreren Fenstern einer Browserinstanz,

5 eine Darstellung eines Inhalt-Frames über einem Skin-Frame,

6 eine Explosionsdarstellung eines Inhalt-Frames und eines Skin-Frames mit einem dazwischen liegenden, unsichtbaren Bildelement,

7 ein Blockdiagram zur Erklärung von Schritten zur Darstellung eines Ergebnisses der Übertragung von Eingabedaten (insbesondere Formulardaten) und

8 eine Darstellung eines Browserfensters mit einem darin enthaltenen Fenster, welches vergrößert wird.

1 zeigt ein Computernetz 1, bei dem eine Mehrzahl von Quellen 3a, 3b, 3c über Datenübertragungsverbindungen miteinander verbunden sind. Eine Anordnung 2 zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel 7 weist einen Browser 5 auf, der über eine Netzschnittstelle 4 an das Computernetz 1 angeschlossen ist. Ferner weist die Anordnung 2 eine Darstellungsschnittstelle 6 auf, über die die Anordnung 2 mit dem Darstellungsmittel 7, insbesondere einem Bildschirm, verbunden ist. Eine Steuerungseinrichtung 9 ist über eine vorzugsweise bidirektionale Verbindung 8 mit dem Browser 5 verbunden.

Die Steuerungseinrichtung 9 und der Browser 5 können durch Hardware und/oder Software realisiert werden. Insbesondere sind die Funktionen der Steuerungseinrichtung 9 durch einen Codeblock bzw. ein Programm der zuvor beschriebenen Art definiert, welcher bzw. welches (gemäß dem ersten Aspekt der Erfindung) beim Laden eines Inhalts von einer der Quellen 3 zu dem Browser 5 mit übertragen wird und durch einen nicht näher dargestellten Mikroprozessor der Anordnung 2 ausgeführt wird. Da auch der Browser von dem selben Mikroprozessor ausgeführt werden kann, ist die in 1 dargestellte Trennung des Browsers 5 und der Steuerungseinrichtung 9 insbesondere funktional zu verstehen. Wie heutzutage üblich kann der Browser 5 ein Standard-Webbrowserprogramm sein.

Gemäß einem zweiten Aspekt der Erfindung ist der Codeblock insbesondere so ausgestaltet, dass der Programmierer einer Webseiten-Struktur den Codeblock, der die Fenster definiert, nicht selbst in der entsprechenden Programmiersprache zu programmieren braucht. Vielmehr kann der Codeblock selbst von einer Entwicklungsumgebung für Programmierer erzeugt werden. Es wird eine visuelle Entwicklungsumgebung vorgeschlagen, also eine Entwicklungsumgebung, die bereits während der Programmierung zumindest Teile der programmierten Fenster-Darstellung grafisch darstellt.

Bei einer konkreten Ausführungsform der Entwicklungsumgebung weist diese einen Editor auf, der wiederum selbst durch einen Codeblock mit den oben beschriebenen Eigenschaften definiert ist. Somit kann der Editor-Codeblock während des Betriebes eines Browsers von einer Quelle heruntergeladen werden und bietet damit den vollen Komfort einer web-basierten Anwendung. Hinzu kommt die Möglichkeit, bereits während der Programmierung von der übersichtlichen Darstellung einer Mehrzahl von Inhalten in verschiedenen Fenstern zu profitieren. Beispielsweise wählt der Programmierer per Mausklick in einem ersten der Fenster Eigenschaften (z. B. die noch detaillierter in dieser Beschreibung genannten Attribute) eines später bei dem Anwender bzw. Nutzer zu generierenden Fensters aus und bekommt das Ergebnis in einem zweiten der Fenster grafisch dargestellt.

3 zeigt ein Browserfenster 30, in dem ein erstes Fenster 31a und ein zweites Fenster 31b dargestellt sind. Das Browserfenster 30 wiederum wird insbesondere auf dem Darstellungsmittel 7 gemäß 1 dargestellt. Das erste Fenster 31a und das zweite Fenster 31b werden innerhalb derselben Instanz eines Browsers verwaltet. Die Verwaltung erfolgt nach dem erfindungsgemäßen Verfahren. In dem ersten Fenster 31a wird ein erster Inhalt C1 dargestellt, in dem zweiten Fenster 31b ein Inhalt C2.

Wie das obige Beispiel der visuellen Entwicklungsumgebung zeigt, kann eine Steuerung der Browserinstanz nach dem erfindungsgemäßen Verfahren insbesondere so ausgestaltet sein, dass das Ergebnis einer mit Hilfe des ersten Inhalts C1 von einem Nutzer durchgeführten Aktion automatisch den zweiten Inhalt C2 verändert und der veränderte zweite Inhalt C2 in dem zweiten Fenster 31b dargestellt wird. Hierzu kann insbesondere die im Folgenden anhand von 2 noch näher beschriebene Ausgestaltung einer Steuerungseinrichtung 9 ein Eingangssignal von dem Browser empfangen, das der durchgeführten Aktion entspricht (z. B. einem Mausklick auf eine Schaltfläche des ersten Inhalts C1). Das Eingangssignal wird dann von der Steuerungseinrichtung 9, insbesondere gemäß Programmcode in dem oben beschriebenen Codeblock, ausgewertet und führt zu der Ausgabe eines Ausgangssignals an den Browser, das wiederum den Browser veranlasst, den zweiten Inhalt C2 zu verändern.

2 illustriert ein Ausführungsbeispiel eines dritten, besonders bevorzugten Aspektes der Erfindung, der zunächst jedoch allgemein beschrieben wird. Der Aspekt betrifft Links zu anderen Inhalten oder Teilinhalten, die von der selben oder einer anderen Quelle erhältlich sind. Durch die Betätigung eines Links kann der entsprechende Inhalt oder Teilinhalt geladen und dargestellt werden. Beispielsweise in HTML wird über das Element <a> referenziert. Dabei kann über das Attribut target ein bestimmtes Ziel angegeben werden, insbesondere ein Frame oder auch ein neues Browserfenster, in dem der referenzierte Inhalt dargestellt werden soll. Der Vorteil einer derartigen Referenzierung liegt in ihrer Einfachheit. Andererseits sind aber die Möglichkeiten der Darstellung begrenzt.

Dem dritten Aspekt liegt das Problem zu Grunde, eine einfache Programmierung zu ermöglichen, die dennoch die volle Funktionalität der Darstellung von Inhalten in unterschiedlichen Fenstern der selben Browserinstanz ermöglicht.

Hierzu wird vorgeschlagen, dass ein Link zu einem Inhalt oder zu einem bestimmten Teilinhalt der Quelle automatisch um Fenster-Steuerungsinformation ergänzt wird oder durch einen um Fenster-Steuerungsinformation ergänzten Link ersetzt wird, wobei die Fenster-Steuerungsinformation Information enthält, um den Inhalt oder Teilinhalt der Quelle in einem neuen oder bestehenden Fenster der Browserinstanz auf dem Darstellungsmittel darstellen zu können.

Durch die automatische Ersetzung oder Ergänzung kann der Programmierer eine Referenzierung verwenden, die einfach ist. Insbesondere kann der Link vor der Ergänzung oder Ersetzung in dem Format der Layout-Beschreibungssprache (insbesondere HTML) definiert sein oder in allenfalls leicht abgeändertem Format. Beispielsweise kann das Attribut target des Elementes <a> (a bedeutet „anchor") in HTML eine Bedeutung zugewiesen bekommen, die in Standard-HTML nicht definiert ist. Der der Bedeutung entsprechende Wert des Attributs kann dann von dem oben genannten Codeblock oder Programm bzw. von der Steuerungseinrichtung erkannt werden, dementsprechend interpretiert werden und löst die Ergänzung oder Ersetzung in der gewünschten Weise aus.

Durch die Fenster-Steuerungsinformation können insbesondere Fenster erzeugt und/oder mit Inhalt beladen werden.

Nicht nur in Zusammenhang mit dem dritten Aspekt können eine, mehrere oder alle der folgenden Aktionen durchgeführt werden:

  • – Ein Titel des Fensters, in dem der referenzierte Inhalt dargestellt werden soll, wird entsprechend diesem Inhalt gesetzt.
  • – Eine Historie der Adressen von in dem Fenster bereits dargestellten Inhalten wird aktualisiert oder (im Fall der Öffnung eines neuen Fensters) initialisiert.
  • – Es wird Information gesichert, die es ermöglicht, den referenzierten Inhalt in Zukunft erneut darzustellen (Reload-Funktion, die beispielsweise über eine Schaltfläche in dem Fenster betätigt werden kann).
  • – Es wird sogenannte Deeplink-Information (zur Erklärung des Begriffes s.o. und s.u.) gesetzt.
  • – Ggf. wird ein neues Fenster innerhalb derselben Browserinstanz initialisiert. In diesem Fall enthält die Steuerungsinformation die entsprechenden Initialisierungsdaten, sodass z. B. das Layout des Fensters (etwa das Fensterdesign und/oder die Anzahl und Art der Schaltflächen) definiert ist.

Bei einer Weiterbildung unterscheidet die Steuerungseinrichtung, auf welche Art der Link während der Laufzeit des Browsers betätigt wurde. Beispielsweise kann er durch einen Klick mit der linken oder der rechten Maustaste betätigt worden sein. Es wird vorgeschlagen, abhängig von der Art der Betätigung eine jeweils zugeordnete Aktion auszuführen, die insbesondere in Bezug zu dem Link und/oder dem referenzierten Inhalt steht. Insbesondere kann bei einer ersten Art der Betätigung die Ergänzung oder Ersetzung durchgeführt werden. Zum Beispiel kann bei einer zweiten Art der Betätigung ebenfalls die Ergänzung oder Ersetzung durchgeführt werden, jedoch auf eine andere Weise (etwa kann der referenzierte Inhalt in einem neuen Fenster dargestellt werden, welches zu diesem Zweck geöffnet wird). Auch kann alternativ oder zusätzlich bei einer zweiten oder dritten Art der Betätigung ein Kontext-Menü geöffnet werden, das es dem Benutzer erlaubt, unter einer Anzahl von Standard-Browser-Menüpunkten auszuwählen, die tatsächlich funktionsfähig sind.

Ein Link wird ausgeführt, indem der entsprechende referenzierte Inhalt oder Teilinhalt der Quelle geladen und auf dem Darstellungsmittel dargestellt wird. Bei einer besonders bevorzugten Ausführungsform wird eine Ausführung des Links durch den Browser abgebrochen oder zunächst blockiert und werden die Fenster-Steuerungsinformation zu dem Browser übertragen und der ergänzte oder ersetzte Link ausgeführt.

Durch die Blockierung oder das Abbrechen des Links kann verhindert werden, dass der Browser den Link gemäß der Standard-Definition der Layout-Beschreibungssprache ausführt. Es ist daher möglich, die Ergänzung oder Ersetzung des Links während der Laufzeit des Browsers auszuführen, nachdem ein Benutzer die Ausführung des Link ausgelöst hat. Dabei kann grundsätzlich die Fenster-Steuerungsinformation wenigstens teilweise schon vor der Betätigung des Links erzeugt worden sein. Bevorzugt wird jedoch, die Fenster-Steuerungsinformation erst nach der Auslösung der Betätigung des Links zu erzeugen, da dann vollständig festgestellt werden kann, ob überhaupt eine Ersetzung oder Erweiterung durchgeführt werden muss.

Bei einer konkreten Ausführungsform, bei der die Steuerung der Fensterdarstellung unter Verwendung des oben beschriebenen Codeblocks bzw. Programms durchgeführt wird, erzeugt dieses die Fenster-Steuerungsinformation und übermittelt sie dem Browser. Insbesondere wird u.a. ein vor der Ersetzung oder Ergänzung in HTML vorliegender Wert eines Referenzierungsattributs (z. B. href in HTML) durch einen entsprechenden, jedoch erweiterten Befehl in einer Sprache des Codeblocks bzw. Programms ersetzt bzw. erweitert. Der erweiterte Befehl enthält außer der eigentlichen Fenster-Steuerungsinformation auch die zur Ausführung des Links benötigte Information.

Alternativ zu der Blockierung oder dem Abbruch des Links wird folgende Ausführungsform vorgeschlagen:
Wenn der Browser einen Inhalt lädt, der zumindest einen später eventuell auszuführenden Link aufweist, wird der Link nach dem Laden des Inhalts durch den Browser und vor dem Darstellen des Inhalts auf dem Darstellungsmittel ergänzt oder ersetzt. Vorzugsweise wird ebenso für alle anderen Links in dem Inhalt verfahren, bevor der Inhalt dargestellt wird. Das Laden des Inhalts durch den Browser kann unter der Steuerung der Steuerungseinrichtung erfolgen.

Diese Art der Ergänzung oder Ersetzung kann mit großer Zuverlässigkeit durchgeführt werden, da heutzutage jeder Standardbrowser Operationen an dem geladenen Inhalt durch Codeblöcke oder Programme zulässt. Die weitere Steuerung der mit den Links verbundenen Funktionen kann dann nahezu vollständig von dem Codeblock oder Programm übernommen werden. Insbesondere kann der HTML-Code des Links vollständig oder teilweise durch Programmcode (z. B. in Java Script) ersetzt werden. Auch kann die Ausführung des Links nach seiner Betätigung beschleunigt werden, da dann keine Ergänzung oder Ersetzung mehr vorgenommen werden muss.

Nachteil dieser Ausführungsform ist jedoch, dass nicht mehr alle Standard-Browseraktionen bei diesen Links funktionieren, da die Fenster-Steuerungsinformation schon vor der Auslösung des Links erzeugt wurde. Die Standard-Browseraktionen funktionieren jedoch insbesondere bei der oben beschriebenen Ausführungsform mit der Blockierung oder dem Abbrechen des Links.

Allgemein formuliert kann die Fenster-Steuerungsinformation als Bestandteil einer Gruppe von Codeelementen erzeugt werden, wobei die Gruppe von Codeelementen Ausführungsinformation für eine Ausführung des später eventuell auszuführenden Links aufweist.

Bei dem dritten Aspekt der Erfindung ist die Steuerungseinrichtung der Anordnung insbesondere ausgestaltet, einen Link zu einem Inhalt oder zu einem bestimmten Teilinhalt der Quelle automatisch um Fenster-Steuerungsinformation zu ergänzen oder durch einen um Fenster-Steuerungsinformation ergänzten Link zu ersetzen, wobei die Fenster-Steuerungsinformation Information enthält, um den Inhalt oder Teilinhalt der Quelle in einem neuen oder bestehenden Fenster der Browserinstanz auf dem Darstellungsmittel darstellen zu können.

Unabhängig von der konkreten Durchführung der Ergänzung oder Ersetzung des Links wird Folgendes vorgeschlagen: Wenn ein Inhalt oder ein Teilinhalt der Quelle, der auf dem Darstellungsmittel dargestellt werden soll, zumindest einen zu ergänzenden oder zu ersetzenden Link aufweist, wird im Vordergrund eines Bereiches auf dem Darstellungsmittel, in dem der Inhalt oder der Teilinhalt dargestellt werden soll, vorübergehend ein anderes Element dargestellt. Bei dem anderen Element handelt es sich insbesondere um einen Block, ein Bildelement (z. B. vom Typ <img> in HTML) oder einen Frame. Das andere Element ist optional durchsichtig und deckt den Bereich zumindest teilweise ab. Vorzugsweise ist die (unter Umständen nicht sichtbare) Darstellung das Element so groß wie der gesamte Fensterbereich des Browserfensters, in dem Inhalte dargestellt werden können. Dadurch kann der Inhalt oder Teilinhalt in dem Bereich dargestellt werden, während eine Betätigung des zumindest einen Links in dem Bereich noch nicht möglich ist. Es ist somit gewährleistet, dass der Link vor seiner Ergänzung oder Ersetzung noch nicht betätigt werden kann.

Diese Maßnahme kann insbesondere bei der Handhabung einer Background-HTML-Seite ergriffen werden. Unter einer Background-HTML-Seite wird die Webseite verstanden, die beim Laden eines Inhalts von einer bestimmten Quelle zuerst auf dem Darstellungsmittel dargestellt wird und in vielen Fällen eine Mehrzahl von Links zu untergeordneten Web-Seiten enthält.

Die Maßnahme lässt sich alternativ zu der Maßnahme der Ausblendung oder Verzögerung der Darstellung von Inhalten auf dem Darstellungsmittel anwenden.

Unter Bezugnahme auf 2 werden nun eine Ausführungsform einer dem dritten Aspekt der Erfindung entsprechenden Anordnung und eine Verfahrensweise näher erläutert. Die in der Figur dargestellte Steuerungseinrichtung 9 ist über eine bidirektionale Verbindung 8 mit dem Browser verbunden. Dabei ist die Verbindung in der Figur für eine Signalübertragung zu der Steuerungseinrichtung 9 mit dem Bezugszeichen 8a bezeichnet und ist die Verbindung für eine Signalübertragung zu dem Browser mit dem Bezugszeichen 8b bezeichnet.

Die dargestellte Anordnung erlaubt eine Signalübertragung sowohl zu einem Analysator 11 als auch direkt zu einer Steuerungseinheit 13 der Steuerungseinrichtung 9. Der Analysator 11 ist ausgestaltet, die von dem Browser eingehenden Signale zu analysieren, insbesondere die vorgegebenen Werte in dem target-Feld und in dem href-Feld eines <a>-Befehls zu erkennen, und die entsprechenden Maßnahmen zur Steuerung der Fensterdarstellung anzustoßen.

Bei der Ausführungsform mit der Blockierung der Ausführung eines Links stellt der Analysator 11 die Auslösung der Betätigung des Links durch den Benutzer fest und löst seinerseits die aktive Ausgabe eines Blockierungssignals zur Blockierung des Links aus. Der Analysator 11 ist ausgangsseitig mit einem Eingang eines Generators 12 verbunden, der die dem Link entsprechende Fenster-Steuerungsinformation generiert und über eine ausgangsseitige Verbindung zu einem Eingang der Steuerungseinheit 13 überträgt. Alternativ können der Generator und die Steuerungseinheit als eine kombinierte gemeinsame Einheit ausgebildet sein. In beiden Fällen übernimmt die Steuerungseinheit 13 die eigentliche Steuerung des Browsers.

Im Fall der Ergänzung oder Ersetzung des Links bereits nach dem Laden eines Inhalts analysiert der Analysator 11 vorzugsweise sukzessive den gesamten geladenen Inhalt und löst die Erzeugung der Fenster-Steuerungsinformation aus.

Einem vierten Aspekt der Erfindung liegt folgendes Problem zugrunde: Beispielsweise wegen einer Überlastung eines Mikroprozessors und/oder weil eine Datenübertragung über das Datenübertragungsnetz nur bei geringer Übertragungsrate stattfindet oder. zeitweise unterbrochen ist, kann es vorkommen, dass der Browser Befehle, die ihm erteilt wurden, nicht ausführt. Dies ist insbesondere bei einer Mehrfensterdarstellung nicht akzeptabel, da insbesondere wesentliche Inhalte möglicherweise nicht dargestellt werden. Ist dagegen – wie bei heutigen Standardbrowsern – nur ein Fenster zur Darstellung von Inhalten vorhanden, würde der Betrachter sofort auf das Problem aufmerksam. Bei einer Mehrfensterdarstellung fällt dem Betrachter das Problem möglicherweise nicht auf. Es ist daher darauf zu achten, dass das Laden und Darstellen von allen Inhalten zuverlässig durchgeführt wird. Hierzu gehört auch ggf. das Erzeugen eines neuen Fensters.

Gemäß dem vierten Aspekt wird daher vorgeschlagen, dass bei einer Mehrzahl von Teilprozessen, durch deren Ausführung eine Mehrzahl von Inhalten in verschiedenen Fenstern der selben Browserinstanz dargestellt werden soll, die Teilprozesse nacheinander ausgeführt werden und jeweils das Eintreten eines Ereignisses am Ende eines der Teilprozesse festgestellt wird und den Beginn des nächsten folgenden Teilprozesses auslöst (Folge von Teilprozessen, an deren Übergang jeweils ein Ereignis liegt).

Standardbrowser sehen grundsätzlich vor, dass Ereignisse gesetzt werden können und es festgestellt werden kann, wenn das Ereignis eingetreten ist. Diese Funktionalität kann daher bei dem vierten Aspekt der Erfindung genutzt werden. Die Nutzung dieser Funktionalität spart insbesondere Rechenzeit und entlastet somit die (u. U. schon überlastete) zentrale Recheneinheit. Würde laufend abgefragt, ob ein Teilprozess schon ausgeführt ist, würde die Recheneinheit noch mehr belastet.

Insbesondere ist es möglich, zunächst eine erste Kette der Teilprozesse durchzuführen, in denen jeweils ein neues Fenster der Browserinstanz geöffnet wird oder ein vorhandenes Fenster der Browserinstanz zum Darstellen eines neuen Inhalts vorbereitet wird.

Ein Ausführungsbeispiel wird nun unter Bezugnahme auf 4 im Folgenden erläutert:
Die Figur zeigt drei Fenster einer Browserinstanz, nämlich ein erstes Fenster 31a, ein zweites Fenster 31b und ein drittes Fenster 31c. Mit dem Bezugszeichen A wird der Beginn der Prozedur bezeichnet. Wie durch einen bei A beginnenden Pfeil angedeutet ist, wird in einem ersten Teilprozess zunächst das erste Fenster 31a geöffnet. Am Ende des ersten Teilprozesses tritt das Ereignis B ein, das den zweiten Teilprozess auslöst, in dem das zweite Fenster 31b geöffnet wird. Am Ende des zweiten Teilprozesses tritt das Ereignis C ein, das wiederum einen dritten Teilprozess auslöst, in dem das dritte Fenster 31c geöffnet wird. Am Ende des dritten Teilprozesses sind somit alle drei Fenster geöffnet. Die Anzahl der durch die Kette der Teilprozesse zu öffnenden Fenster kann selbstverständlich größer oder kleiner sein.

Am Ende des Teilprozesses, der das dritte (im allgemeinen: das letzte) Fenster 31c öffnet, tritt ein Ereignis D, das den vierten Teilprozess auslöst, in dem das erste Fenster 31a mit dem gewünschten Inhalt beladen wird, d. h. der Inhalt dargestellt wird. Am Ende des vierten Teilprozesses tritt ein Ereignis E ein, das einen weiteren Teilprozess auslöst, in dem das zweite Fenster 31b mit dem beabsichtigten Inhalt beladen wird. Am Ende dieses Teilprozesses tritt ein Ereignis F ein, das den letzten Teilprozessen auslöst, in dem das dritte Fenster 31c mit dem beabsichtigten Inhalt beladen wird. Die Kette der Teilprozesse endet optional mit einem weiteren vorher gesetzten Ereignis G, wodurch das Ende festgestellt werden kann und z. B. eine grafische Darstellung, die den Vorgang des Öffnens und Ladens darstellt, (etwa ein Wartesymbol) wieder ausgeblendet werden kann.

Alternativ kann die Kette der Teilprozesse auch in anderer Reihenfolge ausgeführt werden. Z. B. kann jeweils nach dem Öffnen eines neuen Fensters zunächst das Fenster mit Inhalt beladen werden und dann das nächste Fenster geöffnet werden.

Einem fünften Aspekt der Erfindung liegt das Problem zugrunde, dass bestimmte Elemente der Layout-Beschreibungssprache (insbesondere HTML) bei manchen Standardbrowsern im Vordergrund auf dem Darstellungsmittel dargestellt werden, obwohl ein anderes Element, insbesondere ein Block (Element <div> in HTML) im Vordergrund dargestellt sein sollte.

Aus diesem Grund wird vorgeschlagen, die von der Browserinstanz verwalteten Fenster unter Verwendung zweier Elemente vom Typ "eingebetteter Frame" (z. B. Element <iframe> in HTML) zu steuern. Eingebettete Frames erzeugen – anders als Standard-Frames – bei der üblichen Verwendung keine Aufteilung des Bildschirms, sondern sind ähnlich wie Grafiken Bereiche einer Codeseite (insbesondere einer HTML-Datei), in denen Inhalte aus fremden (anderen) Quellen dargestellt werden können.

Dabei wird unter Verwendung zumindest eines ersten der eingebetteten Frames das eigentliche Fenster gesteuert (Skin-Frame), über das die das grafische Fensterlayout betreffenden Fenstereigenschaften verwaltet werden, etwa ein Fensterrahmen, eine Titelzeile, diverse Schaltflächen und/oder eine Fußzeile. Unter Verwendung zumindest eines zweiten der eingebetteten Frames wird der Inhalt des Fensters verwaltet (Inhalt-Frame). Vorzugsweise weist der Skin-Frame eine Gruppe von mehreren eingebetteten Frames auf.

Insbesondere wird bei dieser Lösung der Inhalt-Frame (z. B. Bezugszeichen 16 in 5) gegenüber dem Skin-Frame (z. B. Bezugszeichen 15 in 5) als kleineres Rechteck und im Vordergrund dargestellt, sodass der Skin-Frame einen Rahmen um den Inhalt-Frame bildet. Die Steuerung der Darstellung ist dabei vorzugsweise so ausgestaltet, dass bei der Verschiebung eines der beiden eingebetteten Frames der andere automatisch mit verschoben wird, sodass die relative Position der beiden Frames unverändert bleibt. Dennoch ist die Verwaltung des Inhalts und des Layouts des Fensters getrennt und aufgeteilt in die zumindest zwei Frames.

In 5 sind Details des Skin-Frames 15 dargestellt: In einer Kopfzeile 18 kann beispielsweise ein Titel des in dem Inhalt-Frame 16 dargestellten Inhalts erscheinen. Am rechten Ende der Kopfzeile befindet sich eine Schaltfläche 19, durch deren Betätigung das Fenster geschlossen werden kann. Weitere Schaltflächen können vorgesehen sein (etwa ein Reload-Button). Auch weist der Skin-Frame 15 eine Fußzeile 17 auf, z. B. zur redundanten und/oder zusätzlichen Darstellung von Informationen, die im Zusammenhang mit dem Inhalt steht.

Ein eingebetteter Frame hat gegenüber einem Blockelement den Vorteil, dass er die sonst im Vordergrund dargestellten Elemente bei der Darstellung überdecken kann.

Vorzugsweise wird programmtechnisch gemeinsam mit den für die Definition des Skin-Frames bzw. des Inhalt-Frames erforderlichen Informationen eine Vielzahl von weiteren Informationen verwaltet, beispielsweise als komplexes Objekt im Sinne einer objektorientierten Programmierung. Dabei können auch die beiden Frames, also der Skin-Frame und der Inhalt-Frame, zusammen (wenn auch untergliedert) in dem selben komplexen Objekt verwaltet werden.

Bei einem Ausführungsbeispiel ermöglichen die zusätzlich zu dem eingebetteten Frame verwalteten Informationen die Behandlung des eingebetteten Frames als dynamisches Fenster und/oder interaktives Fenster. Insbesondere wird so die Größen-Skalierbarkeit des Fensters, die Verschiebbarkeit des Fensters sowie die Eigenschaft ermöglicht, dass Fenster einander überlappen können.

Insbesondere werden die im folgenden genannten Fenster-Attribute zusammen mit zumindest einem der eingebetteten Frames verwaltet:

  • – Höhe und/oder Breite des Fensters
  • – Fenstername und/oder Titel des Inhalts
  • – Adresse des Inhalts (z. B. URL)
  • – Position (z. B. relativ zu dem Browserfenster und/oder auf dem Darstellungsmittel)

Weitere Attribute können vorgesehen sein. Das Softwareobjekt kann neben den Attributen weitere Elemente aufweisen.

Ein Beispiel für ein solches weiteres Element, ist gemäß einem sechsten Aspekt der vorliegenden Erfindung eine Historie (etwa eine geordnete Folge) von Adressen der in dem Fenster bisher dargestellten Inhalte. Bei einer bevorzugten Ausführungsform haben grundsätzlich alle Fenster, die von der Browserinstanz verwaltet werden, eine derartige Historie. Allerdings kann es dem Programmierer überlassen bleiben, eine Historie bei einem oder mehreren der Fenster nicht vorzusehen. Die Historie kann beispielsweise durch ein Adressdatenfeld und/oder mit Hilfe einer Pointerkette realisiert werden. Vorzugsweise wird der Historie automatisch bei der Darstellung eines neuen Inhalts in dem Fenster eine entsprechende Adresse hinzugefügt. Wie bei dem Browserfenster von Standardbrowsern kann etwa in einem Kopfbereich des Fensters zumindest eine Schaltfläche vorgesehen sein, über die Adressen der Historie ausgewählt und somit der entsprechende Inhalt wieder in dem Fenster dargestellt werden kann.

Gemäß einer Weiterbildung dieses Aspektes kann zumindest eine der Adressen einer Fenster-Historie mit einer Adresse bzw. dem Inhalt einer Historie eines anderen Fensters verknüpft sein. Dies erlaubt es, miteinander verknüpfte Inhalte zu definieren, die gleichzeitig in verschiedenen Fenstern angezeigt werden sollen. Die Auswahl und Betätigung einer solchen verknüpften Adresse aus einer Historie führt also nicht nur zu der Darstellung des entsprechenden Inhalts in dem Fenster der Historie sondern auch zu einem Wechsel der Darstellung in einem anderen Fenster (oder zu der erneuten Öffnung eines anderen Fensters).

Gemäß einem siebten Aspekt der vorliegenden Erfindung können eines, mehrere oder alle Elemente des Softwareobjektes oder eines entsprechenden logischen Objektes gespeichert und/oder zu einem Empfänger übertragen werden (z. B. durch Anhängen der entsprechenden Daten an eine URL oder Versand an einen Server über ein Form-Submit). Mit anderen Worten: es können sämtliche für die Darstellung einer bestimmten Kombination von Fenstern der Browserinstanz und deren Inhalten erforderlichen Informationen gespeichert und/oder übertragen werden. Vorteilhaft ist insbesondere eine Speicherung der Elemente über die Funktion zumindest eines Cookies auf einer lokalen Speichereinrichtung, die dem Browser zugeordnet ist oder zugeordnet werden kann. Insbesondere wenn für mehrere oder alle der Fenster der selben Browserinstanz eine solche Speicherung oder Datenübertragung vorgenommen wird, kann ein bestimmter Zustand der Darstellung später wiederhergestellt werden. Insbesondere kann die Speicherung und/oder Datenübertragung (z. B. manuell) einmalig stattfinden (etwa durch Betätigung einer Schaltfläche) oder während der Steuerung des Browsers wiederholt stattfinden. Auch ist eine automatische, beispielsweise ereignisgesteuerte Speicherung und/oder Datenübertragung möglich.

Bei einem erneuten Besuch der Seite kann der Cookie festgestellt, ausgelesen und die ursprüngliche Fensterkonfiguration und Fensterdarstellung wiederhergestellt werden.

Einem achten Aspekt der vorliegenden Erfindung liegt das Problem zugrunde, dass es möglich sein soll, ein auf dem Darstellungsmittel dargestelltes Darstellungselement (z.

B. durch so genanntes Ziehen, etwa mit einer Maus) über eines der von der Browserinstanz verwalteten Fensters hinweg zu verschieben. Die Schwierigkeit besteht darin, die Koordinaten des Darstellungselements während der Verschiebung zu ermitteln. Insbesondere bei der Verwendung von eingebetteten Frames für die Fenster ist eine solche Ermittlung der Koordinaten unter Umständen nicht möglich.

Als Lösung wird vorgeschlagen, eine speziell für das Ziehen erstellte Kombination zu verwenden. Das Darstellungselement wird mit einem Drag-Element kombiniert, insbesondere einem Bildelement (z. B. in HTML vom Typ <img>). Dieser Lösung liegt der Gedanke zugrunde, dass es bei bestimmten Elementen, insbesondere bei Bildelementen in jedem Fall möglich ist, die Position auch während der Verschiebung (Draggen) festzustellen. Das Drag-Element kann auf dem Darstellungsmittel zumindest in Teilbereichen des Darstellungselements als im Vordergrund liegendes Element verwaltet werden. Dadurch ist ein Anklicken des Drag-Elements möglich.

Für den Standardbrowser Internet Explorer der Microsoft Corporation wird folgende Ausführungsform vorgeschlagen: es wird ein Bildelement als das Drag-Element verwendet, dessen Ziehen per Befehl durch die Steuerungseinrichtung abgebrochen werden kann und auch abgebrochen wird. Ein solcher Befehl wird von dem Internet Explorer akzeptiert. Durch das Abbrechen kann verhindert werden, dass das Darstellungselement aus dem Browserfenster heraus verschoben werden kann und dann weiter sichtbar ist und z. B. auf dem Desktop des Darstellungsmittels erscheint.

Für den Standardbrowser Netscape Navigator wird folgende Ausführungsform vorgeschlagen: es wird ein durchsichtiges Blockelement (z. B. in HTML durch <div> definiert) als das Drag-Element verwendet, das mit dem Bildelement kombiniert wird und das außerdem einen unsichtbaren (d. h. nicht dargestellten oder nicht darstellbaren) Inhalt hat, z. B. in HTML den Befehl <p> oder den Befehl <font>. Diese Ausführungsform wird vorgeschlagen, da es in dem Netscape Navigator nicht möglich ist, das Ziehen per Befehl abzubrechen.

Insbesondere werden vor und/oder nach dem Abbrechen des Bildelement-Ziehvorganges sogenannte Move-Ereignisse ausgewertet, über die die x- und y-Koordinaten der Bewegung eines Zeiger-Hilfsmittels (insbesondere eines Mauszeigers) auf dem Darstellungsmittel ausgewertet werden. Entsprechend dieser Bewegung wird das Darstellungselement in gleicher Weise verschoben.

Bevorzugt wird, dass das Bildelement so verwaltet wird, dass es im Vordergrund des Darstellungsmittels (z. B. Bildschirmes) dargestellt wird. Andererseits wird das Bildelement in diesem Fall tatsächlich gar nicht dargestellt. Anders ausgedrückt: das Bildelement ist transparent. Diese Ausführungsform hat den Vorteil, dass ein Auswählen des Bildelementes und ein anschließendes Ziehen des Bildelementes möglich ist, wobei dann gleichzeitig das eigentliche Darstellungselement verschoben wird.

Eine Ausführungsform wird im Folgenden noch näher anhand von 6 beschrieben:
Die Figur zeigt eine Explosionsdarstellung von drei übereinander liegenden Elementen bei der Darstellung auf dem Darstellungsmittel. Im Hintergrund wird ein Skin-Frame 15 dargestellt, insbesondere mit den anhand von 5 bereits beschriebenen Eigenschaften. Relativ zu dem Skin-Frame 15 liegt ein Element der Drag-Kombination, insbesondere das Bildelement, im Vordergrund. Das Element 20 ist durchsichtig. Der rechteckige Rahmen des Elementes 20 ist nur deswegen in der 6 dargestellt, um den Sachverhalt erklären zu können. Auch der Rahmen ist bei der Darstellung auf dem Darstellungsmittel nicht erkennbar. Im Vordergrund gegenüber sowohl dem Skin-Frame 15 als auch gegenüber dem Element 20 liegt der Inhalt-Frame 16. Es ist aus der 6 erkennbar, dass er die anderen Elemente abdeckt. Bei der tatsächlichen Darstellung auf dem Darstellungsmittel werden der Skin-Frame 15, das Element 20 und der Inhalt-Frame 16 übereinander gelegt, wie es im Ergebnis aus der Darstellung gemäß 5 erkennbar ist. Insbesondere ist das Element 20 hinsichtlich seiner Außenabmessungen genauso groß wie der Skin-Frame 15. Da auch das Element 20 höher ist als der Inhalt-Frame 16, kann mit einem Auswahl-Hilfsmittel (z. B. einer Maus) oberhalb und unterhalb des Inhalt-Frames 16 das dort im Vordergrund liegende Ement 20 ausgewählt werden und beispielsweise verschoben werden. Durch die Kombination mit dem Skin-Frame 15 und – in diesem Fall – auch mit dem Inhalt-Frame 16 (allgemein: mit einer Mehrzahl von Darstellungselementen) werden diese beim Verschieben des Elements 20 mit verschoben. Das Element 20 kann auch Bestandteil des Skin-Frames 15 sein.

Alternativ zu dieser Ausführungsform kann auch eine Mehrzahl der Bildelemente mit dem Darstellungselement kombiniert werden. Im Beispiel der 6 ist dann beispielsweise ein erstes Bildelement etwa so groß wie der verschiebbare Teil der Kopfzeile des Skin-Frames 15 und ist ein zweites Bildelement etwa so groß wie die Fußzeile des Skin-Frames 15.

Einem neunten Aspekt der Erfindung liegt folgendes Problem zugrunde: Es ist bekannt, dass ein Nutzer bzw. Betrachter ein Darstellungselement der Darstellung betätigt (insbesondere eine SUBMIT-Schaltfläche anklickt) und dadurch eine Datenübertragung (z. B. mit Eingabedaten aus einem Formular und/oder aus einem Eingabefeld) und einer anschließenden Bearbeitung (z. B. Auswertung und/oder Aufbereitung) durch eine Bearbeitungseinheit auslöst. Die Bearbeitungseinheit ist insbesondere Teil eines lokalen Servers oder eines Remote Servers. Ein Ergebnis der Bearbeitung soll in einem anderen Frame angezeigt werden.

Benötigt wird eine Möglichkeit, wie bei Betätigung eines solchen Darstellungselementes eine Fenster-Darstellung des Ergebnisses auf dem Darstellungsmittel vorbereitet werden kann, ohne dass ein geeigneter Frame bereits im Moment der Betätigung des Darstellungselementes zur Verfügung steht. Beispielsweise soll es möglich sein, die eingegebenen Daten (unter Umständen in aufbereiteter, ausgewerteter und/oder weiter verarbeiteter Form) in einem (gegenüber dem Eingabefenster) anderen Fenster der Browserinstanz darzustellen.

Zur Lösung wird vorgeschlagen, in die Übertragung der Daten einzugreifen (insbesondere diese zunächst zu blockieren und/oder sie abzubrechen). Zunächst werden die Daten ausgelesen oder in anderer Weise analysiert. Dies kann prinzipiell auch schon laufend während der Eingabe der Daten durch den Nutzer geschehen. Vorzugsweise werden die Daten jedoch nach der Betätigung des Darstellungselementes ausgelesen.

Es wird unter Verwendung von aus einem Fenster der Browserinstanz erhaltenen Informationen eine Adresse generiert, zum Beispiel eine URL (Uniform Resource Locator). Insbesondere ist dieses Fensters dasjenige Fenster, das ein Formular enthält, aus dem die Daten stammen (insbesondere aus einem Formular ausgelesenen) Informationen, Z. B. wird die Adresse aus dem Formular ausgelesen. Auch dies wird unter „generieren" verstanden. Die Adresse wird einem Zielfenster, insbesondere einem anderen Fenster als bei der Dateneingabe (z. B. einem neu zu öffnenden Fenster) der Browserinstanz zugeordnet. In dem Zielfenster soll ein Ergebnis der Dateneingabe bzw. der Übertragung der Daten dargestellt werden. Dabei werden die Daten z. B. zunächst an das der generierten Adresse entsprechende Ziel der Datenübertragung, beispielsweise einen Remote Server, übertragen.

Die Zuordnung der Adresse erfolgt vorzugsweise zu dem eingebetteten Frame für den Inhalt des Zielfensters (Inhalt-Frame, siehe dazu die obige Beschreibung).

Insbesondere werden die zu übertragenden Daten mit der Adresse des Ziels der Datenübertragung kombiniert, z. B. im Form eines einzigen Strings (Kette von Zeichen), der beispielsweise das verwendete Protokoll, die eigentliche Zieladresse und die angehängten Daten aufweist.

Vorzugsweise wird entsprechend der Programmierung der Webseite außerdem aus den ausgelesenen oder analysierten Daten ermittelt, in welchem der Fenster der Browserinstanz das Ergebnis dargestellt werden soll. Es ist auch denkbar, dass das Ergebnis in einer Mehrzahl der Fenster der Browserinstanz dargestellt werden soll. In diesem Fall wird bevorzugt, eine entsprechende Mehrzahl der Adressen zu generieren, jeweils einem der Fenster zuzuordnen und die jeweils erforderlichen Daten mit den Adressen zu kombinieren und abzuschicken.

Der Eingriff, insbesondere das Blockieren und/oder Abbrechen der Datenübertragung, ermöglicht es, eine entsprechende grafische Darstellung in einem der Fenster der Browserinstanz vorzubereiten oder bereits vorzunehmen. Bei der erfindungsgemäßen Anordnung werden die genannten Aktionen durch die Steuerungseinrichtung durchgeführt.

Dem Vorschlag liegt die Erkenntnis zu Grunde, dass das Anzeigen des Ergebnisses der Datenübertragung in einem anderen Fenster dann funktioniert, wenn das entsprechende Zielfenster, insbesondere ein Zielframe, konkret benannt ist und auch schon existiert. Durch die Zuordnung der generierten Adresse zu dem Zielfenster, insbesondere einem beliebigen anderen Frame als dem Frame des Formulars, kann die übliche Funktionalität des Browsers genutzt werden, wonach später von der Bearbeitungseinheit zu empfangende Antwortdaten in das Zielfenster bzw. den Frame geleitet werden bzw. darin dargestellt werden.

Vorzugsweise kann ein Standardverfahren der Layout-Beschreibungssprache verwendet werden, insbesondere die get-Methode (die insbesondere von HTML-kompatiblen Browsern unterstützt wird). Bei der Definition eines Formulars, dessen Daten bei Betätigung durch den Nutzer übertragen werden sollen, braucht der Programmierer lediglich eine für die Steuerungseinrichtung verständliche Anweisung vorzusehen, beispielsweise ein Attribut in bestimmter Weise zu setzen, sodass die Steuerungseinrichtung erkennt, dass z. B. das neue oder andere Fenster innerhalb der selben Browserinstanz für die Daten oder für entsprechende Antwortdaten vorbereitet werden soll. Die Steuerungseinrichtung kann dann die Übertragung und ggf. die Bearbeitung der Daten entsprechend veranlassen.

Insbesondere wird vorgeschlagen, die generierte Adresse mit zumindest einem Teil der Daten zu kombinieren und als Daten-Gruppe (z. B. eine Zeichenkette) zusammen zu übertragen. Beispielsweise kann die Daten-Gruppe über das Datenübertragungsnetz zu einem Empfänger (z. B. dem Remote Server) übertragen werden, der die Daten auswertet und als Antwort Antwortdaten zurück überträgt.

Ein Ausführungsbeispiel wird unter Bezugnahme auf 7 beschrieben:
In einem ersten Schritt S1 löst ein Nutzer die Übertragung der Daten aus. In einem darauf folgenden Schritt S2 werden die übertragenen Daten abgefangen und/oder wird die normale Datenübertragung blockiert. Dies ist durch eine mehrfach unterbrochene Linie und zwei Querstriche dargestellt. Eine in Schritt S5 bei herkömmlicher Ausführung vorgenommene Datenübertragung findet nicht statt.

In Schritt S3 werden vielmehr die Daten ausgelesen und wird eine Adresse (insbesondere eine URL) generiert. Ferner werden die zu übertragenden Daten an die Adresse angehängt. In Schritt S4 wird ermittelt, in welchem Zielfenster ein Ergebnis der Datenübertragung und/oder einer vorzunehmenden Datenverarbeitung dargestellt werden soll. Im hier betrachteten Beispiel wird festgestellt, dass später von einem Server empfangene Antwortdaten in einem neuen Fenster der Browserinstanz dargestellt werden sollen. Weiterhin wird in diesem Schritt die Eröffnung des neuen Fensters vorbereitet (z. B. ein entsprechendes Layout aktiviert und das neue Fenster in die gesamte Verwaltung der Fenster aufgenommen).

In Schritt S7 wird dem Zielfenster die generierte Adresse zugeordnet, sodass nun ein Beladen des Fensters mit Inhalt über diese Adresse möglich ist. Weiterhin wird in diesem Schritt die Adresse mit den angehängten Daten (insbesondere mit den vollständigen Eingabedaten) an einen Server abgesendet.

In einem anderen Fall sollen die Antwortdaten in einem bereits geöffneten Zielfenster dargestellt werden. Die generierte Adresse wird daher diesem Zielfenster zugeordnet.

In Schritt S10 empfängt der Server die Adresse mit den angehängten Daten und generiert die entsprechenden Antwortdaten, beispielsweise unter der Steuerung durch einen Programmcode, der für die Auswertung und Verarbeitung von Formulardaten geeignet ist (z. B. in PHP geschriebener Code). Ferner werden die Antwortdaten generiert und an den Browser zurückgesendet, die dann automatisch, aufgrund der vorher erfolgten Zuordnung der Adresse in einen Inhalt-Frame des richtigen Zielfensters gelangen (Schritt S8). Der Browser und/oder die Steuerungseinrichtung empfängt die Antwortdaten, die dann in dem Zielfenster dargestellt werden. Insbesondere kann die Steuerungseinrichtung die Antwortdaten vor der Darstellung in dem Fenster auswerten und für die gewählte Art der Darstellung aufbereiten.

Der Vollständigkeit halber ist in 7 noch die sonst übliche Behandlung von Eingabedaten dargestellt. In Schritt S5 werden die nicht abgefangenen Daten an den Server abgesendet, der sie in Schritt S10 empfängt und die Antwortdaten absendet. Die Darstellung der Antwortdaten in dem selben Fenster, in dem auch die Eingabedaten eingegeben wurden, erfolgt in Schritt S6.

Einem zehnten Aspekt der Erfindung liegt ein ähnliches Problem wie dem neunten Aspekt der Erfindung zugrunde. Zur Übertragung der Daten (insbesondere um eine beliebig große Menge von Daten übertragen zu können) wird jedoch die post-Methode (die insbesondere ebenfalls von HTML-kompatiblen Browsern unterstützt wird) verwendet. Diese Methode erlaubt es, die Daten in einem eigenen Datenfeld oder Datenblock zu übertragen. Andererseits ist es nicht möglich, die Daten in diesem Datenfeld oder Datenblock zu ändern und auf diese Weise für die Darstellung in einem der Fenster der Browserinstanz vor- bzw. aufzubereiten und damit insbesondere das Darstellungsfenster und/oder dessen Eigenschaften festzulegen.

Zur Lösung wird vorgeschlagen, von einem Server (z. B. von einem über das Datenübertragungsnetz erreichbaren Server, „einem Remote Server") anzufordern, dass ein vordefinierter (z. B. bereits mit einem Namen und/oder einer Identifizierung versehener, d. h. „benannter") Bereich, insbesondere ein vorgefertigter (z. B. bereits benannter) eingebetteter Frame, zurückübertragen wird. Insbesondere wird der vordefinierter Bereich mittels Programmcode nach Empfang der Anforderung auf dem Server generiert (alternativ kann der eingebettete Frame auch schon vorher vorbereitet sein), wird der Name oder eine Bezeichnung des vordefinierten Bereichs vorher von der Steuerungseinrichtung festgelegt und mit angefordert und/oder ist der vordefinierter Bereich Teil einer separaten Codeseite (z. B. HTML-Seite). Als Server in diesem Sinne wird auch eine beispielsweise unter Verwendung von Software realisierte Einrichtung verstanden, die sich lokal am selben Ort wie der Browser befindet oder lediglich über eine einzelne Datenleitung erreichbar ist.

Wenn der vordefinierte Bereich (insbesondere der eingebettete Frame) zurückgeliefert wurde, kann ein Zielfenster zur Öffnung vorbereitet und der Bereich bzw. Frame in die gesamte Verwaltung der Fenster der Browserinstanz integriert werden.

Die weitere Handhabung der Datenübertragung und (ggf.) der Antwortdaten kann entsprechend wie bei der get-Methode erfolgen. Insbesondere werden die Eingabedaten jedoch erst dann per post zu dem Server übertragen, wenn der Server bereits die vollständige Information über den vordefinierten Bereich zurückgeliefert hat.

Auf diese Weise kann der eingebettete Frame bzw., allgemeiner formuliert, der vordefinierte Bereich ohne Änderung in dem Zielfenster der Browserinstanz dargestellt werden. Insbesondere ist es für einen Remote Server möglich, die Anforderung unter Verwendung von Code in einer speziell für Formulardaten geeigneten Sprache wie PHP zu erfüllen. Auch ist es möglich, die eigentlichen darzustellenden Daten nicht oder nur teilweise zu dem Remote Server zu übertragen und lediglich den vordefinierten Bereich (beispielsweise den eingebetteten Frame) anzufordern. Die Daten können dann standardmäßig in diesem vordefinierten Bereich dargestellt werden, der dann als Inhalt-Frame einem Layout-Frame („Skin-Frame") des Fensters zugeordnet werden kann.

Alternativ dazu können mögliche Ziele auch auf dem Server ermittelt werden und die zugehörigen vordefinierten Bereiche bzw. eingebetteten Frames vom Server im vorhinein erzeugt werden.

Diese Variante, der serverseitigen Erzeugung kann auch mit der get-Datenübetragung durchgeführt werden, ist jedoch aufwändig.

Einem elften Aspekt der vorliegenden Erfindung liegt folgendes Problem zugrunde:
Eine herkömmliche Webseite hat für jede Darstellung eine eindeutig zugeordnete URL. Eine Webseite mit Teilinhalten, die in mehreren Fenstern einer Browserinstanz dargestellt werden können, hat dagegen ebenfalls nur eine URL, die jedoch nicht von vornherein einer eindeutig bestimmten Darstellung von Fenstern zugeordnet ist. Es ist nunmehr wünschenswert, beispielsweise durch einen Link, der z. B. per E-Mail verschickt werden kann, auf eine bestimmte Darstellung oder Teildarstellung einer Webseite mit potenziell mehreren Fenstern hinzuweisen.

Zur Lösung wird vorgeschlagen, für die Teilinhalte, die in separaten Fenstern der selben Browserinstanz darstellbar sind, eine gemeinsame URL der Webseite (etwa die URL der Background-HTML-Seite) zu verwenden und für jeden Teilinhalt zusätzliche Information mit dieser URL zu verknüpfen, sodass die gesamte Information ausreichend ist, um den jeweiligen Teilinhalt in einem separaten Fenster darzustellen. Dem Teilinhalt ist somit eine individuelle „erweiterte URL" zugeordnet (Deeplink).

Insbesondere kann die zusätzliche Information an die URL angehängt werden, sodass es möglich ist, die gesamte Information (URL plus zusätzliche Information) als Zeichenkette zu versenden, wie es auch sonst bei einer URL der Fall ist.

Insbesondere werden die mehreren Fenster der Browserinstanz so verwaltet, dass automatisch beim Darstellen eines neuen bzw. veränderten Inhalts in einem der Fenster die entsprechende erweiterte URL aktualisiert (z. B. gespeichert) wird, sodass sie auf den neuen bzw. veränderten Inhalt zeigt. Alternativ werden die Fenster so verwaltet, dass die erweiterte URL erst bei Betätigung einer Schaltfläche generiert wird und/oder dann generiert wird, wenn der Inhalt des jeweiligen Fensters geändert wird. Die sofortige automatische Aktualisierung bei dem Anzeigen eines neuen bzw. veränderten Inhalts hat jedoch den Vorteil, dass sie einfacher ist und dass die Verwaltung der erweiterten URL zumindest teilweise gemeinsam mit anderen Verwaltungsvorgängen, wie z. B. der individuellen Fensterhistorie (siehe oben) und/oder der Sicherung der gesamten Konfiguration aller Fenster der Browserinstanz vorgenommen werden kann.

Vorzugsweise ist in der zusätzlichen Information die Darstellung des Fensters betreffende Layout-Information und/oder Formatierungsinformation enthalten, z. B. betreffend des jeweiligen Fenster-Layouts und/oder der Fenstergröße. Weitere Beispiele für derartige Layout-Information und für die Fenster-Formatierung wurden bereits anderen Orts in dieser Beschreibung gegeben. Im Ergebnis kann durch eine Ausführung eines entsprechenden Links der jeweilige Teilinhalt in einer definierten Fensterdarstellung reproduziert werden.

Einem zwölften Aspekt der Erfindung liegt ein ähnliches Problem wie dem zehnten Aspekt der Erfindung zugrunde, jedoch betrifft der Aspekt die Sicherung der gesamten Konfiguration der mehreren Fenster zu einem bestimmten Zeitpunkt oder in einem bestimmten Zustand. Mit anderen Worten: es soll möglich sein, eine bestimmte Mehrfenster-Darstellung mit denselben Inhalten der Browserinstanz zu reproduzieren.

Zur Lösung wird vorgeschlagen, nicht nur zusätzliche Information jeweils für einen der Teilinhalte bzw. Fensterinhalte mit der URL zu verknüpfen, sondern die entsprechende zusätzliche Information für jeden der Teilinhalte bzw. Fensterinhalte. Im übrigen sind die selben Ausgestaltungen und Weiterbildungen möglich, die bereits im Rahmen des elften Aspekts der Erfindung beschrieben wurden, z. B. das Erzeugen einer einzigen Zeichenkette mit der URL und sämtlicher zusätzlicher Information. Im Ergebnis ist es möglich, die gesamte Konfiguration z. B. durch Anklicken einer entsprechenden Schaltfläche und durch Ziehen auf den Desktop zu sichern und/oder die gesamte Konfiguration z. B. als erweiterten Link zu versenden (etwa durch einen Klick mit der rechten Maustaste auf die Schaltfläche und durch Auswählen eines dann erscheinenden Feldes zum Versenden des erweiterten Links).

Wie auch bei dem elften Aspekt kann die zusätzliche Information laufend automatisch aktualisiert werden oder erst bei Bedarf, etwa beim Betätigen der genannten Schaltfläche.

Einem dreizehnten Aspekt der Erfindung liegt folgendes Problem zugrunde: HTML-Seiten passen sich i. d. R. innerhalb gewisser Grenzen an die aktuelle Größe eines Browserfensters des Benutzers an, damit wichtige Inhalte bei der Darstellung sichtbar sind und nicht nur über die Betätigung von Scroll-Einrichtungen dargestellt werden können. Werden gleichzeitig mehrere Fenster der Browserinstanz dargestellt, lässt sich nicht mehr auf die gleiche Weise sicherstellen, dass alle besonders wichtigen Inhalte sichtbar sind.

Um eine übersichtliche Darstellung zu erzielen, wird vorgeschlagen, dass die Größe einzelner oder aller Fenster der Browserinstanz sich abhängig und relativ zu der Größe eines Browserfensters, innerhalb dem sie dargestellt werden, ändert bzw. einstellt. Auf diese Weise sind unabhängig von der Größe des Browserfensters immer alle gewünschten (der Programmierung und/oder den Wünschen des Nutzers entsprechenden) Fenster der Browserinstanz dargestellt.

Insbesondere wird vorgeschlagen, dass bei einem Start der Darstellung (etwa beim Laden der Webseite) durch die Steuerungseinrichtung ein üblicherweise gesetztes Resize-Ereignis ausgewertet wird. Beim Auswerten des Resize-Ereignisses werden dann die Fenster ggf. neu positioniert und/oder in ihrer Größe angepasst (resized).

Für jedes Fenster der Browserinstanz kann insbesondere vom Programmierer und/oder vom Benutzer einer Webseite definiert werden, ob das Fenster sich relativ zu der Größe des Browserfensters ändern soll oder nicht.

Insbesondere bleibt bei einem Fenster mit relativer Größenänderung sowohl die Breite als auch die Höhe des Fensters im selben Verhältnis zur Breite bzw. Höhe des Browserfensters. Hierzu können insbesondere vom Programmierer der Webseite jeweils für die Höhe und die Breite des Verhältnis oder ein entsprechender Wert und eine relative Position des Fensters zu dem Browserfenster angegeben werden.

In einer besonders bevorzugten Ausprägung dieses Aspektes werden nur bestimmte Koordinaten- oder Größen-Änderungen durchgeführt, etwa nur die Breite oder die Höhe eines Fensters und nicht die Koordinaten des Fensters angepasst.

Einem vierzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde: Bei einer Ausgestaltung der Erfindung ist es möglich, die Position der einzelnen Fenster der Browserinstanz auf dem Darstellungsmittel beispielsweise durch Ziehen mit einem Zeigerhilfsmittel zu verändern. Dabei kann es vorkommen, dass ein einzelnes Fenster aus dem Darstellungsbereich der Browserinstanz hinaus verschoben wird, insbesondere wenn eine Zeigerposition des Zeigerhilfsmittels auf dem Darstellungsmittel (z. B. Position des Mauszeigers) nach außerhalb des Browserfensters verlegt wird. Unter Umständen ist es dann nicht mehr möglich, bei der gegenwärtigen Größe des Browserfensters das (teilweise oder ganz) außerhalb des Browserfensters liegende Fenster wieder zurück zu bewegen.

Es wird vorgeschlagen, ein Lösen eines auf dem Darstellungsmittel verschobenen Elements, insbesondere eines der Fenster, von dem Zeigerhilfsmittel zu blockieren, wenn eine Zeigerposition aus einem definierten Bereich innerhalb des Browserfensters bewegt wird. Der definierte Bereich kann auch mit dem Browserfenster übereinstimmen. Er muss aber nicht vollständig auf dem Darstellungsmittel dargestellt sein, da z. B. auch ein Teil des Browserfensters außerhalb des Darstellungsbereichs des Darstellungsmittels liegen kann.

Alternativ oder zusätzlich zu der Zeigerposition kann überwacht werden, ob zumindest noch ein Teil des Fensters oder ein mit einer bestimmten Eigenschaft ausgestatteter Teil des Fensters innerhalb des definierten Bereichs des Browserfensters liegt. Wenn dies nicht der Fall ist und insbesondere solange dies nicht der Fall ist, wird das Lösen von dem Zeigerhilfsmittel blockiert. Unter dem mit einer bestimmten Eigenschaft ausgestatteten Teil des Fensters wird ein solcher Teil verstanden, der für ein Verschieben des Fensters geeignet ist, wenn mit Hilfe des Zeigerhilfsmittels darauf gezeigt wird. Es ist nämlich z. B. möglich, dass ein Verschieben des Fensters nur funktioniert, wenn mit dem Zeigerhilfsmittel auf bestimmte Teile wie z. B. eine Kopfzeile gezeigt wird und dann gezogen wird.

Das Blockieren hat die Folge, dass das gezogene Element nicht verloren geht und automatisch wieder in den definierten Bereich gelangt, wenn das Zeigerhilfsmittel entsprechend bewegt wird.

Insbesondere kann durch ein Loslassen einer gedrückt gehaltenen Maustaste, wodurch normalerweise das Ziehen beendet wird, das gezogene Element nicht mehr vom Mauszeiger gelöst werden, wenn der definierte Bereich verlassen wurde.

Einem fünfzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde: Bei einer Ausgestaltung der Erfindung ist es möglich, die Größe der einzelnen Fenster der Browserinstanz auf dem Darstellungsmittel zu verändern. Hierzu kann beispielsweise das Fenster entsprechend einer Bewegung eines Zeigerhilfsmittels vergrößert bzw. verkleinert werden und kann das Fenster samt Inhalt permanent während der Bewegung entsprechend vergrößert bzw. verkleinert dargestellt werden. Bei der Bewegung zeigt das Zeigerhilfsmittel zum Beispiel zunächst auf einen bestimmten Bereich des Fensters und wird dann wie beim Ziehen bewegt (z. B. bei gedrückt gehaltener linker Maustaste). Ein permanentes Darstellen des vergrößerten oder verkleinerten Fensters samt Inhalt ist jedoch sehr rechenaufwendig.

Es wird vorgeschlagen, bei der Bewegung des Zeigerhilfsmittels lediglich Linien auf dem Darstellungsmittel darzustellen, die Ränder des entsprechend vergrößerten oder verkleinerten Fensters markieren. Wenn der Vergrößerungs- bzw. Verkleinerungsvorgang des Fensters beendet wird, wird das verkleinerte oder vergrößerte Fenster mit samt Inhalt dargestellt, wobei das Fenster dann die Größe entsprechend den zuletzt dargestellten Rändern hat bzw. dann die Größe entsprechend der Position des Zeigerhilfsmittels am Ende des Vorganges hat.

Um die insbesondere vier Ränder entsprechend einem Rechteck darzustellen, wird vorgeschlagen, jeden der dargestellten Ränder bei der Steuerung durch einen eingebetteten Frame (in HTML z. B. das Element <iframe>) zu verwalten. Die Verwaltung wird insbesondere durch eine Ausgestaltung der oben beschriebenen Steuerungseinrichtung durchgeführt. Dabei hat der eingebetteten Frame im allgemeinen eine sehr viel kleinere Breite als Länge, sodass ein linienartiges Aussehen eines Randes erzielt wird. Insbesondere ist die Breite (z. B. ein oder zwei Pixel) während des gesamten Vergrößerungs- beziehungsweise Verkleinerungsvorganges konstant, während sich die Länge des jeweiligen Randes entsprechend der Bewegung des Zeigerhilfsmittels ändert. Eingebettete Frames haben die bereits schon erwähnte Eigenschaft, generell im Vordergrund dargestellt werden zu können. Sie werden daher vorzugsweise während des Vorganges dauerhaft im Vordergrund dargestellt und es kann nicht passieren, dass ein anderes Darstellungselement unbeabsichtigt im Vordergrund dargestellt wird, sodass beispielsweise eine der Randlinien unterbrochen wäre.

Es ist nicht unbedingt erforderlich, immer alle vier Ränder des Fensters während des Vorganges unter Verwendung eines solchen eingebetteten Frames darzustellen. Vielmehr kann es in bestimmten Situationen (z. B. wenn lediglich die Breite oder Höhe des Fensters verändert wird) ausreichen, das Fenster samt Inhalt wie bisher darzustellen und zusätzlich z. B. drei der vier Ränder des potenziell vergrößerten oder verkleinerten Fensters. Es wird jedoch bevorzugt, in allen Situationen alle vier Ränder des potenziell vergrößerten oder verkleinerten Fensters darzustellen, sodass ein rechteckiger Rahmen während des Vorganges sichtbar ist.

Eine Ausführungsform des fünfzehnten Aspekts der Erfindung wird nun anhand von 8 illustriert: Ein Browserfenster 30 enthält ein Fenster 31, das während des Vorganges seiner Vergrößerung samt Inhalt in der ursprünglichen Größe dargestellt bleibt. Während des Vorganges werden jedoch vier, ein Rechteck bildende Ränder 23a, 23b, 23c, 23d dargestellt. Diese Ränder 23 stellen die momentane Größe dar, die das Fenster 31 erhalten würde, wenn der Vorgang der Vergrößerung in diesem Moment beendet würde (beispielsweise durch Loslassen einer Maustaste, die während des Vorganges gedrückt gehalten wurde).

Einem sechzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde: Wie bereits erwähnt kann ein Layout eines Fensters unter Verwendung einer Mehrzahl von Bildelementen mit entsprechenden kombinierten Funktionen im vorhinein erstellt werden. Beispielsweise weist ein Fenster eine Schaltfläche an der rechten oberen Ecke auf, bei deren Betätigung (z. B. Mausklick) das Fenster geschlossen wird. Auch kann ein Fenster, wie ebenfalls bereits erwähnt, eine Kopfzeile, eine Fußzeile und/oder weitere Elemente (insbesondere Schaltflächen für die Historie oder ein erneutes Laden, d. h. einen Reload) haben. Wie weiterhin bereits erwähnt kann das Layout bei der Steuerung der Darstellung durch zumindest einen eingebetteten Frame (in HTML z. B. das Element <iframe>) und/oder ein Blockelement (in HTML z. B. das Element <div>) verwaltet werden.

Werden aber beispielsweise erst beim Öffnen eines neuen Fensters während der Laufzeit all diese Funktionen mit den entsprechenden Elementen verknüpft und die Elemente erstmals dargestellt, ist der erforderliche Rechenaufwand hoch und kann sich daher die Darstellung des Fensters samt Inhalt merklich verzögern, zu Fehlern führen oder gar ganz abbrechen.

Zur Lösung wird vorgeschlagen, bei der Definition eines Fenster-Layouts zumindest eine Codeseite (insbesondere eine HTML-Webseite) speziell für das Layout zu definieren, die sämtliche Elemente und die zugehörigen Funktionen enthält. Die spezielle Codeseite ist dann bereits funktionsfähig und muss lediglich noch steuerungstechnisch mit dem darzustellenden Inhalt verknüpft werden. Unter einer Codeseite wird eine entsprechende Gruppe von Codeelementen verstanden, die einen für den Browser bereits verständlichen Code bilden. Sie kann insbesondere in der Form einer vollständigen HTML-Seite vorliegen, die jedoch noch keinen eigentlichen Inhalt hat. Z. B. können die Codeelemente der Seite bereits so ausgestaltet sein, dass sie die im Zusammenhang mit den anderen Aspekten der Erfindung beschriebenen Funktionen ermöglichen, etwa auf den jeweiligen Browser angepasst das Ziehen des Fensters über andere Elemente hinweg.

Ein siebzehnter Aspekt der Erfindung ist insofern mit dem sechzehnten Aspekt verbunden, als er ebenfalls die Definition des Layout von Fenstern der Browserinstanz betrifft und prinzipiell von der Möglichkeit ausgeht, das Layout zumindest teilweise in einer Codeseite zu definieren.

Eine derartige Codeseite kann durch eine Vielzahl von Codeelementen mit entsprechenden Funktionen komplex werden, sodass Änderungen bei der Definition des Fenster-Layouts aufwändig werden.

Zur Lösung wird vorgeschlagen, zumindest Teile der Definition für eine Mehrzahl der Fenster-Layouts zentral an einer gemeinsamen Stelle vorzunehmen. Insbesondere wird vorgeschlagen, durch Verwendung und/oder Erweiterung der CSS (Common Style Sheet)-Syntax in entsprechender Weise gemeinsame Layout-Definitionen vorzunehmen und in einer oder mehreren entsprechenden Codeseiten abzulegen.

Bei der Verwendung (insbesondere wenn während der Laufzeit des Browsers ein neues Fenster dargestellt werden soll) von solchen in zumindest einer gemeinsamen Codeseite abgelegten Definitionselementen kann beispielsweise folgendermaßen vorgegangen werden:
Zunächst wird der gemeinsame Block von Codeelementen durch die Steuerungseinrichtung geladen. Dann wird der gemeinsame Block analysiert (parsen) und die Definitionen entsprechend zerlegt, um sie verwenden zu können. Anschließend findet eine Zuordnung der zerlegten Definitionen zu den jeweiligen Codeelementen der Codeseite statt. Schließlich werden Eigenschaften der Codeelemente entsprechend der zugeordneten Definitionsteile gesetzt.

Einem achtzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde: Wie bereits oben beschrieben können der Inhalt eines Fensters und das Layout eines Fensters, inkl. einem einen Titel des Inhalts wiedergebenden Titelfeld (z. B. Titelleiste) getrennt verwaltet werden. Somit werden auch der Inhalt des Fensters und der darzustellende Titel des Inhalts getrennt verwaltet. Beim Öffnen und Beladen eines neuen Fensters oder beim Beladen eines vorhandenen Fensters mit neuem Inhalt ist das Titelfeld richtig, dem anzuzeigenden Inhalt entsprechend zu setzen.

Zur Lösung wird vorgeschlagen, beim Laden eines Inhalts, der in einem Fenster der Browserinstanz dargestellt werden soll, den Inhalt selbst auszuwerten und daraus den Titel festzustellen. Der Titel kann dann der zugehörigen separaten Verwaltungseinheit, insbesondere einem eingebetteten Frame, zugeleitet und/oder zugeordnet werden. Insbesondere wird im Fall von HTML vorgeschlagen, einen <title>-Tag des Inhalts (der bei Standard-HTML lediglich Text enthalten darf) auszuwerten. Weiterhin bestehen jedoch zusätzlich oder alternativ nahezu unbegrenzte Möglichkeiten, durch die Auswertung des Inhalts das Layout des Fensters zu beeinflussen. Insbesondere kann der Inhalt vorher definierte und daher vom Programmierer verwendbare Information enthalten, die z. B. eine bestimmte farbliche Gestaltung und/oder einen anderen visuellen Effekt der Darstellung (wie z. B. ein Aufleuchten von Teilen des Fensters oder des Layouts) bewirkt. Weiterhin ist es möglich, durch die Auswertung des Inhalts beispielsweise zu ermitteln, dass während der Darstellung des Fensters eine Bildsequenz dargestellt werden soll, etwa im Fensterrahmen ein Videoclip und/oder eine Animation ablaufen soll.

Insbesondere kann, wie oben bereits erwähnt, der <title>-Tag des Inhalts verwendet und analysiert werden. Auf Grund der erfindungsgemäßen Art der Fensterverwaltung braucht der <title>-Tag auch nicht auf bloßen Text beschränkt zu bleiben. Vielmehr kann der oben beschriebene Codeblock bzw. das oben beschriebene Programm zur Steuerung der Fensterdarstellung (z. B. unter Verwendung von Java Script erzeugter Codeblock) den <title>-Tag auch in anderer Weise als der Browser interpretieren. Entsprechendes gilt für jedes andere Feld oder Element des in dem Fenster darzustellenden Inhalts.

Der Ablauf der Auswertung des Inhalts und der Steuerung der Darstellung ist beispielsweise wie folgt:

  • – laden des Inhalts,
  • – analysieren und erkennen der Steuerungsinformation,
  • – durchführen der Darstellung des Fensterinhalts und des Layouts entsprechend der Steuerungsinformation.