Title:
Auf Zeichen beruhendes elektronisches System und Verfahren für Enthaltensein
Kind Code:
T5


Abstract:

Ein auf Zeichen beruhendes System für Enthaltensein kann bei einem Aspekt eine grafische Benutzeroberfläche enthalten, die dazu geeignet ist, eine Anzeige eines Zeichens als eine Containermarkierung zu empfangen, der Containermarkierung ein oder mehrere Containerattribute zuzuordnen und das Containerzeichen und die dem Containerzeichen zugeordneten Containerattribute zu speichern.




Inventors:
Bellamy, Rachel K.E. (N.Y., Hawthorne, US)
Martino, Jacquelyn A. (N.Y., Hawthorne, US)
Matchen, Paul M. (N.Y., Hawthorne, US)
Ossher, Harold L. (N.Y., Hawthorne, US)
Richards, John T. (N.Y., Hawthorne, US)
Swart, Calvin B. (N.Y., Hawthorne, US)
Desmond, Michael (N.Y., Hawthorne, US)
Application Number:
DE112012003949T
Publication Date:
07/17/2014
Filing Date:
05/09/2012
Assignee:
International Business Machines Corporation (N.Y., Armonk, US)
International Classes:



Attorney, Agent or Firm:
Richardt Patentanwälte PartG mbB, 65185, Wiesbaden, DE
Claims:
1. Grafisches Benutzerschnittstellensystem, das aufweist:
einen Prozessor und
ein grafisches Benutzerschnittstellenmodul, das dafür geeignet ist, auf dem Prozessor ausgeführt zu werden, und das außerdem dafür geeignet ist, einen Benutzer in die Lage zu versetzen, eine oder mehrere Containermarkierungen anzugeben, wobei die Containermarkierungen Attribute eines elektronischen Containers aufweisen.

2. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen dauerhaft die Attribute eines elektronischen Containers beibehalten, beim Auftreten von einem aus oder von Kombinationen von: einem Erstellen von einem oder mehreren anderen Containern, einem Löschen von einem oder mehreren anderen Containern, einem Hinzufügen von einem oder mehreren Objekten zu einer oder mehreren der Containermarkierungen, einem Löschen von einem oder mehreren Objekten aus einer oder mehreren der Containermarkierungen, einem Kopieren von einem oder mehreren Objekten in einer oder mehreren der Containermarkierungen, einem Abwandeln von einem oder mehreren Objekten in einer oder mehreren der Containermarkierungen.

3. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen einen oder mehrere untergeordnete Container enthalten.

4. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen in einem oder mehreren übergeordneten Containern enthalten sind.

5. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen eine geschlossene Abbildung, eine offene Abbildung oder eine Kombination davon sind.

6. System nach Anspruch 5, wobei in Bezug auf ein oder mehrere Objekte festgestellt wird, dass sie in einer oder mehreren der Containermarkierungen enthalten sind:
wenn das oder die Objekte sich in einer vorgegebenen räumlichen Nähe zu einer oder mehreren der Containermarkierungen befinden;
auf der Grundlage einer Stärke einer Anziehung, die einer oder mehreren der Containermarkierungen zugeordnet wird, oder
einer von einem Benutzer ausdrücklich definierten Abstandsmetrik.

7. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen ein oder mehrere Containerattribute aufweisen.

8. System nach Anspruch 7, wobei zu den Containerattributen eine Farbe, eine Menge von Bezeichnungen, ein Dateiname oder Kombinationen davon zählen.

9. System nach Anspruch 1, wobei zwei Containermarkierungen ein oder mehrere gleiche Objekte enthalten.

10. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen durch eines oder mehrere aus: eine Linie, mehr als eine sich schneidende Linie, ein Kasten, ein Kreis, eine beliebige Form, eine Glyphe, ein beliebiges Bild oder Kombinationen davon definiert sind.

11. System nach Anspruch 1, wobei eine oder mehrere der Containermarkierungen durch eine oder mehrere Benutzeraktionen festgelegt werden.

12. System nach Anspruch 11, wobei zu den Benutzeraktionen eines oder mehrere zählen von: einem oder mehreren Tastaturanschlägen, einer oder mehreren Mausbewegungen, einer Änderungsrate der Bewegung, einer Beschleunigung der Bewegung, einer Geste im 3-D-Raum oder Kombinationen davon.

13. Verfahren zum Bereitstellen eines auf Zeichen beruhenden Systems des Enthaltenseins, wobei das Verfahren aufweist:
Empfangen einer Anzeige eines Zeichens als eine Containermarkierung;
Zuordnen eines oder mehrerer Containerattribute zu der Containermarkierung mithilfe eines Prozessors und
Speichern des Containerzeichens und der dem Containerzeichen zugeordneten Containerattribute.

14. Verfahren nach Anspruch 13, wobei Zeichenmerkmale zum Folgern von Art oder Eigenschaften des Enthaltenseins verwendet werden.

15. Verfahren nach Anspruch 13, wobei zu den Attributen des Containerzeichens eine festgelegte Größe, die die maximale Anzahl von Objekten beinhaltet, die das Containerzeichen enthalten kann, eine Menge von Tags, die Semantik spezifizieren, eine numerische Kennung, eine Zuordnung zu einem oder mehreren anderen Containern, Form, Ausrichtung der Form, Breite der Form, Größe der Form oder Kombinationen davon zählen.

16. Verfahren nach Anspruch 13, wobei das Zeichen auf eine interaktive Oberfläche gezeichnet wird, das Zeichen auf ein statisches Medium gezeichnet und in ein elektronisches System eingelesen wird, das Zeichen durch eine Analyse nicht gezeichneter Elemente abgeleitet wird, das Zeichen ein Bereich eines anderen Zeichens ist, das Zeichen eine 2-dimensionale Geste ohne sichtbare Dauer ist, das Zeichen eine 3-dimensionale Geste ohne sichtbare Dauer ist, das Zeichen ein Punkt oder ein Bereich in einer, zwei oder drei oder mehr Dimensionen ist, das Zeichen eine Gesamtheit von mehreren Zeichen ist oder das Zeichen eine Kopie eines anderen Zeichens ist oder Kombinationen davon.

17. Verfahren nach Anspruch 16, wobei die Containermarkierung nach der Fertigstellung des Zeichens sichtbar gemacht wird, auch wenn das Zeichen selbst keine sichtbare Spur hinterlässt.

18. Verfahren nach Anspruch 13, wobei die Containermarkierung enthält:
einen Zeiger oder Zeiger auf ein elektronisches Dokument oder elektronische Dokumente;
eine Kennung oder Kennungen eines physischen Dokuments oder physischer Dokumente;
eine Kennung oder Kennungen eines elektronischen Dokuments oder elektronischer Dokumente, die in einem System gespeichert sind, auf das von dem Zeichen aus nicht direkt zugegriffen werden kann;
ein anderes Zeichen oder andere Zeichen;
eine verschachtelte Zeichenmenge beliebiger Tiefe oder
Kombinationen davon.

