-
HINTERGRUND
-
Die Offenlegung bezieht sich im Allgemeinen auf Benutzerschnittstellen für Computersysteme, die Objekte speichern. Auf Desktop-Computern implementieren Dateispeichersysteme häufig Funktionen zum Verschieben und Kopieren von Dateien über Drag & Drop-Vorgänge. Bei Geräten mit begrenzter Bildschirmfläche ist diese Art von Schnittstelle nicht ohne weiteres implementierbar. Stattdessen muss der Benutzer einer Benutzerschnittstelle für Speichersysteme zum Verschieben oder Kopieren von Dateien innerhalb einer Ordnerhierarchie die zu verschiebenden Dateien zuerst auswählen und dann eine separate Schnittstelle oder ein Dialogfeld aufrufen, in dem der Zielordner ausgewählt wird. Diese Schnittstellen sind langsam, erfordern mehrere Schnittstellenaktionen durch den Benutzer und können die Benutzererfahrung stören.
-
KURZDARSTELLUNG
-
Hierin werden verschiedene Ausführungsformen einer Speichersystem-Benutzerschnittstelle mit unverankerter Dateisammlung beschrieben.
-
Ein Aspekt der offengelegten Ausführungsformen ist ein Verfahren zur Ausgabe einer ersten Ansicht durch einen oder mehrere Prozessoren zur Ansicht mit einer ersten Ansicht einer Vielzahl an Objekten, die in einem ersten Ordner eines hierarchischen Speichersystems gespeichert sind und dem Empfang einer oder mehrerer Auswahleingaben, die ein oder mehrere Objekte von der Vielzahl der als Objekte ausgewählten Objekte ausweisen. Das Verfahren umfasst außerdem die Ausgabe, durch einen oder mehrere Prozessoren und zur Anzeige, eines unverankerten Schnittstellenelement welches die ausgewählten Objekte darstellt und eine Navigationseingabe empfängt, die den zweiten Ordner des hierarchischen Speichersystems identifiziert. Das Verfahren umfasst außerdem die Initialisierung eines Ansichtübergangs durch einen oder mehrere Prozessoren und in Reaktion auf die Navigationseingabe, der die erste Ansicht von der Anzeige entfernt und Ausgaben zur Anzeige einer zweiten Ansicht, die eine zweite Vielzahl an Objekten darstellt, die im zweiten Ordner gespeichert sind. Das unverankerte Schnittstellenelement, das die ausgewählten Objekte darstellt, bleibt während des Ansichtsübergangs angezeigt.
-
Ein weiterer Aspekt der offengelegten Ausführungsformen ist ein nicht transitorischer, computerlesbarer Datenspeicher, der Programmbefehle enthält, die von einem oder mehreren Prozessoren ausführbar sind, die bei Ausführung bewirken, dass der ein oder mehrere Prozessoren Vorgänge durchführen. Die Vorgänge umfassen die Ausgabe einer ersten Ansicht durch einen oder mehrere Prozessoren zur Ansicht mit einer ersten Ansicht einer Vielzahl an Objekten, die in einem ersten Ordner eines hierarchischen Speichersystems gespeichert sind und dem Empfang einer oder mehrerer Auswahleingaben, die ein oder mehrere Objekte von der Vielzahl der als Objekte ausgewählten Objekte ausweisen. Die Vorgänge umfassen außerdem die Ausgabe, durch einen oder mehrere Prozessoren und zur Anzeige, eines unverankerten Schnittstellenelements, welches die ausgewählten Objekte darstellt und eine Navigationseingabe empfangt, die den zweiten Ordner des hierarchischen Speichersystems identifiziert. Die Vorgänge umfassen außerdem die Initialisierung eines Ansichtübergangs durch einen oder mehrere Prozessoren und in Reaktion auf die Navigationseingabe, der die erste Ansicht von der Anzeige entfernt und Ausgaben zur Anzeige einer zweiten Ansicht, die eine zweite Vielzahl an Objekten darstellt, die im zweiten Ordner gespeichert sind. Das unverankerte Schnittstellenelement, das die ausgewählten Objekte darstellt, bleibt während des Ansichtsübergangs angezeigt.
-
Ein weiterer Aspekt der veröffentlichten Ausführungsformen ist eine Vorrichtung, die einen oder mehrere Prozessoren und ein oder mehrere Speichergeräte zur Speicherung von Programmanweisungen, die von dem einen Prozessor bzw. von den Prozessoren verwendet werden, umfasst. Die Programmbefehle bewirken bei der Ausführung durch den einen oder mehreren Prozessoren, dass ein oder mehrere Prozessoren eine erste Ansicht durch einen oder mehrere Prozessoren zur Ansicht mit einer ersten Ansicht einer Vielzahl an Objekten ausgeben, die in einem ersten Ordner eines hierarchischen Speichersystems gespeichert sind und dem Empfang einer oder mehrerer Auswahleingaben, die ein oder mehrere Objekte von der Vielzahl der als Objekte ausgewählten Objekte ausweisen. Die Programmbefehle bewirken ferner, dass der eine oder die mehreren Prozessoren ein unverankertes Schnittstellenelement, das die ausgewählten Objekte repräsentiert, zur Anzeige ausgeben und den Empfang einer Navigationseingabe, die einen zweiten Ordner des hierarchischen Speichersystems identifiziert. Die Vorgänge führen ferner dazu, dass der eine oder mehreren Prozessoren in Reaktion auf die Navigationseingabe einen Ansichtübergang ausführen, der die erste Ansicht von der Anzeige entfernt und zur Anzeige eine zweite Ansicht ausgibt, die eine zweite Vielzahl von Objekten repräsentiert, die in dem zweiten Ordner gespeichert sind. Das unverankerte Schnittstellenelement, das die ausgewählten Objekte darstellt, bleibt während des Ansichtsübergangs angezeigt.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die hierin beschriebene Beschreibung bezieht sich auf die begleitenden Zeichnungen, in denen gleiche Bezugszeichen gleiche Teile in den verschiedenen Ansichten bezeichnen und wobei:
-
1 ein Blockdiagramm ist, welches ein Ausführungsbeispiel für ein Umfeld zeigt, in dem ein System zum Ausfüllen von Werten in einer Tabellenkalkulation umgesetzt werden kann;
-
2 ist ein Blockdiagramm, das ein Beispiel für eine Hardwarekonfiguration für einen Server-Computer zeigt;
-
3 ein Blockdiagramm ist, welches ein Speichersystem zeigt;
-
4 eine erste Ansicht eines übergeordneten Ordnerschnittstellen-Bildschirms ist;
-
5 eine erste Ansicht eines untergeordneten Ordnerschnittstellen-Bildschirms ist;
-
6 eine zweite Ansicht eines untergeordneten Ordnerschnittstellen-Bildschirms ist;
-
7 eine dritte Ansicht eines untergeordneten Ordnerschnittstellen-Bildschirms ist;
-
8 eine zweite Ansicht eines übergeordneten Ordnerschnittstellen-Bildschirms ist;
-
9 eine dritte Ansicht eines übergeordneten Ordnerschnittstellen-Bildschirms ist; und
-
10 ein Flussdiagramm ist, welches eine Methode zur Durchführung von Dateiverwaltungsvorgängen in einem Speichersystem zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Gemäß den hierin beschriebenen Verfahren, Systemen, Vorrichtungen und Computerprogrammen können Dateiverwaltungsvorgänge in einer Benutzerschnittstelle eines Speichersystems unter Verwendung einer unverankerten Dateisammlung ausgeführt werden, die auch als unverankertes Schnittstellenelement bezeichnet wird. Das unverankerte Schnittstellenelement wird auch weiterhin angezeigt, wenn eine unterliegende Schnittstelle gescrollt wird oder einen Ansichtübergang, wie ein Übergang von der Anzeige zu einem ersten Ordner zur Anzeige eines zweiten Ordners, durchläuft. Das unverankerte Schnittstellenelement kann beispielsweise verwendet werden, um Dateiverwaltungsvorgänge, wie das Verschieben von Dateien vom ersten Ordner in einen zweiten Ordner, zu ermöglichen.
-
Wie hierin erläutert wird in Antwort auf die Auswahleingaben, die ein oder mehrere Objekte, die Dateien in einem Ordner einer hierarchischen Speicheranordnung, ein unverankertes Schnittstellenelement, welches die Objekte darstellt, die zur Anzeige ausgegeben werden, ausgewiesen. Der Benutzer kann dann über eine oder mehrere Navigationseingaben die Benutzerschnittstelle verwenden, um zu einem anderen Speicherort (z. B. einem Ordner) in der hierarchischen Speicheranordnung zu navigieren. Die Navigation von einem Speicherort zu einem anderen erfolgt über einen Ansichtsübergang, der die Ansicht, der den aktuellen Speicherort anzeigt und die Ausgänge zur Anzeige einer Ansicht, welche die durch die Navigationseingabe angegebene Position anzeigt, entfernt, während das unverankerte Schnittstellenelement, welches die ausgewählten Objekte darstellt, während des Ansichtsübergangs angezeigt bleibt.
-
1 zeigt ein Ausführungsbeispiel einer Umgebung 100, in die ein System zum Ausfüllen von Werten in einer Tabellenkalkulation umgesetzt werden kann. Die Umgebung 100 kann ein Benutzersystem 110, ein oder mehrere zusätzliche Benutzersysteme 120 und einen Anwendungshostingdienst 130 umfassen. Das Anwendersystem 110 und weitere Anwendersysteme 120 sind jeweils repräsentativ für eine größere Anzahl (z. B. Millionen) von Systemen, die in die Umgebung 100 integriert werden können, wobei jedes System ein oder mehrere Anwendungen nutzen kann, die vom Applikations-Hosting-Service 130 bereitgestellt werden. Bei dem Anwendersystem 110 und weiteren Anwendersystemen 120 kann es sich jeweils um eine beliebige Art von Computer oder Computergerät handeln, wie etwa einen Desktop-Computer, Laptop oder ein Smartphone (ein rechenintensives Mobiltelefon). Ein Applikations-Hosting-Service 130 kann mithilfe eines oder mehrerer Server-Computer 132 implementiert werden. Ein Anwendersystem 110, weitere Anwendersysteme 120 und Applikations-Hosting-Service 130 können jeweils als Einzelsystem, Mehrfachsysteme, verteilte Systeme oder in einer anderen Form implementiert werden.
-
Die hier beschriebenen Systeme, Dienste, Server und andere Rechnereinrichtungen kommunizieren über ein Netzwerk 150. Das Netzwerk 150 kann ein oder mehrere Kommunikationsnetze jeglicher Art, einschließlich drahtloser Netzwerke, Kabelnetzwerke, lokaler Netzwerke, Weitverkehrsnetze, zellulare Datennetze und dem Internet in beliebiger Kombination sein.
-
Der Anwendungshostingdienst 130 kann Zugang zu einer oder mehreren gehosteten Anwendungen zu einer definierten Anwendergruppe, einschließlich Betreiber, die dem Anwendersystem 110 und dem zusätzlichen Anwendersystemen 120 zugeordnet sind, bereitstellen. Eine oder mehrere der gehosteten Anwendungen können ein Speichersystem sein, das betreibbar ist, um Speicher- und Abruffunktionen zu implementieren und zur Anzeige an einen Benutzer eine Benutzerschnittstelle auszugeben, die dem Benutzer das Speichern, Durchsuchen, Organisieren, Abrufen, Anzeigen, Löschen und/oder die Durchführung anderer Vorgänge in Bezug auf Objekte, wie Dateien, ermöglicht. Die Dateien können vom Speichersystem hierarchisch angeordnet werden, wie beispielsweise eine Ordnerstruktur. Hierin werden Dateien als Anwendungsbeispiele von Objekten beschrieben, und die Offenbarung hierin ist gleichermaßen auf andere Objekttypen anwendbar, wie beispielsweise die Ordner der hierarchischen Ordnerstruktur. Das Speichersystem kann den Zugriff auf Objekte durch einen einzelnen Benutzer oder durch eine Gruppe von bestimmten Benutzern ermöglichen. Die Benutzerschnittstelle für das Speichersystem kann von dem Anwendungshostingdienst 130 zur Anzeige an einer dem Benutzer zugeordneten Vorrichtung, wie beispielsweise dem Benutzersystem 110, durch Übertragung von Signalen und/oder Daten von dem Anwendungshostingdienst 130 an das Benutzersystem 110 ausgegeben werden die, wenn durch das Benutzersystem 110 interpretiert, eine Anzeige der Dokumentenbearbeitungsanwendung auf dem Benutzersystem 110 verursachen.
-
2 ist ein Blockdiagramm eines Beispiels einer Hardwarekonfiguration für einen oder mehrere Servercomputer 132 von 1. Die gleiche Hardwarekonfiguration oder eine ähnliche Hardwarekonfiguration kann verwendet werden, um Anwendersystem 110 und zusätzliche Anwendersysteme 120 zu implementieren. Jeder Server-Computer 132 kann eine CPU 210 beinhalten. Bei einer CPU 210 kann es sich um eine konventionelle zentrale Recheneinheit handeln. Alternativ kann es sich bei der CPU 210 um ein beliebiges anderes Gerät oder mehrere Geräte handeln, die bestehende oder zu einem späteren Zeitpunkt erarbeitete Daten ändern oder verarbeiten können. Auch wenn die offenbarten Ausführungsformen mit einem einzigen Prozessor, z. B. mit der CPU 210, umgesetzt werden können, können durch Verwendung von mehr als einem Prozessor eine höhere Geschwindigkeit und Effizienz erzielt werden.
-
Jeder Servercomputer 132 kann einen Speicher 220, wie beispielsweise einen Schreib-/Lesespeicher (RAM), umfassen. Es kann jede andere Art von Speichergerät als Speicher 220 verwendet werden. Der Speicher 220 kann Code und Daten 222 beinhalten, auf die über eine CPU 210 mittels eines Busses 230 zugegriffen werden können. Speicher 220 kann ferner ein oder mehrere Anwendungsprogramme 224 und ein Betriebssystem 226 beinhalten. Anwendungsprogramme 224 können Softwarekomponenten in der Form von Computer ausführbaren Programmanweisungen beinhalten, die die CPU 210 veranlassen, die Arbeitsvorgänge und hier beschriebenen Verfahren auszuführen.
-
Eine Datenspeicher 240 kann optional in Form eines geeigneten nicht-transitorischen computerlesbaren Mediums, wie beispielsweise eines Festplattenlaufwerks, eines Datenspeichers, eines Flash-Laufwerks oder eines optischen Laufwerks, bereitgestellt werden. Ein oder mehrere Eingabegeräte 250, wie beispielsweise eine Tastatur, eine Maus oder ein gestenbasiertes Eingabegerät, empfangen Benutzereingaben und können Signale oder Daten als Reaktion auf die an die CPU 210 gesendeten Benutzereingaben ausgeben. Ein oder mehrere Ausgabegeräte, z. B. Anzeigevorrichtung 260, können bereitgestellt werden. Anzeigevorrichtung 260, wie beispielsweise ein Flüssigkristalldisplay (Liquid Crystal Display, LCD), ein Display mit Kathodenstrahlröhre (Cathode-Ray Tube, CRT) ermöglicht die Ausgabe für den Benutzer, beispielsweise nach dem Empfang eines Videosignals.
-
Obwohl 2 eine CPU 210 und einen Speicher 220 von jedem Server-Computer 132 darstellt, können andere Konfigurationen verwendet werden. Die Arbeitsvorgänge der CPU 210 können auf mehrere Geräte verteilt werden, (dabei besitzt Gerät einen oder mehrere Prozessoren), die direkt oder über eine lokale Umgebung oder ein anderes Netzwerk gekoppelt werden können.
-
Der Speicher 220 kann auf mehrere Maschinen, wie netzwerkbasierter Speicher oder Speicher in mehreren Maschinen, verteilt werden. Obwohl Bus 230 jedes Servercomputers 132 hier als ein einzelner Bus dargestellt ist, kann er aus mehreren Bussen bestehen. Des Weiteren kann Speichergerät 240 direkt mit anderen Komponenten des jeweiligen Servercomputers 132 gekoppelt oder über ein Netzwerk erreicht werden und eine einzige integrierte Einheit, z. B. eine Speicherkarte, oder mehrere Einheiten, z. B. mehrere Speicherkarten umfassen. Ein oder mehrere Servercomputer können demnach in einer Vielzahl von verschiedenen Konfigurationen implementiert werden.
-
3 ist ein Blockdiagramm, das ein Speichersystem 300 zeigt. Das Speichersystem 300 kann ganz oder teilweise durch den Anwendungshostingdienst 130 implementiert werden. Als ein Ausführungsbeispiel kann der Anwendungshostingdienst 130 das Speichersystem 300 so implementieren, dass Informationen an das Benutzersystem 110 übertragen werden, was bewirkt, dass Benutzerschnittstellen für das Speichersystem 300 zur Anzeige über eine Browser-Anwendung am Benutzersystem 110 ausgegeben werden. Als weiteres Ausführungsbeispiel kann das Benutzersystem 110 mit einer ausführbaren Front-End-Anwendung versehen sein, die Informationen von einer Back-End-Anwendung empfangt, die am Anwendungshostingdienst ausgeführt werden. Als weiteres Anwendungsbeispiel kann das Speichersystem 300 nur auf dem Benutzersystem 110 in der Form von Software implementiert sein, die am Benutzersystem 110 ausgeführt wird.
-
Ein Datenspeicher 310 des Speichersystems 300 speichert Informationen, die Objekte, wie beispielsweise Dateien enthalten, die im Speichersystem 300 gespeichert sind. Der Datenspeicher 310 kann eine beliebige Vorrichtung oder Kombination von Vorrichtungen, einschließlich verteilter Datenspeicher, sein. Der Zugriff auf die im Datenspeicher 310 gespeicherten Informationen wird durch einen Speichermanager 320 geregelt, der zum Speichern und Abrufen von Objekten betreibbar ist. In einigen Implementierungen ist die Befähigung zum Speichern und Abrufen von Objekten von Zugriffssteuerungsinformationen und/oder Nutzerkontoinformationen abhängig, die von dem Speichermanager 320 aufrechterhalten werden können. Der Speichermanager 320 ist zur Ausgabe von Informationen betreibbar, die, wenn durch das Benutzersystem 110 verarbeitet, bewirken, dass die Benutzeroberflächen 330 für das Speichersystem 300 zur Anzeige ausgegeben werden. Die Benutzerschnittstellen 330 können beispielsweise Ansichten sein, die die im Speichersystem 300 gespeicherten Objekte, wie beispielsweise eine Ansicht, die in einem bestimmten Ordner auf dem Speichersystem 300 vorhandenen Objekte zeigt darstellen, eine Ansicht, die Objekte zeigt, die mit einer Suchanfrage übereinstimmen, eine Ansicht, die Objekte mit gemeinsamen Eigenschaften anzeigt, oder jede andere Art an Ansicht, die zur Darstellung von Objekten im Speichersystem 300 verwendet werden kann. In Implementierungen, in denen das Speichersystem 300 Objekte in einem hierarchischen Ordnerbasierten Format organisiert, kann die Ansicht Informationen enthalten, die Position innerhalb der aktuell angezeigten Hierarchie identifizieren, sowie Symbole, Namen und/oder andere Darstellungen, die Dateien und/oder untergeordnete vorhandene Ordner identifizieren.
-
Die Benutzereingaben 340 können über Benutzer betreibbare Schnittstellenelemente der Benutzerschnittstellen 330 empfangen und an den Speichermanager 320 übertragen werden. Wie hier verwendet, ist ein vom Benutzer bedienbares Schnittstellenelement eine Funktion in einer Schnittstelle, die bewirkt, dass ein Programm auf einen Benutzer-Input reagiert. Einige vom Benutzer bedienbare Schnittstellenelemente sind Bereichen des Bildschirms und/oder sichtbaren Elementen des Bildschirms, wie Schaltflächen, Schiebereglern und Auswahlfeldern zugeordnet, die Informationen von Benutzereingaben empfangen können, und/oder Aktionen als Reaktion auf Benutzereingaben ausführen. Andere vom Benutzer bedienbare Schnittstellenelemente sind nicht mit Abschnitten des Bildschirms assoziiert und entsprechen keinem sichtbaren Element des Bildschirms. Solche Schnittstellenelemente können als Programmfunktionen definiert werden, die Benutzereingaben überwachen und Aktionen in Reaktion auf bestimmte Benutzereingaben auslösen. Als ein Ausführungsbeispiel kann eine Gesteneingabe einer bestimmten Form, Richtung und/oder Geschwindigkeit verwendet werden, um eine Aktion ohne Bezug auf den Ort der Gesteneingabe in Bezug auf den Bildschirm auszulösen. Als weiteres Ausführungsbeispiel kann eine Tastenbetätigung oder eine Kombination von Tastenbetätigungen eine Aktion auslösen, wenn diese von der Schnittstelle erkannt werden. Weitere Ausführungsbeispiele sind auf dem Gebiet der Benutzerschnittstellen für Computersoftware bekannt und können in Benutzerschnittstellen 330 integriert werden.
-
4 ist eine Illustration, die eine erste Ansicht eines Schnittstellenschirms 400 des Speichersystems 300 für einen übergeordneten Ordner zeigt. Der Schnittstellenbildschirm 400 für übergeordnete Ordner zeigt Informationen entsprechend eines Ordners in der hierarchischen Dateispeicherstruktur an, die vom Speichersystem 300 verwaltet werden. Die Bezeichnung ”Schnittstellenbildschirm für übergeordnete Ordner” wird in der hierin beschriebenen Erklärung verwendet, um zwischen Schnittstellenbildschirmen zu unterschieden, die verschiedene Ordner zeigen und nicht dazu bestimmt sind, Strikturen oder Funktionen zu konnotieren, die sich von den Funktionen jeglicher anderer darin enthaltener Ordner oder jeglichen anderen Ordnern innerhalb der hierarchischen Dateispeicherstruktur unterscheiden.
-
Der Schnittstellenbildschirm 400 für übergeordnete Ordner enthält einen Pfad-Indikator 410. Der Pfad-Indikator 410 enthält Informationen, die den Speicherort innerhalb der hierarchischen Dateispeicherstruktur des Speichersystems 300 identifizieren, der durch den schnittstellenbildschirm 400 für den übergeordneten Ordner dargestellt ist. Im illustrierten Ausführungsbeispiel enthält der Pfad-Indikator 410 einen Text, der die Namen der drei Ordner ”Kundenprojekte”, ”TopHat” und ”Designphase” darstellt. Der aktuell angezeigte Ordner ist der Ordner ”Designphase”, die durch die Platzierung des Namens dieses Ordners an der rechten Seite des Pfad-Indikators 410 angezeigt und wie durch eine grafische Anzeige, wie etwa eine Unterstreichung, die beim Text ”Designphase” innerhalb des Pfad-Indikators 410 angewendet ist.
-
Die Ordnernamen im Pfad-Indikator 410 können durch graphische Indikatoren, wie beispielsweise Pfeile, die anzeigen, dass jeder Name einen Ordner repräsentiert, der in dem zuvor genannten Ordner enthalten ist, getrennt werden. So befindet sich beispielsweise der Ordner ”Designphase” im Ordner ”TopHat”, der sich im Ordner ”Kundenprojekte” befindet. Der Ordner ”Kundenprojekte” kann in einem Stammordner oder innerhalb eines Ordners enthalten sein, der nicht im Pfad-Indikator 410 dargestellt ist.
-
Der Pfad-Indikator 410 kann, beispielsweise durch Unterstreichen, Umreißen, Hervorheben oder Schattieren eine grafische Angabe zur Identifikation enthalten, welcher Ordner der aktuelle Ordner ist. Teile des Pfad-Indikators 410 können vom Benutzer bedienbare Schnittstellenelemente sein oder diese umfassen. Beispielsweise könnte ein Tippen, Klicken oder eine andere Eingabe, gerichtet auf den Ordnernamen ”Kundenprojekte” zu einer Navigation zum Ordner ”Kundenprojekte” führen. In diesem Zusammenhang bedeutet ”Navigation”, dass die aktuelle Ansicht durch eine Ansicht ersetzt wird, die den Ordner ”Kundenprojekte” darstellt.
-
Der Schnittstellenbildschirm 400 für den übergeordneten Ordner kann Symbole enthalten, die innerhalb des angezeigten Ordners enthalten sind, wie beispielsweise Ordnersymbole 420 und Eintragssymbole 430. In dem illustrierten Ausführungsbeispiel ist jedes Ordnersymbol 420 und jedes Eintragssymbol 430 ein rechteckiger Bereich des Schnittstellenbildschirms 400 für übergeordnete Ordner, der durch Linien oder Schattierungen begrenzt ist und Text und/oder Bilder enthält, die einen Ordner oder einen anderen Eintrag darstellen, der im angezeigten Ordner enthalten ist. In dem illustrierten Ausführungsbeispiel enthält der Schnittstellenbildschirm 400 für übergeordnete Ordner vier Ordnersymbole 420, die Ordner mit der Benennung ”Ordner 1”, ”Ordner 2”, ”Ordner 3” und ”Ordner 4” darstellen. Ein Eintragssymbol 430 ist sichtbar. Der Schnittstellenbildschirm 400 für übergeordnete Ordner kann jedoch scrollbar sein. Dadurch, kann es sein, dass die Darstellung in 4 nur einen Teil des Schnittstellenbildschirms 400 für übergeordnete Ordner anzeigt und Benutzer in der Ansicht scrollen müssen, um die anderen Abschnitte anzuzeigen. Im Schnittstellenbildschirm 400 für den übergeordneten Ordner sowie den anderen hierin beschriebenen Schnittstellenordnern können die Ordnersymbole 420 und die Eintragssymbole 430 durch verschiedene Arten von Ansichten, wie beispielsweise einer Listenansicht oder einer Rasteransicht, dargestellt werden und der Schnittstellenbildschirm 400 eine Schnittstellenschaltfläche (nicht angezeigt) zur Änderung des Ansichtstyps enthalten.
-
Die Ordnersymbole 420 und Eintragssymbole 430 können auf Benutzer-Inputs ansprechen und als vom Benutzer bedienbare Schnittstellenelemente, wie bereits zuvor erläutert, fungieren. Mit Bezug auf die gestenbasierten Eingaben als Beispiel kann ein Tippen zur Auswahl eines der Ordnersymbole 420 oder Eintragssymbole 430 führen, wobei ein Doppeltippen in Bezug auf eines der Ordnersymbole 420 eine Navigation zu dem Ordner auslöst, der diesem Ordnersymbol 420 entspricht und ein Doppeltippen in Bezug auf eines der Eintragssymbole 430 kann dazu führen, dass der durch das Eintragssymbol 430 dargestellte Eintrag zur Ansicht und/oder Bearbeitung in der aktuellen Softwareanwendung oder einer anderen Softwareanwendung geöffnet wird.
-
Im dargestellten Ausführungsbeispiel wird eine Benutzerschnittstellenaktion in Form einer Navigationseingabe 440 innerhalb der Grenzen des Ordnersymbols 420, was dem ”Ordner 1” entspricht, durchgeführt. Die Navigationseingabe 440 fordert eine Ansicht an, die Inhalte von ”Ordner 1” repräsentiert. Als Reaktion auf die Navigationseingabe 440 wird die erste Ansicht des Schnittstellenbildschirms 400 für übergeordnete Ordner aus der Anzeige entfernt und die erste Ansicht des Schnittstellenbildschirms 500 für untergeordnete Ordner zur Anzeige ausgegeben, wie in 5 angezeigt, wobei der Schnittstellenbildschirm 500 für untergeordnete Ordner eine Ansicht ist, die den Inhalt von ”Ordner 1” darstellt, wie durch die Navigationseingabe 440 angefordert.
-
Der Schnittstellenbildschirm 500 für untergeordnete Ordner enthält einen Pfad-Indikator 510 und eine Vielzahl an Eintragssymbolen 530. Der Pfad-Indikator 510 ist wie in Bezug auf den Pfad-Indikator 410 beschrieben, mit der Ausnahme, dass der Inhalt des Pfad-Indikators 510 geändert wird, um Test hinzuzufügen, der den aktuell angezeigten Ordner, ”Ordner 1”, darstellt, der zur Anzeige, dass ”Ordner 1” der aktuelle Ordner ist, unterstrichen ist. Eintragssymbole 530 sind wie in Bezug auf die Eintragssymbole 430 beschrieben. Wie auch beim Schnittstellenbildschirm 400 für übergeordnete Ordner ist die Ansicht des Schnittstellenbildschirms 500 für untergeordnete Ordner, angezeigt in 5, eventuell nur ein Teil, der momentan ohne Scrollen sichtbar ist, und andere Abschnitte können durch Scrollen sichtbar gemacht werden.
-
Im illustrierten Ausführungsbeispiel wird eine Benutzerschnittstellenaktion in Form einer Auswahleingabe 540 innerhalb der Grenzen eines der Eintragssymbole 530 dargestellt. Die Auswahleingabe 540 ist ausführbar und bewirkt, dass das ausgewählte der Eintragssymbole 530 einer unterankerten Dateisammlung hinzugefügt wird, wie hierin beschrieben. Als solches kann die Art und Weise der Durchführung der Eingabe so ausgewählt werden, dass diese sich von anderen Formen von Benutzereingaben unterscheidet, die in Bezug auf die Eintragssymbole 530 oder andere vom Benutzer bedienbare Schnittstellenelemente gemacht werden können, die in den Schnittstellenbildschirm 500 für untergeordnete Ordner integriert sind. Als ein Ausführungsbeispiel kann eine Auswahleingabe 540 ein Tippen oder ein Klick sein. Als ein weiteres Ausführungsbeispiel kann die Auswahleingabe 540 eine drücken-und-halten Geste sein. Als ein weiteres Ausführungsbeispiel kann eine separate Schnittstellenschaltfläche (nicht angezeigt) in den Schnittstellenbildschirm 500 für untergeordnete Ordner integriert werden, der nach Betätigung durch den Benutzer einen Auswahlmodus aufruft, in dem Auswahleingaben, wie ein Klicken oder Tippen, dazu führen, dass Objekte einer unverankerten Dateisammlung zugefügt werden.
-
6 zeigt eine zweite Ansicht eines Schnittstellenbildschirms 500 für untergeordnete Ordner. Die zweite Ansicht des Schnittstellenbildschirms 500 für untergeordnete Ordner enthält eine unverankerte Dateisammlung 650. In 6 enthält die unverankerte Dateisammlung ein Symbol, welches ein einzelnes Objekt darstellt, welches einem Eintragssymbol 530 entspricht, welches durch die Auswahleingabe 540, wir zuvor beschrieben, ausgewählt wurde. Im illustrierten Ausführungsbeispiel erscheint das zuvor ausgewählte Eintragssymbol 530 nicht mehr mit den anderen Eintragssymbolen 530, nachdem dieses ausgewählt und in der unverankerten Dateisammlung 650 platziert wurde. In einer alternativen Implementierung kann das zuvor ausgewählte Eintragssymbol 530 nach Selektierung mit den anderen Eintragssymbolen 530 verbleiben. Die unverankerte Dateisammlung 650 kann einen ähnlichen rechteckigen Bereich mit Text und/oder graphischen Elementen wie die Eintragssymbole 530 enthalten. Die unverankerte Dateisammlung 650 kann von Eintragssymbolen 530 und anderen Teilen des Schnittstellenbildschirms 500 für untergeordnete Ordner sowohl visuell als auch hinsichtlich Verhaltensweisen und Funktionen unterschieden werden.
-
Zur visuellen Unterscheidung der unverankerten Dateisammlung 650 von den Eintragssymbolen 530 kann die Größe oder Skalierung der in der unverankerten Dateisammlung 650 dargestellten Elemente relativ zu den Eintragssymbolen 530 geändert werden. Zum Beispiel kann jedes in der unverankerten Dateisammlung 650 dargestellte Element ähnlich den Proportionen und Inhalten des Eintragssymbols 530 sein, jedoch mit einer geringfügigen Reduzierung, indem es auf etwa zwei Drittel der Größe des Eintragssymbols 530 verkleinert wird. Als weiteres Ausführungsbeispiel kann eine unverankerte Dateisammlung 650 visuell durch einen grafischen Effekt, wie einen Schlagschatten, Leuchten, einem dicken Rand oder einer Kontrastfarbe, unterschieden werden. Andere grafische Merkmale können zur Unterscheidung der unverankerten Dateisammlung 650 von den Eintragssymbolen 530 und anderen Teilen des Schnittstellenbildschirms 500 für untergeordnete Ordner verwendet werden.
-
Die unverankerte Dateisammlung 650 ist auch hinsichtlich der Verhaltensweisen von den Eintragssymbolen 530 unterscheidbar. Als ein Ausführungsbeispiel ist die unverankerte Dateisammlung 650 über den Eintragssymbolen 530 überlagert. Die unverankerte Dateisammlung 650 kann in Bezug auf die Eintragssymbole 530 zur Neupositionierung der unverankerten Dateisammlung 650 innerhalb der Schnittstelle verschoben werden, beispielsweise durch eine klicken und ziehen Schnittstellenaktion mit der Maus oder durch eine tippen und ziehen Schnittstellenaktion mit einem berührungsempfindlichen Eingabegerät. Beim Scrollen des Schnittstellenbildschirms 500 für untergeordnete Ordner (oder einem anderen Schnittstellenbildschirm, auf dem die unverankerte Dateisammlung 650 angezeigt wird) kann die unverankerte Dateisammlung 650 angezeigt bleiben, während andere Teile der Schnittstelle in Bezug darauf gescrollt werden.
-
Zusätzlich zur unverankerten Dateisammlung 650 enthält die zweite Ansicht des Schnittstellenbildschirms 500 für untergeordnete Ordner ein neues Ordnerziel 660. Das neue Ordnerziel 660 wird dem Schnittstellenbildschirm dann hinzugefügt, wenn die unverankerte Dateisammlung 650 präsent ist und kann entfernt werden, wenn die unverankerte Dateisammlung 650 nicht mehr präsent ist. Das neue Ordnerziel 660 ist ein diskreter Bereich am Bildschirm, wie ein gebundener, schattierter oder anderweitig vom Schnittstellenbildschirm unterscheidbarer Bereich. In dem illustrierten Ausführungsbeispiel ist das neue Ordnerziel 660 durch ein Rechteck begrenzt und enthält eine Textlegende, die dessen Funktion identifiziert (z. B. ”zu einem neuen Ordner verschieben”). Das neue Ordnerziel 660 ist ein Bereich des Bildschirms, in den die unverankerte Dateisammlung 650 zur Durchführung von Dateiverwaltungsvorgänge abgelegt werden kann. Die unverankerte Dateisammlung 650 kann durch eine Schnittstellenaktion, wie einer ziehen und ablegen Eingabe, in einem neuen Ordnerziel 660 platziert werden, wobei ein neuer Ordner erstellt und bewirkt wird, dass durch die unverankerte Dateisammlung 650 dargestellte Objekte in den neuen Ordner verschoben werden. Das neue Ordnerziel 660 ist ein bestimmter Bereich, der keiner anderen Funktion dient und somit frei von Symbolen und Schaltflächen innerhalb seiner Grenzen ist.
-
Im illustrierten Ausführungsbeispiel wird eine Benutzerschnittstellenaktion in Form einer Auswahleingabe 640 innerhalb der Grenzen eines der Eintragssymbole 530 durchgeführt. Die Auswahleingabe 640 ist ausführbar und bewirkt, dass das ausgewählte der Eintragssymbole 530 der unterankerten Dateisammlung 650 hinzugefügt wird. 7 zeigt eine dritte Ansicht des Schnittstellenbildschirms 500 für untergeordnete Ordner nach der Auswahleingabe 640, wobei sich die Erscheinung der unverankerten Dateisammlung 650 geändert hat, um einen Stapel darzustellen, der zwei der Eintragssymbole ähnelt und zur Anzeige der Anzahl an Elementen in der unverankerten Dateisammlung 650 den numerischen Wert ”2” enthält.
-
Im illustrierten Ausführungsbeispiel wird eine Benutzerschnittstellenaktion in Form von einer Navigationseingabe vom Schnittstellenbildschirm 500 für untergeordnete Ordner empfangen, nachdem die Auswahleingabe 640 empfangen und die unverankerte Dateisammlung 650 aktualisiert wurde. In diesem Ausführungsbeispiel kehren die Navigationseingabeanforderungen, wie durch den Schnittstellenbildschirm 400 für übergeordnete Ordner dargestellt, zurück zum Ordner ”Designphase”. Dies bewirkt einen Ansichtsübergang zu einer Ansicht des Schnittstellenschirms 400 für übergeordneten Ordner. Während des Ansichtsübergangs wird der Schnittstellenbildschirm 500 für untergeordnete Ordner von der Anzeige entfernt und der Schnittstellenbildschirm 400 für übergeordnete Ordner zur Anzeige ausgegeben, während die unverankerte Dateisammlung 650 zur Anzeige ausgegeben bleibt.
-
In einer Implementierung ist die Navigationseingabe eine Gesteneingabe, wie beispielsweise eine Zieh- oder Wischbewegung, die quer (d. h. horizontal über) Schnittstellenbildschirm 500 für untergeordnete Ordner ausgeführt wird. Dies kann einen animierten Ansichtsübergang zu einer anderen Ansicht verursachen, wie zum Beispiel eine Ansicht des Schnittstellenschirms 400 für übergeordnete Ordner. Der animierte Ansichtsübergang kann den Schnittstellenbildschirm 500 für untergeordnete Ordner (d. h. die erste Ansicht) von der Anzeige entfernen, indem er aus dem Anzeigebereich (z. B. Fenster, Bildschirm, usw.) in Übereinstimmung mit der Gesteneingabe verschoben wird. Der animierte Ansichtsübergang kann eine Ansicht des Schnittstellenbildschirms 400 für übergeordnete Ordner (d. h. eine zweite Ansicht) zur Anzeige ausgeben, indem diese in einen Anzeigebereich in Übereinstimmung mit der Gesteneingabe verschoben wird. Somit kann der animierte Ansichtsübergang eine erste Ansicht aus der Anzeige entfernen, indem die erste Ansicht aus dem Anzeigebereich verschoben wird und gleichzeitig eine zweite Anzeige in den Anzeigebereich verschoben wird, und dies kann in Übereinstimmung mit der Gesteneingabe erfolgen, wobei ”in Übereinstimmung mit der Gesteneingabe” eine Bewegung bedeutet, die ähnlich der Bewegung der Gesteneingabe ist. Während des animierten Ansichtsübergangs bleibt die unverankerte Dateisammlung 650 zur Anzeige ausgegeben, wobei der Schnittstellenbildschirm 500 für untergeordnete Ordner und der Schnittstellenbildschirm 400 für übergeordnete Ordner sich in Bezug darauf verschieben.
-
Als Reaktion auf die Navigationseingabe wird eine zweite Ansicht des Schnittstellenbildschirms 400 für übergeordnete Ordner zur Anzeige ausgegeben, wie anzeigt in 8. Der Schnittstellenbildschirm 400 für übergeordnete Ordner ist wie in Bezug auf 4 beschrieben jedoch mit einer unverankerten Dateisammlung 650, die nun über dem Schnittstellenbildschirm 400 für übergeordnete Ordner überlagert und als Zusatz eines Verschiebungsziels 850 und eines neuen Ordnerziels 860 ist.
-
Das Verschiebungsziel 850 und das neue Ordnerziel 860 sind ähnlich dem neuen Ordnerziel 660. Durch das Verschiebungsziel 850 kann die unverankerte Dateisammlung 650 zum aktuellen Ordner verschoben werden, sofern die unverankerte Dateisammlung 650 durch eine Benutzerschnittstellenaktion innerhalb dessen Grenzen abgelegt ist. In diesem Ausführungsbeispiel ist das Verschiebungsziel 850 durch ein Rechteck begrenzt und enthält eine Textlegende, die dessen Funktion (z. B. ”in diesen Ordner verschieben”) anzeigt. Dies stellt einen dedizierten und beschränkten Bereich auf dem Bildschirm zur Verfügung, in dem die unverankerte Dateisammlung 650 abgelegt werden kann, um diese, im Gegensatz zu typischen Dateiverwaltungsschnittstellen, bei denen Dateien zur Verschiebung mit anderen Dateien abgelegt werden müssen, was zu Problemen führen kann, wenn der Schnittstellenbildschirm überfüllt ist und kein freier Bereich vorhanden ist, in dem die Datei abgelegt werden kann, in den aktuell angezeigten Ordner zu verschieben. Das neue Ordnerziel 860 führt dieselbe Funktion aus und arbeitet auf die gleiche Weise, wie es in Bezug auf das neue Ordnerziel 660 beschrieben ist.
-
Eine Verschiebungseingabe wird in Bezug zur unverankerten Dateisammlung 650 empfangen. Die Verschiebungseingabe ist ein Eingabesignal, welches eine Benutzerabsicht zur Platzierung der Objekte darstellt, die durch die unverankerte Dateisammlung 650 an einen bestimmten Speicherort (z. B. Ordner) innerhalb der hierarchischen Struktur des Speichersystems repräsentiert werden. In diesem Ausführungsbeispiel ist die Verschiebungseingabe eine Eingabe vom Typ klicken und ziehen oder berühren und ziehen, die innerhalb der Grenzen der unverankerten Dateisammlung 650 entsteht und eine Verschiebung der unverankerten Dateisammlung 650 in Bezug auf andere Teile des Schnittstellenbildschirms 400 für übergeordnete Ordner verursacht. Wie in 9 gezeigt positioniert die Verschiebungseingabe die unverankerte Dateisammlung 650 über eines der Ordnersymbole 420 und, wenn die Verschiebungseingabe mit der unverankerten Dateisammlung 650, die über dem Ordnersymbol 420 positioniert ist, beendet wird, der Speichermanager 320 bewirkt, dass die ausgewählten Objekte, die durch die unverankerte Dateisammlung 650 repräsentiert werden, aus dem Ordner in dem Sie sich befinden, ”Ordner V” in diesem Ausführungsbeispiel, entfernt werden, und bewirkt, dass die ausgewählten Objekte in dem Ordner gespeichert werden, der durch die Verschiebungseingabe, ”Ordner 2” in diesem Ausführungsbeispiel, bestimmt wurde. Das Verschieben der ausgewählten Objekte von einem Ordner zu einem anderen kann durch den Speichermanager 320, beispielsweise durch Modifikation der Informationen, die ausgewählte Objekte mit einem bestimmten Speicherort verbinden, erfolgen. Fachleute werden verstehen, dass die oben beschriebene Verschiebungseingabe ein Ausführungsbeispiel ist und jede der vielen bekannten Typen an Eingaben verwendet werden können.
-
10 ist ein Flussdiagramm, welches ein erstes Beispiel eines Prozesses 1000 zur Durchführung von Dateiverwaltungsvorgängen in einem Speichersystem zeigt. Die in Verbindung mit dem Prozess 1000 beschriebenen Vorgänge können an einem oder mehreren Computer durchgeführt werden, beispielsweise an einem oder mehreren Servercomputern 132 des Anwendungshostingdienstes 130. Wenn ein Arbeitsvorgang als von einem oder mehreren Computer durchgeführt beschrieben ist, ist er abgeschlossen, wenn er von einem allein arbeitenden Computer oder von mehreren zusammenarbeitenden Computer durchgeführt wird. Die Vorgänge, die in Verbindung mit dem Prozess 1000 beschrieben sind, können als ein nicht-transitorisches computerlesbares Speichermedium verkörpert sein, das Programmbefehle enthält, die von einem oder mehreren Prozessoren ausgeführt werden können, die bei der Ausführung bewirken, dass der eine oder mehrere Prozessoren die Vorgänge ausführen. Beispielsweise könnten die in Verbindung mit dem Prozess 1000 beschriebenen Vorgänge im Speicher 220 eines der Servercomputer 132 gespeichert und von der CPU 210 ausgeführt werden.
-
In Vorgang 1010 wird eine erste Ansicht zur Anzeige ausgegeben. Die erste Ansicht repräsentiert eine erste Vielzahl an Objekten, die an einem ersten Speicherort, wie einem ersten Ordner, eines hierarchischen Dateispeichersystems, wie dem Speichersystem 300, gespeichert sind. Die erste Ansicht kann eine scrollbare Ansicht sein, die in Reaktion auf Benutzereingaben scrollt, um den Teil der ersten Ansicht zu ändern, der aktuell angezeigt wird. Die Objekte können Dateien und Ordner enthalten. Ein Ausführungsbeispiel für die erste Ansicht ist der Schnittstellenbildschirm 500 der 5.
-
In Vorgang 1020 werden eine oder mehrere Auswähleingaben empfangen. Die Auswahleingaben sind Benutzereingabesignale, die Benutzerschnittstellenaktionen darstellen, die in Bezug auf die erste Ansicht durchgeführt werden, die zur Anzeige in Vorgang 1010 ausgegeben wurden. In diesem Zusammenhang bedeutet ”empfangen”, dass ein Signal, welches die Auswahleingabe repräsentiert, einem Prozessor oder einem Computergerät zur Verwendung als eine Eingabe zur Verfügung gestellt wird. Die Auswahleingaben bezeichnen ein oder mehrere Objekte aus der Vielzahl von Objekten als ausgewählte Objekte. Diese eine oder mehrere empfangenen Auswahleingaben können wie beschrieben mit Bezug auf die Auswahleingabe 540 und die Auswahleingabe 640 sein.
-
In Vorgang 1030 wird ein unverankertes Schnittstellenelement zur Anzeige ausgegeben. Das unverankerte Schnittstellenelement stellt die ausgewählten Objekte dar. Das unverankerte Schnittstellenelement wird zur Anzeige mit der Schnittstelle ausgegeben, die als erste Ansicht in Vorgang 1010 angezeigt wird. Das unverankerte Schnittstellenelement kann in der ersten Ansicht überlagert werden und in Reaktion auf eine Positionierungseingabe verschiebbar sein. Die erste Ansicht kann relativ zum unverankerten Schnittstellenelement scrollbar sein, so dass Teile der ersten Ansicht aus der Anzeige herausgescrollt werden (z. B. sie werden nicht langer in einem sichtbaren Teil der Schnittstelle positioniert oder sind nicht auf einem Anzeigebildschirm sichtbar), während das unverankerte Schnittstellenelement weiterhin angezeigt wird. Das unverankerte Schnittstellenelement kann wie beschrieben mit Bezug auf die unverankerte Dateisammlung 650 sein.
-
In Vorgang 1040 wird eine Navigationseingabe empfangen. Die Navigationseingabe kann einen zweiten Speicherort, wie einen zweiten Ordner des hierarchischen Speichersystems, ermitteln. In einem Ausführungsbeispiel ist die Navigationseingabe eine Gesteneingabe, wie ein Wischen. In einem weiteren Ausführungsbeispiel ist die Navigationseingabe ein Klick, Tippen, oder eine andere Eingabe, die auf ein direktes Schnittstellenelement gerichtet ist, welches einen zweiten Speicherort, wie einen Teil eines Pfad-Indikators, wie in Bezug auf den Pfad-Indikator 410 und den Pfad-Indikator 510 beschrieben, repräsentiert.
-
In Vorgang 1050 wird ein Ansichtsübergang ausgeführt. Der Ansichtsübergang wird in Reaktion auf die Navigationseingabe ausgeführt, die in Vorgang 1040 empfangen wurde. Der Ansichtsübergang entfernt die erste Ansicht aus der Anzeige und gibt eine zweite Ansicht zur Anzeige aus, die eine zweite Vielzahl an Objekten darstellt, die im zweiten Ordner gespeichert werden. Das unverankerte Schnittstellenelement, das die ausgewählten Objekte darstellt, bleibt während des Ansichtsübergangs angezeigt. Der Ansichtsübergang kann ein nicht-animierter Ansichtsübergang sein, z. B. durch Entfernen der mit dem ersten Speicherort assoziierten Objekte und anschließendem Anzeigen der mit dem zweiten Speicherort assoziierten Objekte, ohne dass die Ansichten oder Objekte darin relativ zum sichtbaren Bereich bewegt werden. Alternativ kann, wie vorher beschrieben, der Ansichtsübergang ein animierter Ansichtsübergang von der ersten Ansicht zu der zweiten Ansicht sein. Bei einer Implementierung entfernt ein animierter Ansichtsübergang die erste Ansicht von der Anzeige, indem die erste Ansicht aus einem Anzeigebereich in Übereinstimmung mit einer Gesteneingabe verschoben wird. In einer anderen Implementierung gibt ein animierter Ansichtsübergang die zweite Ansicht zur Anzeige, indem die zweite Ansicht in einen Anzeigebereich in Übereinstimmung mit einer Gesteneingabe verschoben wird. In einer anderen Implementierung entfernt ein animierter Ansichtsübergang die erste Ansicht von der Anzeige, indem die erste Ansicht aus einem Anzeigebereich verschoben und gleichzeitig die zweite Ansicht in den Anzeigebereich geschoben wird. In einer anderen Implementierung entfernt ein animierter Ansichtsübergang die erste Ansicht von der Anzeige, indem die erste Ansicht aus einem Anzeigebereich verschoben und gleichzeitig die zweite Ansicht entsprechend einer Gesteneingabe in den Anzeigebereich geschoben wird.
-
In Vorgang 1060 wird eine Objektbewegungseingabe empfangen. Die Objektbewegungseingabe ist ein Signal, das eine Benutzerabsicht darstellt, die ausgewählten Dateien, die durch das unverankerte Schnittstellenelement dargestellt werden, an einen Speicherort (z. B. einen Ordner) zu verschieben, der durch die Objektbewegungseingabe angegeben wird, wie beschrieben in Bezug auf 9.
-
In Vorgang 1070 werden ein oder mehrere Objekte verschoben. Die ausgewählten Objekte, die durch das unverankerte Schnittstellenelement dargestellt werden, können in Reaktion auf die Objektbewegungseingabe, die beim Vorgang 1060 empfangen wurde, zu der Stelle verschoben werden, die durch die Objektbewegungseingabe angezeigt wird. Die ausgewählten Objekte können an den angegebenen Speicherort im hierarchischen Speichersystem verschoben werden. Das Verschieben der Objekte kann wie beschrieben durchgeführt werden, beispielsweise in Bezug auf den Speichermanager 320 und 9.
-
Die vorstehende Beschreibung beschreibt nur einige Ausführungsbeispiele der beschriebenen Techniken. Andere Implementierungen sind verfügbar. Zum Beispiel ist die spezielle Benennung der Komponenten, die Aktivierung von Begriffen, die Attribute, Datenstrukturen oder jegliche andere Programmier- oder Strukturaspekte nicht zwingend oder signifikant und die Mechanismen, die die Erfindung oder deren Merkmale implementieren, können unterschiedliche Namen, Formate oder Protokolle haben. Außerdem kann das System mittels einer Kombination aus Hardware und Software, wie beschrieben, oder gänzlich in Hardware-Elementen implementiert sein. Ferner ist die spezielle Teilung der Funktionalität zwischen den verschiedenen hierin beschriebenen Systemkomponenten lediglich beispielhaft und nicht zwingend; Funktionen, die von einer einzigen Systemkomponente ausgeführt werden, können stattdessen durch mehrere Komponenten ausgeführt werden, und Funktionen, die von mehreren Komponenten ausgeführt werden, können stattdessen durch eine einzelne Komponente ausgeführt werden.
-
Die hierin verwendete Wort ”Beispiel” dient als Beispiel, Instanz, oder Illustration. Jeder Aspekt oder Entwurf, das hierin als ”Beispiel” beschrieben wird, ist nicht zwingend als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Designs auszulegen. Vielmehr soll das Wort ”Beispiel” Konzepte auf eine korrekte Art und Weise darstellen. In seiner in dieser Anmeldung verwendeten Form soll der Begriff „oder” ein einschließendes „oder” vielmehr als ein ausschließendes „oder” bezeichnen. Das heißt, sofern nichts Anderslautendes durch den Kontext vorgegeben oder anhand desselben erkennbar ist, soll „X beinhaltet A oder B” jede beliebige der selbstverständlich einschließenden Umsetzungen einbeziehen. Das heißt, wenn X A beinhaltet; X B beinhaltet; oder X sowohl A als auch B beinhaltet, dann ist „X beinhaltet A oder B” in jedem der vorstehenden Fälle abgedeckt. Zusätzlich dazu sind die Artikel „ein” und „eine” in ihrer in dieser Anmeldung und den angehängten Ansprüchen verwendeten Form im Allgemeinen so auszulegen, dass sie „ein oder mehrere” bedeuten, sofern nichts Anderslautendes, wie etwa, dass damit eine Einzahl gemeint ist, durch den Kontext vorgegeben oder anhand desselben erkennbar ist. Darüber hinaus die Verwendung des Begriffs ”die Ausführungsform” oder ”eine Ausführungsform” oder ”eine Implementierung” oder ”die Implementierung” nicht die gleiche Ausführungsform oder Implementierung bedeuten, es sei denn dies ist als solches kenntlich gemacht.
-
Die hierin beschriebenen Implementierungen der Computergeräte (z. B. Clients und Server) können in Hardware, Software oder irgendeiner Kombination davon realisiert werden. Die Hardware kann beispielsweise Computer, Kerne von intellektuellem Eigentum (IP), anwendungsspezifisch integrierte Schaltkreise (ASICs), programmierbare logische Anordnungen, optische Prozessoren, speicherprogrammierbare Steuerungen, Mikrocodes, Mikrocontroller, Server, Mikroprozessoren, digitale Signalprozessoren oder jegliche andere geeigneten Schaltungen umfassen. In diesen Patentansprüchen umfasst der Begriff „Prozessor” jede der vorstehenden Hardware, ob einzeln oder in Kombination. Die Begriffe „Signal” und „Daten” werden synonym verwendet. Ferner, Teile eines jeden Clients und eines jeden der hierin beschriebenen Server müssen nicht notwendigerweise in der gleichen Weise implementiert werden.
-
Die beschriebenen von einem einzelnen Prozessor, Computer, oder Gerät beschriebenen Vorgänge können über eine Anzahl an verschiedenen Prozessoren, Computer oder Vorrichtungen verteilt werden. Ebenso können Arbeitsvorgänge, die als Arbeitsvorgänge beschrieben werden, die von verschiedenen Prozessoren, Computer oder Geräten durchgeführt werden, in einigen Fällen von einem einzigen Prozessor, Computer oder Gerät durchgeführt werden.
-
Auch wenn Funktionen oben beschrieben oder beansprucht werden können, um in bestimmten Kombinationen zu wirken, können ein oder mehrere Funktionen einer Kombination in einigen Fällen aus der Kombination herausgeschnitten werden, und die Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.
-
Die hierin beschriebenen Systeme, wie Clientcomputer und Servercomputer, können unter Verwendung von Allzweckcomputern/-prozessoren mit einem Computerprogramm implementiert werden, das, wenn es ausgeführt wird, jedes der hierin beschriebenen Verfahren, Algorithmen und/oder Anweisungen ausführt. Zusätzlich oder alternativ können bspw. Spezialrechner/-prozessoren eingesetzt werden, die über eine spezielle Hardware zur Ausführung jeder der hier genannten Verfahren, Algorithmen und/oder Anweisungen verfügen.
-
Einige Teile der obigen Beschreibung umfassen eine Offenbarung in Form von Algorithmen und symbolischen Darstellungen von Vorgängen auf Information. Diese algorithmischen Beschreibungen und Darstellungen sind von Datenverarbeitungsexperten verwendete Mittel, um das Wesentliche ihrer Arbeit anderen Fachleuten auf dem Gebiet zu vermitteln. Es versteht sich, dass diese Arbeitsvorgänge trotz ihrer funktionellen und logischen Beschreibung von Computerprogrammen implementiert werden. Weiterhin hat es sich zeitweise auch als angebracht erwiesen, sich auf diese Anordnungen von Vorgängen als Module oder durch funktionelle Namen ohne Verlust von Allgemeinheit zu beziehen. Es sollte bemerkt werden, dass die Verfahrensschritte und Anweisungen der Implementierungen dieser Offenbarung in Software, Firmware oder Hardware verkörpert sein können, und wenn sie in Software verkörpert sind, heruntergeladen werden können, um auf verschiedenen Plattformen zu residieren und von diesen betrieben zu werden, die von Echtzeitnetzwerkbetriebssystemen benutzt werden.
-
Sofern nicht ausdrücklich als Abweichung der obigen Diskussion angegeben versteht es sich, dass in der gesamten Beschreibung Diskussionen Begriffe wie ”Verarbeitung”, oder ”Computing”, oder ”Berechnen”, oder ”Bestimmen”, oder ”Anzeigen”, oder ähnliches sich auf Aktion und Prozessen eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten, die als physikalische (elektronische) Größen innerhalb der Computersystemspeicher oder -register oder anderer solcher Informationsspeicherungs-, -übertragungs- oder -anzeigevorrichtungen dargestellt sind, manipuliert oder transformiert.
-
Mindestens eine Implementierung dieser Offenbarung betrifft eine Vorrichtung zur Durchführung der Vorgänge hierin. Diese Vorrichtung kann für die benötigten Zwecke speziell gebaut sein oder einen Allzweckrechner umfassen, der selektiv aktiviert oder durch ein auf einem computerlesbaren und vom Computer aufrufbaren Speichermedium gespeicherten Computerprogramm rekonfiguriert wird.
-
Der gesamte oder ein Teil der Ausführungsformen der Offenbarung kann die Form eines Computerprogrammprodukts haben, das beispielsweise von einem nicht-transitorischen computerverwendbaren oder computerlesbaren Medium zugänglich ist. Das Computerprogramm, wenn ausgeführt, kann jede der jeweiligen Techniken, Algorithmen und/oder Anweisungen, die hierin beschrieben sind, durchführen. Bei einem nicht-flüchtigen oder computerlesbaren Medium kann es sich um ein Gerät handeln, das beispielsweise ein ausgewähltes Programm mithilfe eines oder im Zusammenhang mit einem Prozessor zugreifbar beinhaltet, speichert, kommuniziert oder transportiert. Bei dem nicht-transitorischen Medium kann es sich beispielsweise um alle Arten von Disks, einschließlich Disketten, optische Speicherplatten, CD-ROM, magnetooptische Platten, Festwertspeicher (ROMs), Direktzugriffsspeicher (RAM), EPROMs, EEPROMs, Magnetkarten oder optische Karten, anwendungsspezifische integrierte Schaltkreise (ASICs) oder jede andere Art geeigneter Medien handeln, die geeignet sind für die greifbare Speicherung, Kommunikation oder den Transport elektronischer Befehle.
-
Es versteht sich, dass die Offenbarung nicht auf die offenbarten Ausführungsformen beschränkt ist, sondern im Gegenteil dazu bestimmt ist, verschiedene Modifikationen und äquivalente Anordnungen abzudecken, die in den Bereich der beigefügten Ansprüche fallen.