19. Verfahren nach Anspruch 13, wobei eine Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität von einem Benutzer mithilfe interaktiver Benutzeraktionen direkt bezeichnet wird; mithilfe visueller Analyse abgeleitet wird, bei der erkannt wird, welche Zeichen Container und welche Entitäten in ihnen enthalten sind; mithilfe einer Regel abgeleitet wird, die festlegt, dass elektronische Dokumente oder Zeichen, die einer oder mehreren Regeldefinitionen entsprechen, automatisch enthalten sind, wenn sie erstellt oder verfügbar werden; mithilfe einer Abfrage abgeleitet wird, die eine Menge vorhandener elektronischer Dokumente oder Zeichen für Enthaltensein auswählt; mithilfe einer Textzeichenfolge abgeleitet wird, die anzeigt, dass Dokumente oder andere dieser Textzeichenfolge zugeordnete Zeichen enthalten sein sollen.

20. Verfahren nach Anspruch 13, wobei festgelegt ist, dass das Zeichen ein Bereich ist, wobei der Bereich ist: bezeichnet durch eine ausdrückliche Auswahl eines Abschnitts des Zeichens durch einen Benutzer; algorithmisch abgeleitet; algorithmisch abgeleitet durch eine Analyse von Bereichen, die durch Zeichen angedeutet werden, die andere Zeichen überlappen; algorithmisch abgeleitet durch eine Analyse von Bereichen, die durch Zeichen angedeutet werden, die sich räumlich in der Nähe anderer Zeichen befinden, oder algorithmisch abgeleitet durch eine Analyse von Bereichen, die durch Zeichen angedeutet werden, die gemeinsame Merkmale mit anderen Zeichen aufweisen.

21. Verfahren nach Anspruch 13, wobei festgelegt ist, dass das Zeichen ein Bereich ist, der algorithmisch durch eine Analyse von Bereichen abgeleitet wird, die durch Zeichen angedeutet werden, die gemeinsame Merkmale mit anderen Zeichen aufweisen, wobei die mit anderen Zeichen gemeinsamen Merkmale auf der Grundlage einer Ähnlichkeit einer Farbe, einer Ähnlichkeit einer Zeichenform, einer Ähnlichkeit einer Zeichenausrichtung, einer Ähnlichkeit einer Zeichengröße, einer Ähnlichkeit einer Zeichenbreite, einer Ähnlichkeit eines Zeichenstils oder Kombinationen davon festgestellt werden.

22. Computerlesbares Speichermedium, auf dem ein Programm von durch eine Maschine ausführbaren Anweisungen gespeichert ist, um ein Verfahren zum Bereitstellen eines auf Zeichen beruhenden Systems für Enthaltensein auszuführen, wobei das Verfahren aufweist:
Empfangen einer Anzeige eines Zeichens als eine Containermarkierung;
Zuordnen eines oder mehrerer Containerattribute zu der Containermarkierung mithilfe eines Prozessors und
Speichern des Containerzeichens und der dem Containerzeichen zugeordneten Containerattribute.

23. Computerlesbares Speichermedium nach Anspruch 22, wobei Zeichenmerkmale zum Folgern von Art oder Eigenschaften des Enthaltenseins verwendet werden.

24. Computerlesbares Speichermedium nach Anspruch 22, wobei zu den Attributen des Containerzeichens eine festgelegte Größe, die eine maximale Anzahl von Objekten beinhaltet, die das Containerzeichen enthalten kann, eine Menge von Tags, die Semantik spezifizieren, eine numerische Kennung, eine Zuordnung zu einem oder mehreren anderen Containern, Form, Ausrichtung der Form, Breite der Form, Größe der Form oder Kombinationen davon zählen.

25. Computerlesbares Speichermedium nach Anspruch 22, wobei das Zeichen von einem Benutzer gezeichnet oder mittels einer Geste dargestellt wird.

Description:
GEBIET

Die vorliegende Erfindung betrifft allgemein Computer und Computeranwendungen, grafische Benutzeroberflächen und insbesondere ein auf Zeichen beruhendes elektronisches System für Enthaltensein.

HINTERGRUND

Nutzer von Computersystemen und Computeranwendungen nutzen routinemäßig hierarchische Speichersysteme wie beispielsweise verschachtelte „Ordner” zum Verwalten elektronischer Dokumente. Ein „Dokument” kann sich auf Entitäten beziehen wie zum Beispiel die Ausgabe von Textverarbeitungs-, Tabellen- und Zeichenprogrammen, als elektronische Mail gesendete oder empfangene Notizen, Sofortnachricht-Unterhaltungen und andere. Das Verwenden von „Tags” als ein Mittel zum flexibleren Bezeichnen von Beziehungen zwischen einem Dokument und einer im Allgemeinen nicht hierarchischen Menge von Kategorien ist ebenfalls üblich. Über eine direkte Angabe des Enthaltenseins (containment) hinaus ermöglicht der aktuelle Stand der Technik außerdem das spätere Finden von Dokumenten durch Suchen nach Tags, freien Textzeichenfolgen oder anderen Attributen wie beispielsweise einer vorherrschenden Farbe oder Ausrichtung einer Hauptachse in einem Bildsuchsystem (image retrieval system).

Alle derartigen Schemata sind zwar nützlich, schränken aber ein, wie ein Benutzer Container erstellen kann und wie diese möglicherweise aussehen. Beispielsweise können mittels einer Menüauswahl oder eines Tastaturkürzels Dateiordner auf einem elektronischen „Desktop” oder in einem anderen Ordner erstellt werden. Dateien und Ordner können in vorhandene Ordner gezogen und dort abgelegt werden, um ein Enthaltensein zu bezeichnen. Dokumente können mithilfe aktiver Dokumententechnologie (siehe z. B. http://msdn dot Microsoft dot com /en-us / library / 6bzz39ft%28v=vs.71%29.aspx) in anderen Dokumenten eingebettet sein. Das Enthaltensein von Schnittstellen-Widgets in einer Benutzerschnittstellen-Skizze kann zum Zweck des Erstellens einer Benutzerschnittstelle (user interface, UI) automatisch festgestellt und in einen Enthaltenseinsbaum (containment tree) übersetzt werden (siehe http://www dot wipo dot int / pctdb / en / wo.jsp?IA=IB2004052069&DISPLAY=DESC). Obwohl durch die vorhandene Visualisierung von Enthaltensein verschiedene zweidimensionale und dreidimensionale Baumansichten zur Verfügung gestellt werden können, ist das Erstellen von Containern bei diesen Systemen festgelegt. Auch wenn möglicherweise einige Ordnerstile zur Verfügung gestellt werden, z. B. Auswählen einer Ordnerfarbe, um einen Grad der Wichtigkeit anzuzeigen, bieten die aktuellen Systeme keinen Weg für eine vollständig andere visuelle Darstellung des Ordners/Containers selbst. Beispielsweise ermöglicht kein aktuelles System dem Benutzer ein flexibles Erstellen von Containern lediglich durch Zeichnen von einem oder mehreren beliebigen Zeichen auf eine interaktive Oberfläche.

KURZDARSTELLUNG

Es können ein grafisches Benutzeroberflächensystem und -verfahren für ein auf Zeichen beruhendes elektronisches Enthaltensein bereitgestellt werden. Das System kann bei einem Aspekt ein grafisches Benutzeroberflächenmodul enthalten, das dafür geeignet ist, einen Benutzer dazu in die Lage zu versetzen, eine oder mehrere Containermarkierungen anzugeben, wobei die Containermarkierungen Attribute eines elektronischen Containers aufweisen.

Ein Verfahren zum Bereitstellen eines auf Zeichen beruhenden Systems für Enthaltensein kann bei einem Aspekt ein Empfangen einer Anzeige eines Zeichens als eine Containermarkierung beinhalten. Das Verfahren kann außerdem ein Zuordnen eines oder mehrerer Containerattribute zu der Containermarkierung mithilfe eines Prozessors beinhalten. Das Verfahren kann außerdem ein Speichern des Containerzeichens und der dem Containerzeichen zugeordneten Containerattribute beinhalten.

Auch ein computerlesbares Speichermedium, auf dem ein Programm von durch eine Maschine ausführbaren Anweisungen gespeichert ist, um eines oder mehrere der hier beschriebenen Verfahren auszuführen, kann bereitgestellt werden.

Weitere Merkmale wie auch die Struktur und der Betrieb verschiedener Ausführungsformen werden im Folgenden mit Bezug auf die begleitenden Zeichnungen ausführlich beschrieben. In den Zeichnungen kennzeichnen gleiche Bezugszeichen identische oder der Funktion nach ähnliche Elemente.

KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN

1 zeigt Beispiele für Zeichen, die bei einer Ausführungsform der vorliegenden Offenbarung skizziert und als elektronische Container definiert werden können.

2 zeigt zwei einander schneidende Linien, die bei einer Ausführungsform der vorliegenden Offenbarung die vier Bereiche als Beispiele für Zeichen bilden.

3 veranschaulicht fünf Bereiche als Container mit darin enthaltenen Elementen.

4 veranschaulicht ein Beispiel für Containermarkierungen, darin enthaltene Objekte und ein Verschieben eines Containers.

5 zeigt ein Beispiel für ein Definieren einer Containermarkierung, die Objekte enthält.

6 zeigt ein weiteres Beispiel für ein Definieren einer Containermarkierung, die Objekte enthält.

7 zeigt ein Beispiel für einander überlappende Ellipsen als Containermarkierungen.

8 zeigt ein weiteres Beispiel für Containermarkierungen, die ein gemeinsames Objekt enthalten.

9 ist ein Ablaufplan, der ein Verfahren zum Bereitstellen eines auf Zeichen beruhenden elektronischen Systems für Enthaltensein bei einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.

10 veranschaulicht eine Schemazeichnung eines beispielhaften Computer- oder Verarbeitungssystems, mit dessen Hilfe bei einer Ausführungsform der vorliegenden Offenbarung das auf Zeichen beruhende elektronische System für Enthaltensein realisiert werden kann.

AUSFÜHRLICHE BESCHREIBUNG

Ein auf Zeichen beruhendes elektronisches System und Verfahren für Enthaltensein und können bereitgestellt werden. Ein solches System kann den Benutzern große Flexibilität bieten. Wenn der Benutzer zum Beispiel briefumschlagartige Container erstellen möchte, kann der Benutzer einen aufzeichnen und ihn (und/oder Kopien davon) verwenden, um andere Elemente bereitzuhalten, darunter Zeiger auf Dokumente oder andere Zeichen, die auch Container sein können. Wenn der Benutzer beispielsweise einen geldbörsenartigen Container wünscht, um ein für sie/ihn bedeutungsvolles Objekt darzustellen (wo sie/er zum Beispiel elektronische Gutscheine zur Verwendung bei einem späteren Einkauf aufbewahrt), kann der Benutzer eine Geldbörse als ein Symbol oder Zeichen skizzieren. Jedes Zeichen oder jeder erkennbare Bereich in einem Zeichen oder einer Gesamtheit von Zeichen (bei dem/der das Erkennen entweder algorithmisch oder auf der Grundlage einer Auswahl eines Bereichs eines existierenden Zeichens oder einer Gesamtheit von Zeichen durch einen Benutzer erfolgt) könnte, falls es etwas als ein „Kann-enthalten”-Attribut Denkbares erhält, ein Container sein.

1 zeigt Beispiele für Zeichen. Dazu können geometrische Formen (z. B. 102), alphabetische Buchstaben (z. B. 104) oder jede Art von Abbildungen (z. B. 106) zählen. Als ein weiteres Beispiel können die „Tick”-Zeichen auf einer Zeitlinie oder -achse eines gezeichneten Kurvenbilds als Container für Zeiger auf Dokumente dienen, die dieser Zeitspanne oder diesem Datenpunkt zugeordnet sind. Als ein weiteres Beispiel können die vier Bereiche, die durch zwei einander schneidende Linien erzeugt werden, zum Beispiel eine horizontale Linie und eine vertikale Linie, die eine Zwei-mal-zwei-Matrix bezeichnen, als Container für Zeiger auf Dokumente oder andere Zeichen oder Gesamtheiten von Zeichen dienen. 2 zeigt zwei solche einander schneidende Linien, die die vier Bereiche 202, 204, 206, 208 bilden. Als ein weiteres Beispiel können Zellen, die durch die sich schneidende horizontale und vertikale Linie definiert werden, die ein Gitter kennzeichnen, jeweils ein Container sein.

Das auf Zeichen beruhende elektronische System für Enthaltensein kann Enthaltensein zu anderen Merkmalen und bewährten Vorteilen von auf Skizzen beruhenden Systemen hinzufügen. Die Aktion des Skizzierens erfordert wenig kognitiven Aufwand und behindert so den Fluss kreativer Arbeit nicht auf unangemessene Weise. Das Erstellen dessen, was ein Containerzeichen wird, und das Versehen dieses Zeichens mit dem Attribut „kann enthalten” können zeitlich getrennt erfolgen. Daher kann die Angabe, dass das skizzierte oder erstellte Zeichen ein Container sein soll, zur Zeit des Erstellens des Zeichens oder später erfolgen. Es besteht keine Notwendigkeit, zur Zeit des Markierens (z. B. Zeichnen oder Skizzieren) anzugeben, dass das Zeichen ein Container sein soll. Es kann später zu einer geeigneten Zeit durch eine ausdrückliche Aktion eines Benutzers, automatische Analyse oder eine Kombination von beidem zu einem Container gemacht werden. Dies hilft Benutzern, im Fluss des Skizzierens zu bleiben.

Bei einer Ausführungsform der vorliegenden Offenbarung können erweiterte Szenarios unterstützt werden. Beispielsweise kann bei einer Ausführungsform der vorliegenden Offenbarung ein System einem Benutzer ermöglichen, zwei einander überlappende geschlossene (oder fast geschlossene) Zeichen wie beispielsweise Ellipsen zu zeichnen und die so definierten drei Bereiche anschließend als Container zu verwenden. In diesem Fall würde der Benutzer die überlappenden Container auf eine Weise verwenden, die analog zu dem Konzept überlappender Bereiche in einem Venn-Diagramm ist. 7 veranschaulicht ein Beispiel für einander überlappende Ellipsen 702, 704.

Zeichen müssen darüber hinaus keine physischen Spuren (wie beispielsweise „elektronisches Papier” (electronic ink)) hinterlassen, um als Container verwendet zu werden. Ein Zeichen kann eine Geste im 3-D-Raum sein, die von einem Sichtsystem oder von Beschleunigungssensoren erfasst wird. Oder es kann ein Bereich sein, der auf einer 2-D-Oberfläche oder entlang einer 1-D-Linie angezeigt wird. Wenn sich das System in einem Zustand befindet, in dem es eine solche Zeichenerstellung automatisch dem Attribut „kann enthalten” zuordnet, können derartige Zeichen sofort zu Containern werden. Auf den sich ergebenden Container kann an einem zukünftigen Datum zugegriffen werden, zum Beispiel auf der Grundlage verschiedener Visualisierungen der Beziehungen des Enthaltenseins (containment relationships) oder durch Visualisierungen, die Container nach Erstellungszeit oder Erstellungsreihenfolge oder Erstellungsort ordnen.

Eine explizite Beziehung des Enthaltenseins der in der vorliegenden Offenbarung erörterten Art kann sich von der impliziten Beziehung des Enthaltenseins beispielsweise beim Zeichnen eines Umrisses eines Grundrisses und Zeichnen eines Bildes eines Stuhls oder Tisches in diesem unterscheiden. Obwohl eine solche implizite Beziehung des Enthaltenseins in eine explizite Beziehung des Enthaltenseins umgewandelt werden kann (entweder durch spätere Benutzeraktionen oder durch automatische Analyse), muss dies nicht der Fall sein.

Bei einer Ausführungsform der vorliegenden Offenbarung kann einem Zeichen eines Benutzers (z. B. einer Zeichnung, Skizze) ein Attribut eines elektronischen Containers zugeteilt werden. Zum Beispiel kann einem Zeichen ein Attribut „kann enthalten” zugeteilt werden. Beim Erstellen eines Zeichens kann das System der vorliegenden Offenbarung dieses automatisch mit einem Attribut eines elektronischen Containers speichern. Zeichenmerkmale können verwendet werden, um eine Art oder Eigenschaften des Enthaltenseins zu folgern, wobei z. B. rote Kreise so aufgefasst werden, dass sie Container bezeichnen, die dringende Elemente enthalten, und grüne Kreise so aufgefasst werden, dass sie Container bezeichnen, die nicht dringende Elemente enthalten. Das Folgern kann insofern automatisch erfolgen, dass ein System der vorliegenden Offenbarung bei einer Ausführungsform automatisch eine andere Farbe erkennen und unterschiedlichen Dringlichkeitsgraden oder anderen Attributen zuordnen kann. Das Zeichen kann auf eine interaktive Oberfläche gezeichnet werden, z. B. mithilfe einer Computereingabeeinheit (z. B. mittels einer Maus, eines berührungsempfindlichen Bildschirms und/oder anderer Einheiten), deren Eingabe ein Prozessor automatisch lesen kann. Das Zeichen kann auf ein statisches Medium (z. B. Papier) gezeichnet und anschließend in ein elektronisches System eingelesen werden. Das Zeichen kann mithilfe einer Analyse nicht gezeichneter Elemente, z. B. solcher, die durch Auswählen von Elementen aus einer Palette in einem Zeichenprogramm erstellt werden, abgeleitet werden. Das Zeichen kann ein Bereich eines anderen Zeichens sein. Das Zeichen kann eine zweidimensionale Geste ohne sichtbare Dauer sein. Ein Beispiel hierfür kann das Einkreisen eines Bereichs mit mehreren Symbolen auf einem virtuellen Desktop mit einem Finger auf einem berührungsempfindlichen Tablet sein. Das Zeichen kann eine dreidimensionale Geste ohne sichtbare Dauer sein. Ein Beispiel hierfür kann das Umreißen der Grenzen eines Würfels im Raum durch Bewegen der Hände in einem mit einem visuellen Erkennungssystem ausgestatteten Bereich sein. Das Zeichen kann ein Punkt oder ein Bereich in einer, zwei, drei oder mehr Dimensionen sein. Zum Beispiel kann in dem zweidimensionalen Raum eines berührungsempfindlichen Zeichentisches ein Punkt durch einen einzigen Fingerdruck angezeigt werden, dessen Dauer die üblicherweise für ein Tippen verwendete Dauer überschreitet. Das Zeichen kann eine Gesamtheit von mehreren Zeichen sein. Das Zeichen kann eine Kopie eines anderen Zeichens sein.

Bei einer Ausführungsform wird der Container nach Fertigstellen (z. B. gezeichnet oder auf andere Weise gezeigt) des Zeichens sichtbar gemacht, selbst wenn das Zeichen selbst keine sichtbare Spur hinterlässt. Beispielsweise kann ein Zeichen in die Luft gezeichnet werden (z. B. mithilfe einer Geste) und der sich ergebende Container kann auf einem Anzeigebildschirm mithilfe des Systems der vorliegenden Offenbarung gezeigt werden, das die Geste erkennt oder liest und sie auf dem Anzeigebildschirm darstellt.

Ein Zeichen kann einen Zeiger oder Zeiger auf ein elektronisches Dokument oder elektronische Dokumente enthalten; eine Kennung oder Kennungen eines physischen Dokuments oder physischer Dokumente; eine Kennung oder Kennungen elektronischer Dokumente, die in einem System gespeichert sind, auf das von dem Zeichen aus nicht direkt zugegriffen werden kann (zum Beispiel Eingeben einer Zeichenfolge, die die Darstellung eines physischen Buches gemäß der Dewey-Dezimalklassifikation bezeichnet); ein weiteres Zeichen oder weitere Zeichen; eine verschachtelte Zeichenmenge beliebiger Tiefe; eine Kombination von Beliebigen der vorstehend Genannten.

Bei einer Ausführungsform der vorliegenden Offenbarung kann die Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität von dem Benutzer mithilfe interaktiver Mittel wie zum Beispiel Ziehen und Ablegen oder durch Klicken auf einen Menüpunkt bezeichnet werden. Die Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität kann mittels visueller Analyse abgeleitet werden, durch die erkannt wird, welche Zeichen Container und welche Entitäten in ihnen enthalten sind. Beispielsweise veranschaulicht 3 fünf Bereiche mit darin enthaltenen Elementen. Mithilfe einer automatischen Computerverarbeitung können die in einem Bereich enthaltenen Elemente analysiert und automatisch die Beziehung zwischen beispielsweise einem ersten Quadrantenbereich 302 als einem Container und den drei Rechtecken 304 und dem Buchstaben A abgeleitet werden, die darin enthalten sind. Das Element bei 306 kann als ein Containerzeichen erkannt werden, das die Objekte unter 308, 310 und 312 enthält. Gleichzeitig kann ein durch den Quadrantenbereich 314 dargestellter Container die Objekte 308 und 310 und den Buchstaben B enthalten. Auf ähnliche Weise kann ein als der Quadrantenbereich 316 dargestellte Container das Objekt bei 312 und den Buchstaben C enthalten. Ein weiterer Bereich bei 306 enthält die Objekte 308, 310, 312. Der Quadrantenbereich 328 veranschaulicht ein weiteres Beispiel für einen Bereich, einen leeren (keine darin enthaltenen Objekte). Die bei 318 und 320 gezeigten Markierungen veranschaulichen ein Beispiel für quadrantenerstellende Zeichen. Die bei 322, 324 und 326 gezeigten Markierungen sind Beispiele für Zeichen, die von einem System oder Menschen möglicherweise als Beschriftungen gelesen werden könnten. Beliebige Zeichen können als Containerzeichen gedeutet werden. Der Benutzer kann jedes Zeichen ausdrücklich als einen Container bezeichnen.

Die Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität kann mittels einer Regel abgeleitet werden, die festlegt, dass elektronische Dokumente oder Zeichen, die der Regeldefinition entsprechen, automatisch enthalten sind, wenn sie erstellt werden oder wenn sie verfügbar werden (z. B. durch Empfang eines elektronischen Mail-Elements). Zum Beispiel kann ein Zeichen beispielsweise als ein Container erstellt werden, kann z. B. ein Attribut „kann enthalten” erhalten. Für diesen Container kann eine Regel festgelegt werden (z. B. zum Zeitpunkt des Erstellens oder später), dass Entitäten, die einem vorgegebenen Kriterium entsprechen, in dem Zeichen enthalten sein sollen, wenn es erstellt oder auf andere Weise verfügbar gemacht wird. Als ein Beispiel können eMails mit vorgegebenen Attributen wie beispielsweise „von”, „an”, „Thema” und anderen Feldern, die der festgelegten Regel genügen, angeführt werden.

Die Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität kann mittels einer Abfrage abgeleitet werden, durch die eine Menge vorhandener elektronischer Dokumente oder Zeichen für ein Enthaltensein ausgewählt werden. Beispielsweise kann ein Benutzer von einem Computersystem Dokumente abfragen, die in dem Zeichen enthalten sein können, und dann die gewünschten Dokumente aus der Menge der auf die Abfrage hin zurückgegebenen Dokumente auswählen.

Die Beziehung des Enthaltenseins zwischen einem Zeichen und einer anderen Entität kann mittels einer Textzeichenfolge abgeleitet werden, die anzeigt, dass Dokumente oder andere dieser Textzeichenfolge zugeordnete Zeichen enthalten sein sollen. Zum Beispiel kann eine Benutzerschnittstelle es ermöglichen, dass eine Textzeichenfolge eingegeben wird und die Namen aller diese Textzeichenfolge enthaltenden Dokumente dann zurückgegeben werden, um in den Container einbezogen zu werden. Bei einem weiteren Beispiel kann ein System es ermöglichen, dass alle Entitäten, die einen zugeordneten „Tag” aufweisen, der einer Textzeichenfolge entspricht, zwecks Einbeziehens in den Container zurückgegeben werden.

Bei einer Ausführungsform kann ein Bereich, der ein Zeichen darstellt, mithilfe einer ausdrücklichen Auswahl eines Abschnitts eines Zeichens durch einen Benutzer bezeichnet werden. Der Bereich, der ein Zeichen darstellt, kann algorithmisch abgeleitet werden (z. B. durch Unterteilen eines Zeichens am Punkt der maximalen Krümmung oder an mit gleichem Abstand entlang seiner Länge angeordneten Punkten). Der ein Zeichen darstellende Bereich kann algorithmisch durch eine Analyse von Bereichen abgeleitet werden, die durch Zeichen angedeutet werden, die andere Zeichen überlappen. Der ein Zeichen darstellende Bereich kann algorithmisch durch eine Analyse von Bereichen abgeleitet werden, die durch Zeichen angedeutet werden, die sich in räumlicher Nähe anderer Zeichen befinden. Der ein Zeichen darstellende Bereich kann algorithmisch durch eine Analyse von Bereichen abgeleitet werden, die durch Zeichen angedeutet werden, die gemeinsame Merkmale mit anderen Zeichen aufweisen.

Ein System der vorliegenden Offenbarung kann bei einer Ausführungsform ein Zeichen (das z. B. als ein Container verwendet werden soll) durch die Ähnlichkeit von Zeichenmerkmalen erkennen oder entdecken. Ähnlichkeit kann Ähnlichkeit von Farbe, Ähnlichkeit von Zeichenform, Ähnlichkeit von Zeichenausrichtung, Ähnlichkeit von Zeichengröße, Ähnlichkeit von Zeichenstil (wie beispielsweise gestrichelte oder gepunktete Linie) oder Ähnlichkeit von Zeichenbreite oder Kombinationen von diesen oder verwandten Merkmalen beinhalten.

Zu Zeichenmerkmalen können zählen, aber ohne darauf beschränkt zu sein, Farbe, Form, Ausrichtung, Größe, Breite und Stil (wie beispielsweise gestrichelte oder gepunktete Linie).

Bei einem weiteren Aspekt kann eine grafische Benutzeroberfläche bereitgestellt werden, die es einem Benutzer ermöglicht, ein Zeichen zu skizzieren und auf andere Weise anzugeben. Beispielsweise können die Methodik und/oder das System der vorliegenden Offenbarung eine grafische Benutzeroberfläche oder ein ähnliches Werkzeug aufweisen, um es einem Benutzer zu ermöglichen, ein Zeichen einzugeben (z. B. durch Zeichnen, Gestikulieren, Auswählen aus einer Menge verfügbarer Zeichnungen usw.). Die Methodik und/oder das System der vorliegenden Offenbarung können dann das Zeichen als einen Container zuordnen, z. B., indem dem Zeichen ein Attribut „kann enthalten” zugeteilt wird. Die grafische Benutzeroberfläche kann ein Teil eines Computers oder eines Prozessors sein. Die benutzererstellte(n) Containermarkierung(en) kann/können sich auf der grafischen Benutzeroberfläche befinden, wobei die Containermarkierungen die Attribute eines elektronischen Containers aufweisen.

Bei einem Aspekt behalten eine oder mehrere der Containermarkierungen dauerhaft die Attribute eines elektronischen Containers, beim Auftreten von einem oder mehreren aus den Folgenden: einem Erstellen von einem oder mehreren Containern, einem Löschen von einem oder mehreren Containern, einem Hinzufügen von einem oder mehreren Objekten zu der Containermarkierung, einem Löschen von einem oder mehreren Objekten aus der Containermarkierung, einem Kopieren von einem oder mehreren Objekten in der Containermarkierung, einem Abwandeln von einem oder mehreren Objekten in der Containermarkierung.

Die Containermarkierungen können einen oder mehrere untergeordnete Container enthalten. Die Containermarkierungen können in einem oder mehreren übergeordneten Containern enthalten sein. Wie vorstehend erörtert, können die Containermarkierungen als eine geschlossene Abbildung, eine offene Abbildung oder eine Kombination von beiden dargestellt werden. Bei einem weiteren Aspekt, können ein oder mehrere Objekte in der Containermarkierung enthalten sein, wenn sich das enthaltene Objekt nahe bei der Containermarkierung befindet. Nähe kann z. B. festgelegt sein als innerhalb einer bestimmten Entfernung oder Nachbarschaft, z. B. innerhalb einer Entfernung von weniger als der Breite des Begrenzungskästchens des Mauszeigers. Folgerungen darüber, was enthalten ist, können mithilfe des Folgenden gezogen werden, sind aber nicht ausschließlich auf diese Regeln beschränkt: z. B. Dinge in der Nachbarschaft werden in den Container „gezogen”, die Stärke der Anziehung kann auf Attributen der bereits enthaltenen Zeichen beruhen, eine von dem Benutzer ausdrücklich festgelegte Abstandsmetrik, die Definition der Attribute des enthaltenden Zeichens wird auf der Grundlage dessen abgewandelt, was hineingezogen wird.

Das Containerattribut kann eine Farbe beinhalten, eine festgelegte Bezeichnung, einen Dateinamen, eine festgelegte Größe (z. B. eine maximale Anzahl von Objekten, die ein Zeichen (auch als eine Containermarkierung bezeichnet) fassen oder enthalten kann); eine Menge von Tags, die es ermöglicht, dem Zeichen eine beliebige Semantik zuzuordnen; eine numerische (oder andere) Kennung, eine Zuordnung zu einem oder mehreren vorhandenen Containern oder einer Menge von Containern. Die Attribute können als eine Datenbank und/oder ein weiterer dauerhafter Datenspeicher gespeichert werden.

Bei noch einem weiteren Aspekt können Markierungsmerkmale zum Folgern von einer Art oder Eigenschaften des Enthaltenseins verwendet werden. Zum Beispiel können rote Kreise so aufgefasst werden, dass sie Container bezeichnen, die dringende Elemente enthalten, und grüne Kreise so aufgefasst werden, dass sie Container bezeichnen, die nicht dringende Elemente enthalten.

Bei noch einem weiteren Aspekt können zwei oder mehr Containermarkierungen ein oder mehrere gleiche Objekte enthalten. Die grafische Benutzeroberfläche kann außerdem das Verschieben von einem oder mehreren Objekten aus einer ersten Containermarkierung in eine zweite Containermarkierung ermöglichen, d. h. von einem Container in einen anderen Container. 4 veranschaulicht ein Beispiel für Containermarkierungen, darin enthaltene Objekte und ein Verschieben eines Containers. Beispielweise zeigt der Pfeil 402 ein Verschieben des Containerzeichens 404 in den anderen Container 406. Eine grafische Benutzeroberfläche kann es einem Benutzer beispielsweise ermöglichen, ein oder mehrere Containerzeichen und/oder -objekte auszuwählen und sie in ein anderes Containerzeichen zu ziehen und dort abzulegen.

Wie vorstehend erörtert, können eine oder mehrere der Containermarkierungen durch eines oder mehrere der Folgenden definiert sein: eine Linie, mehr als eine sich schneidende Linie, einen Kasten, einen Kreis, eine beliebige Form, eine Glyphe, ein beliebiges Bild, eine andere Angabe. 5 zeigt ein Beispiel für ein Definieren einer Containermarkierung, die die Objekte 504, 506 enthält. Das Element 508 kann ein anderes Objekt oder eine andere Containermarkierung sein. 6 zeigt ein weiteres Beispiel für ein Definieren der Containermarkierung 602, die die Objekte 604, 606 enthält. Das Element 608 kann ein anderes Objekt oder eine andere Containermarkierung sein. Die Containermarkierungen können durch eine oder mehrere Benutzeraktionen festgelegt werden. Zu den Benutzeraktionen können eine oder mehrere der Folgenden zählen, aber ohne darauf beschränkt zu sein: ein oder mehrere Tastaturanschläge, eine oder mehrere Mausbewegungen, eine Änderungsrate der Bewegung, eine Beschleunigung der Bewegung, eine Geste im dreidimensionalen (3-D) Raum wie einem virtuellem Raum oder einem physischen Raum.

8 zeigt ein weiteres Beispiel für die Containermarkierungen 802 und 804, die ein gemeinsames Objekt enthalten. Zum Beispiel kann die Containermarkierung 802 durch Zeichnen einer Form definiert werden, die die zwei Elemente 806 und 808 enthält. Die weitere Containermarkierung 804 kann durch Skizzieren einer Form um die zwei Elemente 808 und 810 herum definiert werden. Bei dem gezeigten Beispiel sind „WANDERUNG” und „FAHRRAD” jeweils eine Reihe von Zeichen, die von einem Menschen oder System als Beschriftungen gedeutet werden können.

Ein grafisches Benutzeroberflächenmodul kann es außerdem einem Benutzer ermöglichen, ein oder mehrere vorhandene Zeichen oder Containermarkierungen abzurufen oder auszuwählen, die in den Containermarkierungen enthaltenen Objekte anzuzeigen und weiter Funktionen wie beispielsweise Hinzufügen, Löschen, Verschieben der Elemente oder Zeichen auszuführen.

9 ist ein Ablaufplan, der ein Verfahren zum Bereitstellen eines auf Zeichen beruhenden elektronischen Systems für Enthaltensein bei einer Ausführungsform der vorliegenden Offenbarung veranschaulicht. Bei 902 wird eine von einem Benutzer definierte Containermarkierung empfangen. Beispielsweise kann ein Benutzer ein Zeichen als einen Container definieren, zum Beispiel durch Zeichnen oder Gestikulieren, oder indem er auf andere Weise ein Zeichen angibt. Bei einem Aspekt kann eine grafische Benutzeroberfläche bereitgestellt werden, die es einem Benutzer ermöglicht, ein oder mehrere solche Zeichen einzugeben. Die grafische Benutzeroberfläche kann beispielsweise ein Zeichen empfangen oder erkennen und es bei 904 als Daten mit Attributen eines Containers speichern. Im Hinblick auf andere Elemente, die zum Beispiel auf einer interaktiven Oberfläche der grafischen Benutzeroberfläche vorhanden oder skizziert sind, kann bei 906 gefolgert werden, dass sie Elemente sind, die in dem definierten Zeichen enthalten sein sollen. Eine derartige Folgerung kann auf Regeln der Nähe, Ähnlichkeit und/oder anderen Regeln beruhen. Bei 908 können in einer Containermarkierung enthaltene Elemente verschoben oder gelöscht, oder es können neue Element hinzugefügt oder die Elemente auf andere Weise manipuliert werden, beispielsweise gemäß einer Benutzersteuerung über die grafische Benutzeroberfläche.

10 veranschaulicht eine Schemazeichnung eines beispielhaften Computer- oder Verarbeitungssystems, mit dessen Hilfe bei einer Ausführungsform der vorliegenden Offenbarung das auf Zeichen beruhende elektronische System für Enthaltensein realisiert werden kann. Das Computersystem ist lediglich ein Beispiel für ein geeignetes Verarbeitungssystem und soll keinerlei Einschränkung hinsichtlich des Verwendungsumfangs oder der Funktionalität von Ausführungsformen der hier beschriebenen Methodik nahelegen. Das gezeigte Verarbeitungssystem kann mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen oder -Konfigurationen betrieben werden. Zu Beispielen für gut bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem in 10 gezeigten Verarbeitungssystem geeignet sein können, zählen, aber ohne darauf beschränkt zu sein, persönliche Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechner-Computersysteme sowie verteilte Cloud-Datenverarbeitungsumgebungen, die beliebige der vorstehend genannten Systeme oder Einheiten enthalten, und dergleichen.

Das Computersystem kann in dem allgemeinen Zusammenhang von durch Computersysteme ausführbaren Anweisungen beschrieben werden, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Allgemein können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem kann in verteilten Cloud-Datenverarbeitungsumgebungen praktisch angewendet werden, wo Aufgaben mithilfe von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die durch ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Datenverarbeitungsumgebung können sich Programmmodule auf Speichermedien sowohl lokal als auch entfernt angeordneter Computersysteme befinden, darunter Arbeitsspeicher-Speichereinheiten.

Zu den Komponenten des Computersystems können zählen, aber ohne darauf beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 12, der Systemarbeitsspeicher 16 und der Bus 14, der verschiedene Systemkomponenten, darunter den Systemarbeitsspeicher 16, mit dem Prozessor 12 verbindet. Der Prozessor 12 kann das grafische Benutzeroberflächenmodul 10 für das auf Zeichen beruhende elektronische Systemmodul für Enthaltensein 10 enthalten, das die hier beschriebenen Verfahren ausführt. Das Modul 10 kann in die integrierten Schaltungen des Prozessors 12 programmiert sein oder aus dem Arbeitsspeicher 16, der Speichereinheit 18 oder dem Netzwerk 24 oder Kombinationen davon geladen werden.

Der Bus 14 kann für eine oder mehrere verschiedener Arten von Busstrukturen stehen, darunter ein Speicherbus oder Speicher-Controller, ein Peripheriebus, ein Accelerated Graphics Port und ein Prozessor oder lokaler Bus, bei denen beliebige verschiedene Busarchitekturen zur Anwendung kommen. Als Beispiel und nicht einschränkend gedacht können zu derartigen Architekturen zählen: ein ISA-Bus (industry standard architecture bus), ein MCA-Bus (micro channel architecture bus), ein EISA-Bus (enhanced ISA bus), ein lokaler VESA-Bus (video electronics standards association local bus) sowie ein PCI-Bus (peripheral component interconnects bus).

Das Computersystem kann verschiedene durch Computersysteme lesbare Medien enthalten. Zu solchen Medien können alle verfügbaren Medien zählen, auf die ein Computersystem zugreifen kann, und es können sowohl flüchtige als auch nicht flüchtige Medien, austauschbare und nicht austauschbare Medien dazu gehören.

Der Systemarbeitsspeicher 16 kann durch ein Computersystem lesbare Medien in der Form flüchtigen Speichers enthalten wie beispielsweise Speicher mit wahlfreiem Zugriff (random access memory, RAM) und/oder Cachespeicher oder andere. Das Computersystem kann weiter andere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Computersystem-Speichermedien enthalten. Nur als Beispiel angeführt: Das Speichersystem 18 kann zum Lesen von einem nicht austauschbarem, nicht flüchtigem magnetischem Medium (z. B. einem „Festplattenlaufwerk”) und zum Schreiben auf dieses bereitgestellt werden. Obwohl dies nicht gezeigt wird, können ein Magnetplattenlaufwerk zum Lesen von einer austauschbaren, nicht flüchtigen Magnetplatte (z. B. einer „Diskette”) und zum Schreiben auf diese sowie ein optisches Plattenlaufwerk zum Lesen von einer austauschbaren, nicht flüchtigen optischen Platte wie beispielsweise einem CD-ROM, DVD-ROM oder anderen optischen Medien oder zum Schreiben auf diese bereitgestellt werden. In solchen Fällen kann jedes mithilfe einer oder mehrerer Datenmedienschnittstellen mit dem Bus 14 verbunden werden.

Das Computersystem kann auch mit einer oder mehreren externen Einheiten 26 Daten austauschen wie beispielsweise einer Tastatur, einer Zeigeeinheit, dem Bildschirm 28 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem zu interagieren, und/oder beliebigen Einheiten (z. B. Netzwerkkarte, Modem usw.), die das Computersystem in die Lage versetzen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über die Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 20 erfolgen. Der Benutzerschnittstellen-Bildschirm kann beispielsweise auf der Bildschirmeinheit 28 dargestellt werden, um ein Skizzieren der Zeichen zu ermöglichen und sie als Container zu definieren, und außerdem, um die Elemente oder Objekte anzugeben, die in den Zeichen enthalten sein sollen. Die E/A-Schnittstellen 20 können ein Erkennen von Gesten oder Bewegungen durch das grafische Benutzeroberflächenmodul 10 und das Definieren der Gesten als Zeichen erleichtern.

Außerdem kann das Computersystem noch mit einem oder mehreren Netzwerken 24 wie beispielsweise einem lokalen Netzwerk (local area network, LAN), einem allgemeinen Weitverkehrsnetz (general wide area network, WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet) über den Netzwerkadapter 22 Daten austauschen. Wie gezeigt tauscht der Netzwerkadapter 22 mit den anderen Komponenten des Computersystems über den Bus 14 Daten aus. Es sollte beachtet werden, dass, obwohl dies nicht gezeigt wird, andere Hardware- und/oder andere Softwarekomponenten in Verbindung mit dem Computersystem verwendet werden können. Zu Beispielen zählen, aber ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungs-Speichersysteme usw.

Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder die einer Ausführungsform annehmen, bei der Software- und Hardwareaspekte kombiniert werden, die hier alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in der Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit in dem Medium enthaltenem computerlesbarem Programmcode verkörpert ist.

Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede beliebige Kombination von diesen sein. Als konkretere Beispiele (unvollständige Liste) für das computerlesbare Speichermedium könnten die folgenden aufgeführt werden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer, programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination von diesen. Im Zusammenhang dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.

Ein computerlesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem computerlesbarem Programmcode sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige geeignete Kombination aus diesen. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.

Auf einem computerlesbaren Medium enthaltener Programmcode kann mithilfe jedes geeigneten Mediums übermittelt werden, einschließlich, aber ohne darauf beschränkt zu sein, eines drahtlosen oder drahtgebundenen Mediums, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jeder geeigneten Kombination von diesen.

Computerprogrammcode zum Ausführen von Operationen von Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen, eine Skripting-Sprache wie beispielsweise Perl, VBS oder ähnliche Sprachen und/oder funktionelle Sprachen wie beispielsweise Lisp und ML und logikorientierte Sprachen wie beispielsweise Prolog. Der Programmcode kann vollständig oder teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet).

Aspekte der vorliegenden Erfindung werden mit Bezug auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen erzeugen.

Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebene Funktion/Handlung realisiert wird.

Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Betriebsschritten zu bewirken, um einen computerrealisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilds angegebenen Funktionen/Handlungen bereitstellen.

Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Beziehung kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, Segment oder einen Codeabschnitt enthalten, das/der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion(en) aufweist. Es sollte auch beachtet werden, dass bei einigen alternativen Realisierungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. Zum Beispiel können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in Abhängigkeit von der betreffenden Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist ebenfalls zu beachten, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Blockkombinationen in den Blockschaubildern und/oder dem Ablaufplan durch Spezialsysteme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von Spezialhardware und Computeranweisungen realisiert werden können.

Das Computerprogrammprodukt kann alle die entsprechenden Merkmale aufweisen, die das Realisieren der hier beschriebenen Methodik ermöglichen, und die, wenn sie auf ein Computersystem geladen sind, in der Lage sind, die Verfahren auszuführen. „Computerprogramm”, „Softwareprogramm”, „Programm” oder „Software” bedeutet in dem vorliegenden Zusammenhang jeden Ausdruck in jeder Sprache, jedem Code oder jeder Notation aus einer Menge von Anweisungen, die ein System mit Datenverarbeitungsfähigkeiten dazu veranlassen sollen, eine bestimmte Funktion entweder direkt oder nach einem oder beiden der Folgenden auszuführen: (a) Umwandeln in eine andere Sprache, einen anderen Code oder eine andere Notation und/oder (b) Reproduzieren in einer anderen materiellen Form.

Die hier verwendete Terminologie dient ausschließlich dem Zweck der Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Singularformen unbestimmter und bestimmter Artikel wie „ein”, „eine” und „der”, „die”, „das” sollen ebenfalls die Pluralformen beinhalten, solange der Kontext nicht eindeutig auf etwas anderes hinweist. Ferner versteht sich, dass die Begriffe „aufweist” und/oder „aufweisend” in dieser Beschreibung das Vorhandensein von behaupteten Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten beschreiben, aber das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen aus diesen nicht ausschließen.

Die entsprechenden Strukturen, Materialien, Handlungen sowie Äquivalente aller Mittel oder Schritt-und-Funktion-Elemente (step plus function elements), wenn vorhanden, in den folgenden Ansprüchen sollen jede beliebige Struktur, jedes beliebige Material oder jede beliebige Handlung zum Ausführen der Funktion in Verbindung mit anderen beanspruchten Elementen als ausdrücklich beansprucht beinhalten. Die Beschreibung der vorliegenden Erfindung wird zum Zweck der Veranschaulichung und Beschreibung vorgelegt und soll nicht vollständig oder auf die offenbarte Form der Erfindung beschränkt sein. Für Fachleute werden zahlreiche Abänderungen und Abwandlungen offensichtlich sein, die aber keine Abweichung vom Schutzumfang der Erfindung und dem Erfindungsgedanken darstellen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern, und um Fachleute in die Lage zu versetzen, die Erfindung im Hinblick auf verschiedene Ausführungsformen mit verschiedenen Abänderungen zu verstehen, die für die spezielle, in Betracht gezogene Verwendung geeignet sind.

Verschiedene Aspekte der vorliegenden Offenbarung können als ein Programm, eine Software oder Computeranweisungen verkörpert werden, die auf einem Computer oder einem durch eine Maschine verwendbaren oder lesbaren Medium verkörpert werden, das den Computer oder die Maschine dazu veranlasst, die Schritte des Verfahrens auszuführen, wenn es auf dem Computer, dem Prozessor und/oder der Maschine ausgeführt wird. Eine durch eine Maschine lesbare Programmspeichereinheit, die auf physische Weise ein Programm von Anweisungen verkörpert, die durch die Maschine ausführbar sind, um verschiedene in der vorliegenden Offenbarung beschriebene Funktionen und Verfahren auszuführen, wird ebenfalls bereitgestellt.

Das System und Verfahren der vorliegenden Erfindung können auf einem Universal-Computer- oder einem Spezial-Computersystem realisiert und ausgeführt werden. Die Begriffe „Computersystem” und „Computernetzwerk” wie sie möglicherweise in der vorliegenden Anwendung verwendet werden, können verschiedene Kombinationen von fest installierter und/oder tragbarer Computerhardware, Software, Peripheriegeräten und Speichereinheiten beinhalten. Das Computersystem kann eine Vielzahl einzelner Komponenten enthalten, die in einem Netzwerk oder auf andere Weise miteinander verbunden sind, um zusammenwirkend zu funktionieren, oder es kann eine oder mehrere eigenständige Komponenten enthalten. Die Hardware- und Softwarekomponenten des Computersystems der vorliegenden Anmeldung können fest installierte und tragbare Einheiten wie beispielsweise einen Desktop, Laptop und/oder Server enthalten und in diesen enthalten sein. Bei einem Modul kann es sich um eine Komponente einer Einheit, einer Software, eines Programms oder eines Systems handeln, mit dessen Hilfe irgendeine „Funktionalität” realisiert wird, die als Software, Hardware, Firmware, elektronische Schaltungen oder dergleichen verkörpert sein kann.

Die vorstehend beschriebenen Ausführungsformen sind veranschaulichende Beispiele und sollten nicht so aufgefasst werden, dass die vorliegende Erfindung auf diese bestimmten Ausführungsformen beschränkt ist. Daher können verschiedene Änderungen und Abwandlungen von Fachleuten vorgenommen werden, ohne von dem Erfindungsgedanken oder Schutzbereich der Erfindung abzuweichen, wie er in den angefügten Ansprüchen definiert ist.