[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE112016000290T5 - Techniken zum Teilen von Anwendungen - Google Patents

Techniken zum Teilen von Anwendungen Download PDF

Info

Publication number
DE112016000290T5
DE112016000290T5 DE112016000290.4T DE112016000290T DE112016000290T5 DE 112016000290 T5 DE112016000290 T5 DE 112016000290T5 DE 112016000290 T DE112016000290 T DE 112016000290T DE 112016000290 T5 DE112016000290 T5 DE 112016000290T5
Authority
DE
Germany
Prior art keywords
application
user
computing device
configuration data
downloaded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112016000290.4T
Other languages
English (en)
Inventor
Phani Pandrangi
Makoto Iguchi
Susumu Ishizuka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KII Inc
Original Assignee
KII Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KII Inc filed Critical KII Inc
Publication of DE112016000290T5 publication Critical patent/DE112016000290T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Techniken, die es einem Benutzer einer Anwendung ermöglichen, die Anwendung an einen anderen Benutzer weiterzugeben oder mit diesem zu teilen, und zum Bekanntmachen des neuen Benutzers mit der weitergegebenen oder geteilten Anwendung. In bestimmten Ausführungsformen wird die zu teilende Anwendung automatisch heruntergeladen und auf dem Gerät des anderen Benutzers installiert. Als Teil des Teilens oder Bekanntmachens des anderen Benutzers werden auch Konfigurationsdaten für die Anwendung automatisch auf das Gerät des anderen Benutzers heruntergeladen und auf die Anwendung angewendet, wobei die heruntergeladenen Konfigurationsdaten eine oder mehrere angepasste Konfigurationseinstellungen beinhalten, die eine oder mehrere Anpassungen widerspiegeln, die an der Anwendung infolge der Interaktionen des ersten oder ursprünglichen Benutzers mit der Anwendung auf dem Gerät des ersten Benutzers vorgenommen wurden.

Description

  • QUERVERWEISE AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht Priorität der US-Patentanmeldung mit der Nummer 14/989,282, eingereicht am 6. Januar 2016, mit dem Titel „TECHNIQUES FOR SHARING APPLICATIONS”, die das Vorrecht der vorläufigen US-Patentanmeldung mit der Nummer 62/100,608, eingereicht am 7. Januar 2015, mit dem Titel „METHOD AND SYSTEM FOR APP REFERRAL BASED QUICK ONBOARDING” beansprucht, die hiermit für alle Zwecke durch Bezugnahme in vollem Umfang aufgenommen werden.
  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet von Datenverarbeitungssystemen; und konkreter Techniken zum Ermöglichen eines Benutzers, eine Anwendung an einen anderen Benutzer weiterzugeben oder mit diesem zu teilen.
  • Das Herunterladen von Softwareanwendungen auf Datenverarbeitungssysteme (z. B. Smartphones, Tablets, usw.) ist inzwischen sehr weit verbreitet. Während das Herunterladen von Anwendungen relativ einfach geworden ist, stellt das Konfigurieren oder Anpassen einer heruntergeladenen Anwendung an die Bedürfnisse des Benutzers viele Benutzer noch immer vor erhebliche Herausforderungen. Zum Beispiel muss ein Benutzer eines Mobilgeräts, wie zum Beispiel ein Smartphone, gegebenenfalls eine auf das Smartphone heruntergeladene Anwendung an die Bedürfnisse des Benutzers anpassen. Bei der Anpassung könnte es sich um etwas Einfaches wie das Ändern des von der Anwendung verwendeten Farbschemas, das Ändern der von einer Browser-Anwendung verwendeten Standardsuchmaschine, das Ändern der Standard-Homepage einer Browser-Anwendung, das Hinzufügen von Städten zu einer Wetteranwendung und dergleichen oder um komplexere Anpassungen handeln. Derartige Anpassungen werden allgemein durch das Vornehmen von Änderungen an den Konfigurationsdaten der Anwendung durchgeführt. Jedoch muss der Benutzer zum Vornehmen derartiger Anpassungen wissen, wie die Anwendung funktioniert und wie man die Anpassungen vornimmt. Anders ausgedrückt, der Benutzer muss ausreichend technisch begabt sein, da unsachgemäße Änderungen an den Konfigurationsdaten einer Anwendung unbeabsichtigte und unerwünschte Auswirkungen auf die Anwendung haben können. Während viele Benutzer mit dem Herunterladen von Anwendungen vertraut sind, haben sie demzufolge große Angst davor, Änderungen oder Anpassungen an der Anwendung vorzunehmen.
  • ZUSAMMENFASSUNG
  • Die vorliegende Offenbarung beschreibt Techniken, die es einem Benutzer einer Anwendung ermöglichen, die Anwendung an einen anderen Benutzer weiterzugeben oder mit diesem zu teilen, und zum Bekanntmachen (onboarding) des neuen Benutzers mit der weitergegebenen oder geteilten Anwendung. In bestimmten Ausführungsformen wird die zu teilende Anwendung automatisch heruntergeladen und auf dem Gerät des anderen Benutzers installiert. Als Teil des Teilens oder Bekanntmachens des anderen Benutzers werden auch Konfigurationsdaten für die Anwendung automatisch auf das Gerät des anderen Benutzers heruntergeladen und auf die Anwendung angewendet, wobei die heruntergeladenen Konfigurationsdaten eine oder mehrere angepasste Konfigurationseinstellungen beinhalten, die eine oder mehrere Anpassungen widerspiegeln, die an der Anwendung infolge der Interaktionen des ersten oder ursprünglichen Benutzers mit der Anwendung auf dem Gerät des ersten Benutzers vorgenommen wurden.
  • Einige Ausführungsformen können das Bekanntmachen von neuen Benutzern mit einer Anwendung erleichtern. In bestimmten Ausführungsformen kann eine Anfrage eines Benutzers (erster Benutzer) zum Teilen einer Anwendung und/oder deren aktueller Konfigurationseinstellungen mit einem anderen Benutzer (zweiter Benutzer) durch ein Anwendungsteilungssystem empfangen werden. Ohne darauf beschränkt zu sein, kann die Benutzeranfrage zum Beispiel durch das Anwendungsteilungssystem empfangen werden, wenn ein Benutzer eine Gesteneingabe (z. B. eine Schnipsbewegung, eine Halten-und-Wischen-Bewegung) auf einem Anwendungssymbol auf dem Startbildschirm des Benutzers durchführt. Bei der Benutzeranfrage kann es sich um eine eindeutige Geste wie zum Beispiel eine lange Halten-und-Wischen-Geste in einem bestimmten Bereich des Bildschirms handeln. Die Benutzeranfrage
  • Das Anwendungsteilungssystem kann einen oder mehrere Server wie zum Beispiel einen Anwendungsverwaltungsserver und/oder einen Anwendungskonfigurationsverwaltungsserver beinhalten. Der eine oder die mehreren Server können so konfiguriert sein, dass sie Benutzerkonten pflegen, die Benutzern des Anwendungsteilungssystems zugehörig sind. Nach dem Empfangen einer Benutzeranfrage zum Teilen einer Anwendung und/oder deren aktueller Konfigurationseinstellungen kann das Anwendungsteilungssystem die Benutzeranfrage betreffende Informationen an ein dem zweiten Benutzer zugehöriges Datenverarbeitungsgerät senden. In bestimmten Ausführungsformen können die an das zweite Gerät übertragenen Informationen auch Informationen beinhalten, welche die Anwendung identifizieren, Informationen, die den ersten Benutzer, der die Anwendung mit dem zweiten Benutzer teilen möchte, identifizieren und Informationen, die dem zweiten Benutzer anzeigen, dass der erste Benutzer einen Wunsch signalisiert hat, die Anwendung an den zweiten Benutzer weiterzugeben oder mit diesem zu teilen.
  • Das Anwendungsteilungssystem kann von dem dem zweiten Benutzer zugehörigen Datenverarbeitungsgerät eine Bestätigung empfangen, ob der zweite Benutzer die Benutzeranfrage des ersten Benutzers angenommen oder abgelehnt hat. Falls der zweite Benutzer die Benutzeranfrage annimmt, kann die Anwendung auf das Datenverarbeitungsgerät des zweiten Benutzers heruntergeladen werden, wenn die Anwendung noch nicht auf dem Datenverarbeitungsgerät installiert ist, und die Konfigurationsdaten können ebenfalls auf das Datenverarbeitungsgerät des zweiten Benutzers heruntergeladen werden. Das Anwendungsteilungssystem kann dann veranlassen, dass die Konfigurationsdaten auf die Anwendung auf dem Datenverarbeitungsgerät des zweiten Benutzers angewendet werden. Anschließend können die Konfigurationsdaten der Anwendung auf dem Datenverarbeitungsgerät des ersten Benutzers und die Konfigurationsdaten der Anwendung auf dem Datenverarbeitungsgerät des zweiten Benutzers durch den ersten Benutzer und den zweiten Benutzer unabhängig voneinander auf deren jeweiligen Datenverarbeitungsgeräten abgeändert werden.
  • In beispielhaften Umsetzungen kann, nachdem die Benutzeranfrage empfangen wurde, eine Kopie der Konfigurationsdaten der Anwendung für den zweiten Benutzer erstellt und auf ein Benutzerkonto des zweiten Benutzers kopiert werden. In einer Umsetzung kann ein Betriebssystem auf dem Datenverarbeitungsgerät eines zweiten Benutzers so konfiguriert sein, dass es die Kopie der Konfigurationsdaten der Anwendung automatisch herunterlädt, nachdem die Kopie der Konfigurationsdaten der Anwendung für den zweiten Benutzer auf dem Anwendungsteilungssystem erstellt wurde. In einigen Ausführungsformen kann es dem zweiten Benutzer ermöglicht werden, das Herunterladen der Kopie der Konfigurationsdaten der Anwendung anzunehmen oder abzulehnen. In einigen Ausführungsformen können die auf dem Datenverarbeitungsgerät des zweiten Benutzers heruntergeladenen Konfigurationsdaten Standardkonfigurationsdaten aufweisen, die auf das Datenverarbeitungsgerät heruntergeladen wurden, als die Anwendung auf das Datenverarbeitungsgerät des ersten Benutzers heruntergeladen wurde.
  • Die Einzelheiten einer oder mehrerer Ausführungsformen der Erfindung sind in den beigefügten Zeichnungen und der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Ziele und Vorteile der Erfindung ergeben sich aus der Beschreibung und den Zeichnungen und aus den Ansprüchen.
  • Das Vorstehende, zusammen mit weiteren Eigenschaften und Ausführungsformen, ergibt sich deutlicher durch Bezugnahme auf die folgende Beschreibung, die Ansprüche und die beigefügten Zeichnungen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein vereinfachtes Blockschaubild einer Datenverarbeitungsumgebung zum Ermöglichen des Teilens einer Anwendung und deren zugehöriger Konfigurationsdaten zwischen Benutzern in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 2 veranschaulicht einen beispielhaften Ablaufplan, der die Verarbeitung veranschaulicht, die von einem Anwendungsteilungssystem durchgeführt wird, um eine Anwendung und zugehörige Konfigurationsdaten in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung zu teilen.
  • 3 veranschaulicht einen anderen beispielhaften Ablaufplan, der die Verarbeitung veranschaulicht, die durchgeführt wird, um eine Anwendung und deren zugehörige Konfigurationsdaten, einschließlich einer oder mehrerer angepasster Konfigurationseinstellungen, in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung zu teilen.
  • 4 ist ein Ablaufdiagramm, das einen Prozess zum Teilen einer Anwendung in Übereinstimmung mit bestimmten Ausführungsformen veranschaulicht.
  • 5 veranschaulicht einen beispielhaften Ablaufplan für die zum Teilen einer Anwendung durchgeführte Verarbeitung aus Sicht eines Geräts des die Anwendung empfangenden Benutzers (d. h. des Empfängers der Anwendungsteilung) in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung.
  • 6 ist ein Ablaufdiagramm, das einen Prozess zum Annehmen einer von einem ersten Benutzer (z. B. Benutzer A) ausgehenden Anwendungsteilungsanfrage auf dem Gerät des zweiten Benutzers (z. B. Benutzer B) in Übereinstimmung mit bestimmten Ausführungsformen veranschaulicht.
  • 7 veranschaulicht ein Beispiel, wie ein erster Benutzer eines ersten Geräts eine Anwendung auf dem ersten Gerät und deren zugehörige angepasste Konfigurationsdaten in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung an einen zweiten Benutzer weitergeben oder mit diesem teilen kann.
  • 8 veranschaulicht ein Beispiel einer durchgeführten Verarbeitung aus Sicht eines die Anwendung und deren zugehörige Konfigurationsdaten empfangenden Benutzers als Ergebnis einer durch einen anderen Benutzer erzeugten Teilungsanfrage in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung.
  • 9 veranschaulicht ein Beispiel, dass ein empfangender Benutzer in der Lage ist, seine eigenen Konfigurationsänderungen an einer Anwendung unabhängig von dem teilenden Benutzer gemäß bestimmter Ausführungsformen der vorliegenden Erfindung vorzunehmen.
  • 10 ist ein vereinfachtes Blockschaubild eines Computersystems, das in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung verwendet werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zum Zwecke der Erläuterung spezifische Details dargelegt, um ein vollständiges Verständnis der beispielhaften Ausführungsformen bereitzustellen. Es wird jedoch ersichtlich sein, dass verschiedene Ausführungsformen ohne diese spezifischen Details ausgeführt werden können. Zum Beispiel können Schaltkreise, Systeme, Algorithmen, Strukturen, Techniken, Netzwerke, Prozesse und andere Komponenten als Komponenten in Form von Blockschaltbildern gezeigt werden, um die vorliegende Erfindung nicht durch unnötige Details unklar zu machen. Die Figuren und die Beschreibung sollen nicht einschränkend sein.
  • Die vorliegende Offenbarung beschreibt Techniken, die es einem Benutzer einer Anwendung ermöglichen, die Anwendung an einen anderen Benutzer weiterzugeben oder mit diesem zu teilen, und zum Bekanntmachen des neuen Benutzers mit der weitergegebenen oder geteilten Anwendung. In bestimmten Ausführungsformen wird die zu teilende Anwendung automatisch heruntergeladen und auf dem Gerät des anderen Benutzers installiert. Als Teil des Teilens oder Bekanntmachens des anderen Benutzers werden auch Konfigurationsdaten für die Anwendung automatisch auf das Gerät des anderen Benutzers heruntergeladen und auf die Anwendung angewendet, wobei die heruntergeladenen Konfigurationsdaten eine oder mehrere angepasste Konfigurationseinstellungen beinhalten, die eine oder mehrere Anpassungen widerspiegeln, die an der Anwendung infolge der Interaktionen des ersten oder ursprünglichen Benutzers mit der Anwendung auf dem Gerät des ersten Benutzers vorgenommen wurden.
  • Bestimmte Ausführungsformen sind auf Techniken gerichtet (z. B. ein System, ein Verfahren, ein Speicher oder ein nichtflüchtiges, durch einen Computer lesbares Medium, auf dem Code oder Anweisungen gespeichert sind, die durch einen oder mehrere Prozessoren ausführbar sind), die es ermöglichen, dass Konfigurationsänderungen oder Anpassungen, die an der Anwendung durch den weitergebenden Benutzer vorgenommen wurden, dem neuen Benutzer mitgeteilt und auf die Anwendung für den neuen Benutzer als Teil des Bekanntmachungsprozesses angewendet werden. Auf diese Weise werden durch den weitergebenden Benutzer vorgenommene Konfigurationsänderungen dem neuen Benutzer bereitgestellt und mit diesem geteilt.
  • In bestimmten Ausführungsformen kann ein erster Benutzer eine Anwendung auf das Computersystem des ersten Benutzers wie zum Beispiel auf das Mobilgerät des ersten Benutzers herunterladen. Anschließend an das Herunterladen wurden möglicherweise aufgrund der Interaktionen des ersten Benutzers mit der Anwendung auf dem Gerät des ersten Benutzers Konfigurationsänderungen an der Anwendung vorgenommen. Zu einem späteren Zeitpunkt möchte der erste Benutzer möglicherweise die Anwendung an einen zweiten Benutzer weitergeben oder mit diesem teilen. Es wird ein Anwendungsteilungssystem zum Ermöglichen dieses Teilens beschrieben. In bestimmten Ausführungsformen verwaltet das Anwendungsteilungssystem die für das Ermöglichen der Anwendungsteilung durchgeführte Verarbeitung. In einer Ausführungsform empfängt das Anwendungsteilungssystem die Teilungsanfrage von dem Gerät des ersten Benutzers und sendet auf die Weitergabe- oder Teilungsanfrage hinweisende Informationen an ein dem zweiten Benutzer zugehöriges zweites Gerät. Sobald der zweite Benutzer eine Genehmigung für die mit dem zweiten Benutzer zu teilende Anwendung bereitgestellt hat, wird die Anwendung, die geteilt wird, automatisch auf das zweite Gerät des zweiten Benutzers heruntergeladen. Als Teil des Teilens oder Bekanntmachens des zweiten Benutzers werden auch Konfigurationsdaten für die Anwendung automatisch auf das Gerät des zweiten Benutzers heruntergeladen und auf die Anwendung angewendet, wobei die heruntergeladenen Konfigurationsdaten eine oder mehrere angepasste Konfigurationseinstellungen beinhalten, die eine oder mehrere Anpassungen widerspiegeln, die an der Anwendung infolge der Interaktionen des ersten Benutzers mit der Anwendung auf dem Gerät des ersten Benutzers vorgenommen wurden. Auf diese Weise weist die auf dem Gerät des zweiten Benutzers installierte Anweisung nun die Konfigurationsänderungen auf, die von dem weitergebenden ersten Benutzer auf dem Gerät des weitergebenden ersten Benutzers vorgenommen wurden.
  • In bestimmten Ausführungsformen ist der zweite Benutzer in der Lage, falls gewünscht, zusätzliche Änderungen an der Anwendung auf dem Gerät des zweiten Benutzers vorzunehmen, und zwar unabhängig von der Verwendung der Anwendung auf dem Gerät des weitergebenden ersten Benutzers durch den weitergebenden ersten Benutzer. Gleichermaßen kann der weitergebende erste Benutzer weitere Änderungen Konfigurationsänderungen und Anpassungen an der Anwendung auf dem Gerät des weitergebenden ersten Benutzers vornehmen, und zwar unabhängig davon, wie der zweite Benutzer die Anwendung auf dem Gerät des zweiten Benutzers verwendet.
  • In bestimmten Ausführungsformen kann ein Anwendungsteilungssystem, welches das Teilen von Anwendungen zwischen Benutzern ermöglicht und das Bekanntmachen von neuen Benutzern mit den geteilten Anwendungen verwaltet, einen oder mehrere Server aufweisen. Der eine oder die mehreren Server können so konfiguriert sein, dass sie Benutzer der Anwendungen betreffende Informationen verwalten und speichern. Zum Beispiel kann das Anwendungsteilungssystem für jeden Benutzer Informationen speichern, die ein Benutzerkonto betreffen. In bestimmten Ausführungsformen können die zugehörigen Benutzerkontoinformationen für jeden Benutzer Konfigurationsdaten für die Anwendung für diesen Benutzer beinhalten. Die gespeicherten Konfigurationsdaten können Daten beinhalten, die Konfigurationsänderungen und Anpassungen darstellen, die durch den Benutzer an der Anwendung vorgenommen wurden. In bestimmten Ausführungsformen ermöglicht das Anwendungsteilungssystem einem Benutzer, eine Anwendung an einen neuen Benutzer weiterzugeben und den neuen Benutzer mit der Anwendung bekanntzumachen, einschließlich des Anwendens jeglicher Konfigurationsänderungen, die an der Anwendung durch den weitergebenden Benutzer vorgenommen wurden, auf die Anwendung für den neuen Benutzer.
  • Durch das Ermöglichen einer Anwendungsweitergabe und des automatischen Bekanntmachens eines neuen Benutzers mit der Anwendung, einschließlich des Anwendens der Konfigurationsänderungen und Anpassungen des weitergebenden Benutzers auf die Anwendung für den neuen Benutzer wird der neue Benutzer davon entbunden, die Konfigurationsänderungen vornehmen zu müssen, eine Aufgabe, die zeitaufwendig und belastend sein kann und technisches Können erfordert. Bestimmte Ausführungsformen können eine von einem Benutzer weitergegebene Anwendung gemeinsam mit den durch den Benutzer festgelegten Konfigurationseinstellungen der Anwendung auf einem Gerät eines neuen Benutzers automatisch installieren. In bestimmten Ausführungsformen kann ein Betriebssystem des Geräts des Benutzers beim Erkennen eines Teilungsereignisses (d. h. beim Empfangen einer Benutzereingabe, die einen Wunsch eines Benutzers angibt, eine Anwendung auf dem Gerät des Benutzers zu teilen) eine Anfrage an ein Anwendungsteilungssystem senden, um die Anwendung mit einem anderen Benutzer zu teilen. Das Anwendungsteilungssystem kann in einigen Ausführungsformen eine Kopie der durch den Benutzer festgelegten Konfigurationseinstellungen für die Anwendung erzeugen und die Konfigurationseinstellungen auf eine neue Kopie der auf dem Gerät des neuen Benutzers installierten Anwendung anwenden.
  • 1 zeigt ein vereinfachtes Blockschaubild einer Datenverarbeitungsumgebung 100 zum Ermöglichen des Teilens einer Anwendung und deren zugehöriger Konfigurationsdaten zwischen Benutzern in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Wie gezeigt, kann die Datenverarbeitungsumgebung 100 Benutzerdatenverarbeitungsgeräte wie zum Beispiel die in 1 gezeigten Datenverarbeitungsgeräte 110 und 112, ein Anwendungsteilungssystem 104, einen Benutzerkontospeicher 102 und/oder beliebige andere Komponenten beinhalten. Ein gegebenes Benutzerdatenverarbeitungsgerät wie zum Beispiel das Datenverarbeitungsgerät 110 oder 112 kann, wie gezeigt, über ein Datenübertragungsnetzwerk für den Datenaustausch mit dem Anwendungsteilungssystem 104 verbunden sein. Die in 1 dargestellte Ausführungsform ist lediglich ein Beispiel und soll die beanspruchten Ausführungsformen der vorliegenden Erfindung nicht über die Maßen einschränken. Ein Fachmann wird viele Abwandlungen, Alternativen und Abänderungen erkennen.
  • Bei dem Client-Gerät 110 oder 112 kann es sich um verschiedene Typen handeln, einschließlich eines Personal-Computers, eines Desktops, eines Mobil- oder Handheld-Geräts wie zum Beispiel ein Laptop, ein Mobiltelefon oder ein Tablet, eines Geräts das Teil eines Internet-of-Things-(IoT-)Netzwerks ist (z. B. ein Gerät mit einem Sensor), usw. und anderer Typen von Geräten, aber nicht darauf beschränkt. Ein Datenverarbeitungsgerät 110 oder 112 kann ein Eingabe-Teilsystem beinhalten, das ein Benutzer des Geräts zum Bereitstellen von Eingaben an das Gerät verwenden kann. Zum Beispiel können die Geräte 110 oder 112 in einigen Fällen eine berührungsempfindliche Oberfläche bereitstellen, die es einem Benutzer ermöglicht, Eingaben über Benutzergesten bereitzustellen. In einigen anderen Fällen kann ein Gerät ein oder mehrere durch einen Benutzer auswählbare Knöpfe zum Bereitstellen von Eingaben beinhalten. Die Datenverarbeitungsgeräte 110 oder 112 können auch ein Ausgabe-Teilsystem beinhalten, das Informationen aus dem Gerät an einen Benutzer des Geräts ausgibt. Zum Beispiel kann das Ausgabe-Teilsystem einen Bildschirm zum Anzeigen von Informationen beinhalten. Ein Beispiel eines Geräts 110 oder 112 ist in 10 dargestellt und wird nachfolgend beschrieben.
  • Es kann eine oder mehrere Anwendungen geben, auf die ein Benutzer (z. B. der Benutzer 108) über ein Client-Gerät zugreifen kann. Zum Beispiel kann das Client-Gerät 110 eine oder mehrere Anwendungen (z. B. die Anwendung 114) auf dem Client-Gerät 110 gespeichert, installiert und/oder darauf laufen haben. Ein Benutzer des Geräts 110 kann über Eingabe- und Ausgabe-Teilsysteme des Geräts 110 mit der Anwendung 114 oder mit anderen durch das Gerät 110 zur Verfügung gestellten Anwendungen interagieren. In einigen Fällen können diese Interaktionen darauf gerichtet sein, Konfigurationseinstellungen für Konfigurationsdaten festzulegen, die der Anwendung 114 oder anderen von dem Gerät 110 gehosteten Anwendungen zugehörig sind.
  • In bestimmten Ausführungsformen kann die Anwendung 114 zugehörige Konfigurationsdaten aufweisen, die eine oder mehrere Konfigurationseinstellungen aufweisen. In einigen Ausführungsformen kann eine Konfigurationseinstellung eine Konfigurationsvariable und einen dieser Konfigurationsvariablen zugewiesenen Wert aufweisen. Zum Beispiel kann eine Anwendung eine Schriftartenvariable bereitstellen, welche die von der Anwendung verwendete Schriftart regelt, und dieser Variablen kann ein Wert (z. B. Helvetica) zugewiesen sein. Die Konfigurationsdaten für die Anwendung 114 können eine oder mehrere Konfigurationseinstellungen beinhalten.
  • In bestimmten Ausführungsformen beeinflussen und steuern die einer Anwendung zugehörigen Konfigurationsdaten das Verhalten dieser Anwendung. Für eine gegebene Anwendung können die Konfigurationsdaten für die Anwendung verschiedene Aspekte der Anwendung beeinflussen und steuern, wie zum Beispiel die Folgenden, ohne darauf beschränkt zu sein: das Aussehen (z. B. das Erscheinungsbild; z. B. Hintergrundfarbe, Vordergrundfarbe usw.) der gegebenen Anwendung, die Anwendungslogik (z. B. einen konkreten Startbildschirm, eine konkrete Anordnung und/oder Auswahl von Inhalten), eine Region des Benutzers (z. B. Nordamerika, Europa usw.), eine von der gegebenen Anwendung verwendete Sprache (z. B. Chinesisch, Englisch, Japanisch), eine Zeitzone des Benutzers des Geräts, auf dem die gegebene Anwendung installiert ist, Schriftarteneigenschaften (z. B. Schriftartenname, Schriftartengröße, Schriftartenstil) der Anwendung und andere.
  • Die Konfigurationseinstellungen, welche die Konfigurationsdaten für eine Anwendung bilden, hängen von der Anwendung selbst ab. Zum Beispiel können die Konfigurationseinstellungen für eine Anwendung gleich oder anders als die Konfigurationseinstellungen für eine andere Anwendung sein. Zum Beispiel können die Konfigurationseinstellungen für eine Anwendung zum Bearbeiten von Dokumenten (z. B. die Anwendung Microsoft WORDTM) anders als die Konfigurationseinstellungen für eine Spieleanwendung sein. Zum Beispiel können die Konfigurationsdaten für die Spieleanwendung Konfigurationseinstellungen für einen Schwierigkeitsgrad des Spiels, einen Laustärkepegel des Spiels, einen Modus des Spiels (z. B. „Einsteiger”-Modus, „Experten”-Modus) und dergleichen beinhalten, die anders als die einer Anwendung zum Bearbeiten von Dokumenten zugehörigen Konfigurationseinstellungen sein können.
  • Zu anderen Beispielen von Konfigurationsdaten gehören Konfigurationseinstellungen, die verschiedene Anzeigeeigenschaften, darunter Schriftart, -größe, -farbe, Objektformen, Anzeigekonfigurationen und -ausrichtungen, Elementplatzierungen usw. betreffen; Einstellungen, die Parameter und durch einen Benutzer festgelegte Elemente, die in der Anwendung gespeichert sind, betreffen, wie zum Beispiel Standorte in einer Landkartenanwendung, Wetteranwendung, Reiseanwendung, Uhrenanwendung, in einer Browser-Anwendung oder Nachrichtenanwendung gespeicherte Favoritenverknüpfungen usw.; Kontodaten, die in einer Anwendung zu verwendende persönliche Daten wie die Adresse eines Benutzers, Kreditkarteninformationen, Telefonnummer usw. beinhalten können; und dergleichen, ohne darauf beschränkt zu sein. Konfigurationsdaten für eine Anwendung können auch verschiedene Datentypen beinhalten, wie zum Beispiel Audiodaten (z. B. bevorzugte Melodie beim Klingeln des Telefons), Bild- oder Videodaten (z. B. ein Bild oder Videodateien, die als Hintergrundbilder oder Videos in einer Anwendung verwendet werden können) und andere Datentypen.
  • Man sollte sich bewusst sein, dass die Konfigurationsdaten für eine Anwendung von den Anwendungsdaten zu unterscheiden sind, wobei es sich um die tatsächlichen Daten handelt, die von der Anwendung erzeugt werden und welche die Ausgabe der Anwendung darstellen. Zum Beispiel stellen bei einer Anwendung zum Bearbeiten von Dokumenten wie zum Beispiel Microsoft WORDTM die Inhalte eines Dokuments, die unter Verwendung der Anwendung bearbeitet werden, Anwendungsdaten dar und sind von Konfigurationsdaten für die Anwendung zu unterscheiden, die das Verhalten der Anwendung steuern oder beeinflussen. Als anderes Beispiel stellen bei einer Tabellenkalkulationsanwendung wie zum Beispiel Microsoft EXCELTM das Arbeitsblatt und dessen Inhalte, die unter Verwendung der Anwendung erzeugt werden, Anwendungsdaten dar und sind von Konfigurationsdaten für die Tabellenkalkulationsanwendung zu unterscheiden, die das Verhalten der Anwendung steuern oder beeinflussen. Als noch ein anderes Beispiel können in einer Spieleanwendung die tatsächlichen Daten Fortschrittsdaten beinhalten, die den Überblick über den Fortschritt eines Benutzers im Spiel behalten, während die Konfigurationsdaten der Spieleanwendung ein Erscheinungsbild des Spiels, einen Schwierigkeitsgrad des Spiels, einen Lautstärkepegel des Spiels, einen Modus des Spiels und/oder beliebige andere Konfigurationsinformationen beinhalten können.
  • In bestimmten Ausführungsformen wurden einige der Konfigurationseinstellungen für eine Anwendung möglicherweise von einem Systemverwalter, einem Anwendungsentwickler und dergleichen vorab konfiguriert. Wenn die Anwendung 114 zum Beispiel auf einem Datenverarbeitungsgerät (z. B. Gerät 110) installiert ist, kann die Anwendung einige zugehörige Konfigurationsdaten mit einigen vorkonfigurierten Konfigurationseinstellungen aufweisen. Für die Zwecke dieser Offenbarung werden die Konfigurationsdaten, die an ein Gerät übertragen werden, auf dem die Anwendung zuerst installiert bzw. auf das sie zuerst geladen wurde, als die Standardkonfigurationsdaten der Anwendung bezeichnet. Als Teil der Standardkonfigurationsdaten können einige der Konfigurationseinstellungen auf Standardwerte gesetzt sein, während einige andere möglicherweise überhaupt nicht festgelegt sind.
  • Nachdem die Anwendung 114 auf dem Gerät 110 gespeichert und installiert wurde, können als Ergebnis von Interaktionen mit der Anwendung 114 durch einen Benutzer des Geräts 110 Änderungen an den Standardkonfigurationsdaten vorgenommen werden. Die Änderungen können eine Änderung einer Konfigurationseinstellung im Vergleich zu deren Standardeinstellung beinhalten. Zum Beispiel kann der einer Konfigurationseinstellung zugehörige Standardwert auf einen neuen Wert geändert werden, der sich von dem Standardwert unterscheidet. Als anderes Beispiel kann eine Konfigurationseinstellung, die nicht als Teil der Standardkonfigurationsdaten festgelegt wurde (d. h., der kein Wert zugewiesen wurde), nun auf einen bestimmten Wert gesetzt werden. Für die Zwecke dieser Offenbarung werden Konfigurationsdaten für eine Anwendung, die sich von den Standardkonfigurationsdaten aufgrund von Änderungen unterscheiden, die aufgrund von Interaktionen eines Benutzers mit der Anwendung 114 auf dem Gerät 110 an einer oder mehreren Konfigurationseinstellungen vorgenommen wurden, als durch einen Benutzer konfigurierte Konfigurationsdaten oder durch einen Benutzer angepasste Konfigurationsdaten bezeichnet. Eine Konfigurationseinstellung, deren Wert im Vergleich zu deren Standardeinstellung geändert wurde, wird als durch einen Benutzer konfigurierte Konfigurationseinstellung oder durch einen Benutzer angepasste Konfigurationseinstellungen bezeichnet. Die durch einen Benutzer konfigurierten oder angepassten Konfigurationseinstellungen für die Anwendung 114 können lokal auf dem Datenverarbeitungsgerät 110 gespeichert sein oder/und können, wie nachfolgend beschrieben, von dem Anwendungsteilungssystem 104 als Teil der Benutzerkontoinformationen für einen Benutzer gespeichert sein. Die Konfigurationsdaten für eine Anwendung können auf einer Pro-Benutzer-Basis, einer Pro-Benutzergruppen-Basis, einer Domänen-Basis oder einer beliebigen anderen Basis angepasst werden.
  • Bei dem Datenübertragungsnetzwerk 106 kann es sich um jedes beliebige Netzwerk oder jeden beliebigen Mechanismus handeln, die Datenübertragungen zwischen einem oder mehreren Client-Geräten wie dem Gerät 110 und 112 und dem Anwendungsteilungssystem 104 ermöglichen. In bestimmten Ausführungsformen kann das Datenübertragungsnetzwerk 106 auch eine Datenübertragung zwischen zwei oder mehr Client-Geräten wie zum Beispiel zwischen den Client-Geräten 110 und 112 ermöglichen. Das Datenübertragungsnetzwerk 106 kann verschiedener Arten sein und kann ein oder mehrere Datenübertragungsnetzwerke beinhalten. Zum Beispiel kann das Datenübertragungsnetzwerk 106 das Internet, ein Weitverkehrsnetz (WAN), ein lokales Netzwerk (LAN), ein Ethernet-Netzwerk, ein öffentliches oder privates Netzwerk, ein drahtgebundenes Netzwerk ein drahtloses Netzwerk und dergleichen sowie Kombinationen daraus beinhalten, ohne darauf beschränkt zu sein. Es können verschiedene Datenübertragungsprotokolle verwendet werden, um die Datenübertragungen zu ermöglichen, darunter sowohl drahtgebundene als auch drahtlose Protokolle wie zum Beispiel die Protokollfamilie IEEE 802.XX, TCP/IP, IPX, SAN, AppleTalk, Bluetooth und andere Protokolle. Allgemein kann das Datenübertragungsnetzwerk 106 jedes beliebige Datenübertragungsnetzwerk oder jede Infrastruktur beinhalten, die Datenübertragungen zwischen einem oder mehreren Client-Geräten wie dem Client-Gerät 110 oder 112 und einem oder mehreren Servern in dem Anwendungsteilungssystem 104 ermöglichen.
  • In bestimmten Ausführungsformen ist das Anwendungsteilungssystem 104 so konfiguriert, dass es das Teilen von Anwendungen zwischen Geräten ermöglicht. Das Anwendungsteilungssystem 104 kann so konfiguriert sein, dass es Benutzeranfragen empfängt und als Reaktion darauf Aktionen durchführt (z. B. Inhalte bereitstellt). Das Anwendungsteilungssystem 104 kann einen oder mehrere Server beinhalten. In bestimmten Ausführungsformen kann das Anwendungsteilungssystem 104 ein Serversystem zum Bereitstellen des Herunterladens von Anwendungen und ein anderes Serversystem für das Verwalten der Anwendungskonfiguration beinhalten. Unterschiedliche Ausführungsformen können zusätzliche oder weniger Server zum Durchführen verschiedener Aktionen beinhalten.
  • In bestimmten Ausführungsformen kann das Anwendungsteilungssystem 104 so konfiguriert sein, dass es Benutzerkonten verwaltet, die Benutzern einer oder mehrerer durch das Anwendungsteilungssystem 104 verwalteter Anwendungen zugehörig sind. Das Anwendungsteilungssystem 104 kann Informationen für mehrere Benutzer für mehrere Anwendungen speichern und verwalten. Die Informationen können in einem Datenspeicher wie zum Beispiel einem Benutzerkontospeicher 102 gespeichert werden, der unter Verwendung von einem oder mehreren nichtflüchtigen Speichern umgesetzt sein kann, auf die das Anwendungsteilungssystem 104 zugreifen und die es aktualisieren kann. Ein Datenspeicher kann jede beliebige Speichereinheit oder eine Kombination aus Einheiten beinhalten, die in der Lage sind, Daten zu speichern, auf diese zuzugreifen und sie abzurufen, wozu jede beliebige Kombination und Anzahl von Datenservern, Datenbanken, Datenspeichereinheiten und Datenspeichermedien in jeder beliebigen Standard-, verteilten oder Cluster-Umgebung gehören können. Der Datenspeicher 102 kann eine oder mehrere Speichereinheiten für das Speichern von Daten darstellen, darunter eine oder mehrere Datenbanken, Listen oder andere Datenstrukturen. Das Anwendungsteilungssystem 104 kann je nach Bedarf jede beliebige geeignete Hardware und Software zum Integrieren mit dem Datenspeicher 102 beinhalten, um Aspekte einer oder mehrerer Anwendungen für die Client-Geräte auszuführen.
  • Wie oben angegeben, kann das Anwendungsteilungssystem 104 so konfiguriert sein, dass es Informationen für einen oder mehrere Benutzer für eine oder mehrere Anwendungen speichert. In einigen Ausführungsformen können die Informationen für Benutzer in Form von Benutzerkonten gespeichert sein, wie zum Beispiel User_1-Konto, User_2-Konto und so weiter, mit einem Benutzerkonto pro Benutzer. Ein bestimmtes Benutzerkonto, das durch das Anwendungsteilungssystem 104 verwaltet wird, kann Informationen bezüglich eines bestimmten Benutzers beinhalten sowie Informationen, die eine oder mehrere Anwendungen betreffen, die von dem Benutzer auf ein Benutzergerät heruntergeladen und auf diesem installiert wurden. Die Benutzerkontoinformationen können zum Beispiel Informationen beinhalten, welche die Identität des Benutzers, ein oder mehrere dem Benutzer zugehörige Geräte, die Benutzereinkaufsinformationen (z. B. die Einkaufshistorie einer oder mehrerer Anwendungen, die von dem Benutzer gekauft wurden, oder die Einkaufshistorie eines oder mehrerer Artikel/Dienstleistungen, die durch den Benutzer unter Verwendung der einen oder mehreren Anwendungen gekauft wurden) und/oder jeden beliebigen anderen Typ von Benutzerinformationen betreffen. In einigen Fällen können die Benutzeridentitätsinformationen eine Benutzer-ID (z. B. einen Benutzernamen) des Benutzers beinhalten. In einigen Ausführungsformen können die Benutzerkontoinformationen für einen Benutzer auch Informationen beinhalten, welche die Berechtigungsnachweise des Benutzers oder andere Identitätsnachweisdaten zur Benutzerüberprüfung und -autorisierung betreffen.
  • In bestimmten Ausführungsformen können die Benutzerkontoinformationen für einen Benutzer auch Konfigurationsdaten für eine oder mehrere dem Benutzer zugehörige Anwendungen beinhalten. Zum Beispiel können die Benutzerkontoinformationen für einen Benutzer des Geräts 110 das Gerät 110 betreffende Informationen, die Anwendung 114 betreffende Informationen und auch die Konfigurationsdaten für die Anwendung 114 betreffende Informationen beinhalten. Die Konfigurationsdaten können Informationen beinhalten, die eine oder mehrere Konfigurationseinstellungen für die Anwendung 114 betreffen, darunter Standardeinstellungen und auch durch einen Benutzer konfigurierte oder angepasste Einstellungen. In einigen Ausführungsformen können alle Konfigurationsdaten für die Anwendung 114 als Teil der Benutzerkontoinformationen für einen Benutzer des Geräts 110 gespeichert werden. In einer anderen Ausführungsform können Informationen gespeichert werden, die lediglich die durch einen Benutzer konfigurierten Konfigurationseinstellungen betreffen, um die Menge an gespeicherten Konfigurationsdaten zu minimieren. In einigen Ausführungsformen können die Konfigurationsdaten für einen bestimmten Benutzer auf einer Pro-Anwendung-Basis gespeichert werden. In bestimmten Ausführungsformen kann das Anwendungsteilungssystem 104 Änderungen an den Konfigurationseinstellungen für eine einem Benutzerkonto zugehörige Anwendung und die gespeicherten Informationen überwachen und verfolgen, um die aktualisierten aktuellen Konfigurationseinstellungen widerzuspiegeln.
  • In einigen Ausführungsformen können Benutzerkontoinformationen auf einer Pro-Benutzer-pro-Anwendung-Basis gespeichert werden. In einer derartigen Ausführungsform können, wenn ein Benutzer mehreren Anwendungen zugehörig ist, mehrere Benutzerkonten, eines für jede Anwendung, in dem Benutzerkontospeicher 102 gespeichert werden. Die Informationen für jedes Benutzerkonto können den Benutzer identifizierende Informationen, die bestimmte Anwendung identifizierende Informationen, Konfigurationsdaten für die Anwendung, die die Anwendung betreffende Einkaufshistorie des Benutzers und andere Informationen beinhalten.
  • In einigen Ausführungsformen kann das Anwendungsteilungssystem 104 Zugriffsteuerungsdienste zusammen mit einem oder mehreren Datenspeichern wie zum Beispiel dem Benutzerkontospeicher 102 bereitstellen. Das Anwendungsteilungssystem 104 kann auch so konfiguriert sein, dass es Inhalte wie zum Beispiel Text, Grafiken, Audio und/oder Video erzeugt, die an den Benutzer im Kontext der durch das Anwendungsteilungssystem 104 bereitgestellten Anwendungsteilungsmöglichkeiten zu übermitteln sind.
  • Die durch das Anwendungsteilungssystem 104 bereitgestellten Anwendungsteilungsmöglichkeiten können unter Verwendung des folgenden beispielhaften Benutzerfallszenarios erläutert werden. Ein Benutzer des Geräts 110 („User_1” oder „U1”) kann die Anwendung 114 kaufen und auf das Gerät 110 herunterladen. In einer Ausführungsform kann das Anwendungsteilungssystem 104 den Einkauf der Anwendung 113 durch User_1 ermöglichen und die Anwendung 114 auf das Gerät 110 herunterladen. Die Anwendung 114 kann mit bestimmten Standardkonfigurationsdaten heruntergeladen und installiert werden, die bestimmte Standardkonfigurationseinstellungen beinhalten. Zum Zeitpunkt des Einkaufs kann durch das Anwendungsteilungssystem 104 für User_1 ein Benutzerkonto („U1-Konto”) erstellt werden, sofern noch keines vorhanden ist. In einigen Ausführungsformen können Konfigurationsdaten für die Anwendung 114 als Teil der Benutzerkontoinformationen für User_1 gespeichert werden.
  • Nach dem Herunterladen und Installieren auf dem Gerät 110 kann User_1 unter Verwendung des Geräts 110 die Anwendung 114 nutzen und mit ihr interagieren. Die Interaktionen können dazu führen, dass eine oder mehrere Konfigurationseinstellungen der Anwendung 114 geändert oder festgelegt werden. Zum Beispiel kann zu den Interaktionen von User_1 mit der Anwendung 114 gehören, dass User_1 explizit eine oder mehrere Konfigurationseinstellungen für die Anwendung 114 festlegt (d. h., einer oder mehreren Konfigurationseinstellungen bestimmte Werte zuweist oder diese festlegt). Hierzu kann das Ändern einer oder mehrerer Standardeinstellungen gehören. Zum Beispiel kann User_1 für eine Browseranwendung die Standard-Homepage von www.URL_1.com (Standardeinstellung) auf www.UserPreferredURL.com ändern. Als anderes Beispiel kann User_1 die Sicherheitseinstellungen für die Browseranwendung festlegen, die möglicherweise nicht als Teil der Standardkonfigurationsdaten festgelegt werden. Verschiedene andere Konfigurationseinstellungen können durch den Benutzer konfiguriert werden.
  • In einigen anderen Ausführungsformen können Interaktionen von User_1 mit der Anwendung 114 dazu führen, dass eine oder mehrere Konfigurationseinstellungen für die Anwendung 114 automatisch festgelegt werden. Zum Beispiel können die Konfigurationseinstellungen beruhend auf der Art und Weise, in der User_1 die Anwendung 114 verwendet, automatisch eingestellt werden. Zum Beispiel können die Interaktionen von User_1 mit der Anwendung 114 verfolgt und Rückschlüsse über die Präferenzen des Benutzers gezogen werden. Dann können eine oder mehrere Konfigurationseinstellungen für die Anwendung 114 beruhend auf diesen Rückschlüssen festgelegt werden.
  • In bestimmten Ausführungsformen können die Konfigurationsdaten, darunter auch Änderungen an den Konfigurationsdaten, lokal durch das Gerät 114 gespeichert und durch die Anwendung 114 verwaltet werden. In Ausführungsformen, in denen Änderungen an den Konfigurationsdaten einer Anwendung auch durch das Anwendungsteilungssystem 104 gespeichert und verfolgt werden, können Informationen bezüglich der Änderungen von dem Gerät 110 an das Anwendungsteilungssystem 104 übertragen werden. In einer Ausführungsform kann die Anwendung 114 so konfiguriert sein, dass sie an das Anwendungsteilungssystem 104 eine Benachrichtigung sendet, welche die Änderungen an den Konfigurationseinstellungen angibt. Das Anwendungsteilungssystem 104 kann dann die für die Anwendung 114 für User_1 gespeicherten Konfigurationsdaten aktualisieren. Auf diese Weise behält das Anwendungsteilungssystem 104 den Überblick über das Herunterladen von Anwendungen durch Benutzer sowie über Änderungen, die an den Konfigurationseinstellungen für die verschiedenen Anwendungen vorgenommen wurden.
  • User_1 des Geräts 110 kann dann die Anwendung 114 an einen anderen Benutzer weitergeben oder einen Wunsch angeben, die Anwendung 114 mit einem anderen Benutzer zu teilen. Zum Beispiel kann User_1 des Geräts 110 die Anwendung 114 an User_2 eines Geräts 112 weitergeben. Das Teilen der Anwendung 114 mit dem Gerät 112 und das Bekanntmachen von User_2 mit der Anwendung wird dann durch das Anwendungsteilungssystem 104 ermöglicht. 2 veranschaulicht einen beispielhaften Ablaufplan 200, der die Verarbeitung veranschaulicht, die von einem Anwendungsteilungssystem durchgeführt wird, um eine Anwendung und zugehörige Konfigurationsdaten in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung zu teilen. Die in 2 dargestellte Verarbeitung kann in Software (z. B. Code, Anweisungen, Programm), die von einer oder mehreren Verarbeitungseinheiten (z. B. Prozessoren, Kernen) ausgeführt wird, in Hardware oder in Kombinationen daraus umgesetzt werden. Die Software kann in einem Speicher (z. B. auf einem nicht flüchtigen, durch einen Computer lesbaren Speichermedium wie zum Beispiel einer Speichereinheit) gespeichert sein. Die konkrete Serie von in 2 dargestellten Verarbeitungsschritten soll nicht einschränkend sein. Man wird verstehen, dass die Verarbeitungsschritte in einer Reihenfolge durchgeführt werden können, die sich von der in 2 dargestellten unterscheidet, und dass nicht alle in 2 dargestellten Schritte durchgeführt werden müssen. In einer Ausführungsform wird die in 2 dargestellte Verarbeitung durch das Anwendungsteilungssystem 104 und die Geräte 110 und 112 durchgeführt, die in 1 dargestellt sind.
  • Bei 202 empfängt das Anwendungsteilungssystem 104 eine Anfrage von einem ersten Benutzer, die einen Wunsch des ersten Benutzers angibt, eine bestimmte Anwendung auf einem ersten Datenverarbeitungsgerät mit einem zweiten Benutzer zu teilen. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 eine Anfrage 114 von dem Gerät 110 von User_1 empfangen, die einen Wunsch von User_1 angibt, die Anwendung 114 auf dem Gerät 110 an User_2 weiterzugeben oder mit diesem zu teilen. In einer Ausführungsform kann User_1 eine Aktion auf dem Gerät 110 durchführen, die dazu führt, dass die Anfrage (Teilungs- oder Weitergabeanfrage) auf dem Gerät 110 erzeugt und an das Anwendungsteilungssystem 104 übertragen wird.
  • Zum Beispiel kann in einer Ausführungsform, wenn das Gerät 110 eine berührungsempfindliche Eingabeschnittstelle wie zum Beispiel einen berührungsempfindlichen Bildschirm bereitstellt, User_1 eine bestimmte Geste (z. B. eine Wischgeste über den Bildschirm) bezüglich der Anwendung 114 durchführen, die dazu führt, dass die Teilungsanfrage erzeugt und von dem Gerät 110 an das Anwendungsteilungssystem 104 übertragen wird. In einer Ausführungsform kann die Geste durchgeführt werden, wenn sich User_1 innerhalb der Anwendung 114 befindet. In einer anderen Ausführungsform kann die Geste von User_1 in einem Dashboard/einer Homepage durchgeführt werden, die möglicherweise mehrere Anwendungen zeigt, darunter auch die Anwendung 114 (z. B. auf einem Springboard auf iOS-Geräten, das zum Starten von auf einem Gerät geladenen Anwendungen verwendet wird). Zum Beispiel kann das Schnipsen auf einem Symbol der Anwendung 114 durchgeführt werden und kann in die Richtung einer Darstellung von User_2 (z. B. einem Bild oder Kontaktinformationen von User_2) auf dem Gerät 110 zum Identifizieren des zweiten Benutzers durchgeführt werden. In einer Ausführungsform kann dem ersten Benutzer beim Durchführen einer speziellen Aktion (z. B. ein Schnipsen) auf einem Symbol der zu teilenden Anwendung auf einem Startbildschirm des Geräts des ersten Benutzers eine Aufforderung angezeigt werden, um den Empfänger der zu teilenden Anwendung zu identifizieren. Der erste Benutzer kann dann auf die Aufforderung durch Eingeben von Informationen, die den zweiten Benutzer identifizieren (z. B. einen Namen des zweiten Benutzers, eine dem zweiten Benutzer zugehörige Telefonnummer, eine dem zweiten Benutzer zugehörige E-Mail-Adresse, usw.), reagieren, und dann „Senden” auswählen, um die Teilungsanfrage zu initiieren. In noch anderen alternativen Ausführungsformen können verschiedene andere Wege zum Erzeugen der Teilungsanfrage auf dem Gerät 110 und zum Übertragen der Anfrage an das Anwendungsteilungssystem 104 verwendet werden.
  • Die in 202 empfangene Anfrage kann verschiedene Informationen beinhalten, welche die Anfrage betreffen. In bestimmten Ausführungsformen kann die Anfrage Informationen beinhalten, die den ersten Benutzer identifizieren, Informationen, die das erste Datenverarbeitungsgerät identifizieren, Informationen, welche die weitergegebene oder zu teilende Anwendung identifizieren, Informationen, die den zweiten Benutzer identifizieren, und möglicherweise Informationen, die ein Gerät des zweiten Benutzers identifizieren. In einigen Ausführungsformen kann die Anfrage auch Konfigurationsdaten für die Anwendung auf dem ersten Datenverarbeitungsgerät aufweisen, die mindestens eine durch einen Benutzer konfigurierte oder durch einen Benutzer angepasste Konfigurationseinstellung beinhalten.
  • In bestimmten Ausführungsformen kann das Anwendungsteilungssystem 104 bestimmte Überprüfungen (in 2 nicht gezeigt) durchführen, um die in 202 empfangene Anfrage zu verifizieren, bevor es mit dem Verarbeiten zum Verarbeiten der Anfrage fortfährt. Zum Beispiel kann das Anwendungsteilungssystem 104 in einer Ausführungsform den ersten Benutzer (z. B. User_1) zunächst überprüfen/authentifizieren. Als Teil dieser Verifizierung kann das Anwendungsteilungssystem 104 überprüfen, ob der erste Benutzer ein Konto besitzt, das durch das Anwendungsteilungssystem 104 für die zu teilende Anwendung gespeichert und verwaltet wird, und nur dann mit der weiteren Verarbeitung fortfahren, wenn ein derartiges Konto verifiziert wurde.
  • Bei 204 können Informationen, welche die durch das Anwendungsteilungssystem empfangene Teilungsanfrage betreffen, an ein zweites Datenverarbeitungsgerät gesendet werden, das dem zweiten Benutzer zugehörig ist. Zum Beispiel können, wie in 1 dargestellt ist, Informationen 116 bezüglich der Anfrage von dem Anwendungsteilungssystem 104 an das Gerät 112 von User_2 übertragen werden. In bestimmten Ausführungsformen können die an das zweite Gerät übertragenen Informationen auch Informationen beinhalten, welche die Anwendung identifizieren, Informationen, die den ersten Benutzer, der die Anwendung mit dem zweiten Benutzer teilen möchte, identifizieren und Informationen, die dem zweiten Benutzer anzeigen, dass der erste Benutzer einen Wunsch signalisiert hat, die Anwendung an den zweiten Benutzer weiterzugeben oder mit diesem zu teilen. Zum Beispiel können in 1 die an das Gerät 112 gesendeten Informationen 116 auch Informationen beinhalten, die User_1 identifizieren, und Informationen, welche die Anwendung 114 identifizieren, und Informationen, die angeben, dass User_1 wünscht, die Anwendung 114 an User_2 weiterzugeben oder mit diesem zu teilen. In einigen Ausführungsformen können die Auswirkungen des Annehmens der Anfrage auch an den zweiten Benutzer übertragen werden. In bestimmten Ausführungsformen können die Informationen als Aufforderung auf dem Bildschirm des zweiten Datenverarbeitungsgeräts mit wählbaren Optionen für den zweiten Benutzer angezeigt werden, um die Anfrage entweder anzunehmen oder abzulehnen (nicht anzunehmen).
  • Bei 206 kann das Anwendungsteilungssystem eine Benachrichtigung von dem zweiten Datenverarbeitungsgerät empfangen, ob der zweite Benutzer die Teilungsanfrage angenommen oder abgelehnt hat. In 2 wird angenommen, dass eine Bestätigung von dem zweiten Datenverarbeitungsgerät empfangen wird, dass der zweite Benutzer die Teilungsanfrage angenommen hat. Wenn, andererseits, der zweite Benutzer die Anfrage ablehnt oder nicht annimmt, endet die Verarbeitung.
  • Bei 208 kann das Anwendungsteilungssystem die Konfigurationsdaten ermitteln, die der Anwendung auf dem ersten Datenverarbeitungsgerät zugehörig sind und die an das zweite Datenverarbeitungsgerät zu übertragen sind. Die in 208 ermittelten Konfigurationsdaten beinhalten eine oder mehrere angepasste Konfigurationseinstellungen, die eine oder mehrere Anpassungen widerspiegeln, die an den Konfigurationsdaten für die Anwendung auf dem ersten Datenverarbeitungsgerät als Ergebnis der Interaktionen des ersten Benutzers mit der Anwendung auf dem ersten Datenverarbeitungsgerät vorgenommen wurden. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 die Konfigurationsdaten für die Anwendung 114 auf dem Gerät 110 ermitteln, wobei die Konfigurationsdaten mindestens eine angepasste Konfigurationseinstellung beinhalten, die mindestens eine Anpassung widerspiegelt, die an den Konfigurationsdaten für die Anwendung 114 auf dem Gerät 110 als Ergebnis der Interaktionen von User_1 mit der Anwendung 114 auf dem Gerät 110 vorgenommen wurden.
  • In einigen Ausführungsformen können die gesamten der Anwendung zugehörigen Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät in 208 ermittelt werden. In einer anderen Ausführungsform kann ein Teil der der Anwendung zugehörigen Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät in 208 ermittelt werden. Der Teil, der ermittelt wird, kann die von dem ersten Benutzer an den Anwendungskonfigurationsdaten auf dem ersten Datenverarbeitungsgerät vorgenommenen Anpassungen beinhalten. Entsprechend werden in dieser anderen Ausführungsform nicht alle Konfigurationsdaten ermittelt, sondern lediglich Teile der Konfigurationsdaten, darunter angepasste Konfigurationseinstellungen.
  • Als Teil der Verarbeitung in 208 kann das Anwendungsteilungssystem auch ein Konto für den zweiten Benutzer für die Anwendung erstellen, sofern noch keines erstellt wurde, und die in 208 ermittelten Konfigurationsdaten den Kontoinformationen für den zweiten Benutzer zuordnen. In einigen Ausführungsformen kann ein neuer Benutzername und/oder ein neues Passwort für den zweiten Benutzer erzeugt werden. In bestimmten Ausführungsformen kann das Anwendungsteilungssystem den Benutzernamen des zweiten Benutzers beruhend auf anderen Konten, die der zweite Benutzer für andere Anwendungen besitzt, automatisch eintragen. Das Anwendungsteilungssystem kann ein temporäres Passwort erzeugen und über eine Nachricht (z. B. E-Mail-Nachricht, Textnachricht, usw.) die Anmeldeinformationen an den zweiten Benutzer senden. In einigen Ausführungsformen können bei Bedarf zusätzliche Informationen zum Einrichten des Kontos für den zweiten Benutzer von dem zweiten Benutzer angefordert werden. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 ein neues Konto für User_2 erstellen und die in 208 ermittelten Konfigurationsdaten dem Konto von User_2 zuordnen. Die Kontoinformationen für den ersten Benutzer können auch aktualisiert werden, um anzugeben, dass der erste Benutzer die Anwendung an den zweiten Benutzer weitergegeben oder mit diesem geteilt hat, und dass der zweite Benutzer das Teilen angenommen hat. Die Konten des ersten Benutzers und des zweiten Benutzers sind jedoch getrennte Konten und nicht miteinander verbunden.
  • In einigen Ausführungsformen kann das Anwendungsteilungssystem (z. B. in dem Datenspeicher 102 in 1) Konfigurationseinstellungen für die Anwendung auf dem ersten Datenverarbeitungsgerät als Teil der Kontoinformationen für den ersten Benutzer speichern. Beim Empfangen der Bestätigung in 206 kann das Anwendungsteilungssystem die Konfigurationseinstellungen für die bestimmte Anwendung aus den Kontoinformationen des ersten Benutzers aus dem Datenspeicher 102 abrufen. Das Anwendungsteilungssystem kann eine Kopie dieser Konfigurationseinstellungen erzeugen und speichern und die Kopie dem für den zweiten Benutzer erstellten Konto zuordnen.
  • Bei 210 kann das Anwendungsteilungssystem veranlassen, dass die Anwendung und die in 208 ermittelten Konfigurationsdaten an das zweite Datenverarbeitungsgerät übertragen werden. Zum Beispiel kann das Anwendungsteilungssystem die Anwendung und die Konfigurationsdaten an das zweite Datenverarbeitungsgerät im Push-Verfahren übertragen. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 veranlassen, dass die Anwendung und die Konfigurationsdaten 120 an das Gerät 112 übertragen werden. In einer Ausführungsform kann das Anwendungsteilungssystem beim Ermitteln der der Anwendung auf dem ersten Datenverarbeitungsgerät zugehörigen Konfigurationsdaten in 208 eine Kopie der Konfigurationsdaten erstellen und die Kopie an das zweite Datenverarbeitungsgerät in 210 übertragen. In einigen Ausführungsformen können Installationsanweisungen für das zweite Datenverarbeitungsgerät darüber, wie die Anwendung zu installieren ist, in 210 ebenfalls an das zweite Datenverarbeitungsgerät übertragen werden.
  • Es können verschiedenste Datenübertragungskanäle zum Herunterladen der Anwendung und deren zugehöriger Konfigurationsdaten auf das zweite Datenverarbeitungsgerät verwendet werden. In bestimmten Ausführungsformen kann die Datenübertragung über ein Datenübertragungsnetzwerk (z. B. das in 1 dargestellte Netzwerk 106) wie zum Beispiel das Internet stattfinden. Es können drahtgebundene oder drahtlose Datenübertragungsverbindungen für die Datenübertragungen verwendet werden.
  • Bei 212 wird die in 210 heruntergeladene Anwendung auf dem zweiten Datenverarbeitungsgerät installiert, und die in 210 heruntergeladenen Konfigurationsdaten werden auf die Anwendung angewendet. Da die Konfigurationsdaten Anpassungen beinhalten, die an den Konfigurationseinstellungen für die Anwendung auf dem ersten Datenverarbeitungsgerät des ersten Benutzers vorgenommen wurden, werden die Anpassungen des ersten Benutzers nun in der auf dem zweiten Datenverarbeitungsgerät installierten Anwendung widergespiegelt. Der zweite Benutzer kann dann anfangen, die auf dem zweiten Datenverarbeitungsgerät installierte Anwendung mit den von dem ersten Benutzer an der Anwendung auf dem ersten Datenverarbeitungsgerät vorgenommenen Konfigurationseinstellungsanpassungen zu verwenden.
  • In einigen Ausführungsformen kann das Betriebssystem auf dem zweiten Datenverarbeitungsgerät die Installation bei 212 ermöglichen. In bestimmten Ausführungsformen kann ein Betriebssystem auf dem zweiten Datenverarbeitungsgerät, wenn es die erfolgreiche Installation der Anwendung erkennt, die Konfigurationsdaten aus dem Anwendungsteilungssystem 104 unter Verwendung der ID des ersten Benutzers, der ID des zweiten Benutzers und/oder der ID der Anwendung abrufen. Das Betriebssystem kann dann die Konfigurationsdaten auf dem zweiten Datenverarbeitungsgerät anwenden. In bestimmten Ausführungsformen kann der Anwendungsspeicher, wenn die Anwendung auf das zweite Datenverarbeitungsgerät heruntergeladen wird, eine „Weitergabe-ID” anhängen, die angibt, dass das Herunterladen durch ein Teilungsereignis verursacht wurde. Nach der erfolgreichen Installation und dem ersten Starten kann die Anwendung die Weitergabe –ID aus dem Betriebssystem ermitteln, und die Konfigurationsdaten können unter Verwendung der Weitergabe –ID von dem Teilungssystem abgerufen werden.
  • Nachdem eine Anwendung mit den angepassten Konfigurationsdaten auf das zweite Datenverarbeitungsgerät heruntergeladen wurde, können die Benutzer des ersten Geräts und des zweiten Geräts mit den auf ihren jeweiligen Geräten installierten Anwendungen unabhängig voneinander interagieren. Der erste Benutzer kann weitere Änderungen an den Konfigurationsdaten für die auf dem Gerät des ersten Benutzers installierte Anwendung vornehmen (z. B. Konfigurationsdatenänderungen für die Anwendung 114 auf dem Gerät 110), ohne die Anwendung oder deren Konfigurationsdaten auf dem Gerät des zweiten Benutzers zu beeinflussen oder sich darauf auszuwirken. Gleichermaßen kann der zweite Benutzer Änderungen an den Konfigurationsdaten für die auf dem Gerät des zweiten Benutzers installierte Anwendung vornehmen, ohne die Anwendung oder deren Konfigurationsdaten auf dem Datenverarbeitungsgerät des ersten Benutzers zu beeinflussen oder sich darauf auszuwirken.
  • Obwohl das in 2 dargestellte und vorstehend beschriebene Beispiel das Teilen zwischen einem ersten und einem zweiten Benutzer zeigt, soll dies nicht einschränkend sein. In alternativen Ausführungsformen kann ein erster Benutzer eine auf dem Gerät des ersten Benutzers installierte Anwendung und deren zugehörige angepasste Konfigurationsdaten mit mehreren anderen Benutzern teilen. Ein bestimmter Benutzer kann auch mehrere Anwendungen und deren zugehörige Konfigurationsdaten herunterladen, die von mehreren Benutzern geteilt werden. Das Anwendungsteilungssystem kann den Überblick über die verschiedenen Benutzer behalten und für jeden Benutzer die Anwendungen, die von dem Benutzer als Ergebnis des Teilens heruntergeladen wurden, und die für jede der geteilten Anwendungen heruntergeladenen Konfigurationsdaten nachverfolgen.
  • In der in 2 dargestellten und vorstehend beschriebenen Ausführungsform werden sowohl die Anwendung als auch die Konfigurationsdaten in 210 heruntergeladen. Dies soll jedoch nicht einschränkend sein. Die Reihenfolge, in der die Anwendung und deren Konfigurationsdaten heruntergeladen werden, kann in verschiedenen Ausführungsformen variieren. Zum Beispiel kann in einer Ausführungsform die Anwendung auf das zweite Datenverarbeitungsgerät heruntergeladen und darauf installiert werden, und die Konfigurationsdaten können anschließend heruntergeladen und auf die installierte Anwendung angewendet werden. In einigen anderen Ausführungsformen können die Konfigurationsdaten heruntergeladen werden, bevor die Anwendung heruntergeladen wird.
  • 3 veranschaulicht einen anderen beispielhaften Ablaufplan 300, der die Verarbeitung veranschaulicht, die durchgeführt wird, um eine Anwendung und deren zugehörige Konfigurationsdaten, einschließlich einer oder mehrerer angepasster Konfigurationseinstellungen, in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung zu teilen. Die in 3 dargestellte Verarbeitung kann in Software (z. B. Code, Anweisungen, Programm), die von einer oder mehreren Verarbeitungseinheiten (z. B. Prozessoren, Kernen) ausgeführt wird, in Hardware oder in Kombinationen daraus umgesetzt werden. Die Software kann in einem Speicher (z. B. auf einem nicht flüchtigen, durch einen Computer lesbaren Speichermedium wie zum Beispiel einer Speichereinheit) gespeichert sein. Die konkrete Serie von in 3 dargestellten Verarbeitungsschritten soll nicht einschränkend sein. Man wird verstehen, dass die Verarbeitungsschritte in einer Reihenfolge durchgeführt werden können, die sich von der in 3 dargestellten unterscheidet, und dass nicht alle in 3 dargestellten Schritte durchgeführt werden müssen. In einer Ausführungsform wird die in 3 dargestellte Verarbeitung durch das Anwendungsteilungssystem 104 und die Geräte 110 und 112 durchgeführt, die in 1 dargestellt sind.
  • Bei 302 kann das Anwendungsteilungssystem (z. B. das Anwendungsteilungssystem 104 in 1) eine Anfrage von einem ersten Benutzer (z. B. User_1 in 1) empfangen, die einen Wunsch des ersten Benutzers angibt, eine bestimmte Anwendung (z. B. die Anwendung 114) auf einem ersten Datenverarbeitungsgerät (z. B. dem Gerät 110) mit einem zweiten Benutzer (z. B. User_2 in 1) zu teilen. Die in 302 empfangene Anfrage kann Informationen beinhalten, wie zum Beispiel Informationen, die den ersten Benutzer identifizieren, Informationen, die das erste Datenverarbeitungsgerät identifizieren, Informationen, welche die weitergegebene oder zu teilende Anwendung identifizieren, Informationen, die den zweiten Benutzer identifizieren, und möglicherweise Informationen, die ein Gerät des zweiten Benutzers identifizieren. In einigen Ausführungsformen kann die Anfrage auch Konfigurationsdaten für die Anwendung auf dem ersten Datenverarbeitungsgerät aufweisen, die mindestens eine durch einen Benutzer konfigurierte oder durch einen Benutzer angepasste Konfigurationseinstellung beinhalten. Wie vorstehend in Bezug auf 1 beschrieben wurde, kann der erste Benutzer in bestimmten Ausführungsformen eine Aktion auf dem ersten Datenverarbeitungsgerät durchführen, die dazu führt, dass die Anfrage (Teilungs- oder Weitergabeanfrage) auf dem ersten Datenverarbeitungsgerät erzeugt und an das Anwendungsteilungssystem 104 übertragen wird.
  • Bei 304 können Informationen, welche die durch das Anwendungsteilungssystem empfangene Teilungsanfrage betreffen, an ein zweites Datenverarbeitungsgerät gesendet werden, das dem zweiten Benutzer zugehörig ist. Zum Beispiel können, wie in 1 dargestellt ist, Informationen 116 bezüglich der Anfrage von dem Anwendungsteilungssystem 104 an das Gerät 112 von User_2 übertragen werden. In bestimmten Ausführungsformen können die an das zweite Gerät übertragenen Informationen auch Informationen beinhalten, welche die Anwendung identifizieren, Informationen, die den ersten Benutzer, der die Anwendung mit dem zweiten Benutzer teilen möchte, identifizieren und Informationen, die dem zweiten Benutzer anzeigen, dass der erste Benutzer einen Wunsch signalisiert hat, die Anwendung an den zweiten Benutzer weiterzugeben oder mit diesem zu teilen. Zum Beispiel können in 1 die an das Gerät 112 gesendeten Informationen 116 Informationen beinhalten, die User_1 identifizieren, und Informationen, welche die Anwendung 114 identifizieren, und Informationen, die angeben, dass User_1 wünscht, die Anwendung 114 an User_2 weiterzugeben oder mit diesem zu teilen. In einigen Ausführungsformen können die Auswirkungen des Annehmens der Anfrage auch an den zweiten Benutzer übertragen werden. In bestimmten Ausführungsformen können die Informationen als Aufforderung auf dem Bildschirm des zweiten Datenverarbeitungsgeräts mit wählbaren Optionen für den zweiten Benutzer angezeigt werden, um die Anfrage entweder anzunehmen oder abzulehnen (nicht anzunehmen).
  • Bei 306 kann das Anwendungsteilungssystem eine Benachrichtigung von dem zweiten Datenverarbeitungsgerät empfangen, ob der zweite Benutzer die Teilungsanfrage angenommen oder abgelehnt hat. In 3 wird angenommen, dass eine Bestätigung von dem zweiten Datenverarbeitungsgerät empfangen wird, dass der zweite Benutzer die Teilungsanfrage angenommen hat. Wenn, andererseits, der zweite Benutzer die Anfrage ablehnt oder nicht annimmt, endet die Verarbeitung. In bestimmten Ausführungsformen kann der zweite Benutzer die Annahme oder Ablehnung durch Durchführen eines Fingertippens auf den entsprechenden, durch einen Benutzer auswählbaren Optionen, die dem zweiten Benutzer angezeigt werden, wählen.
  • Bei 308 ermittelt das Anwendungsteilungssystem, ob die zu teilende Anwendung (z. B. die Anwendung 114 in 1) auf dem zweiten Datenverarbeitungsgerät bereits vorhanden ist. Wenn in 308 festgestellt wird, dass die Anwendung auf dem zweiten Datenverarbeitungsgerät vorhanden ist, fährt die Verarbeitung mit 316 fort, und falls festgestellt wird, dass die Anwendung auf dem zweiten Datenverarbeitungsgerät nicht vorhanden ist, fährt die Verarbeitung mit 310 fort.
  • Bei 310 erstellt das Anwendungsteilungssystem ein neues Konto für den zweiten Benutzer, sofern noch keines vorhanden ist. Als Teil des Erstellens des neuen Kontos kann das Anwendungsteilungssystem einen neuen Anmelde-Benutzernamen für den zweiten Benutzer und ein temporäres Passwort für das Konto erstellen. Der Benutzername und das temporäre Passwort können zum Beispiel über eine E-Mail-Nachricht, eine Textnachricht und dergleichen an den zweiten Benutzer übertragen werden.
  • Bei 312 veranlasst das Anwendungsteilungssystem, dass die zu teilende Anwendung auf das zweite Datenverarbeitungsgerät, das von dem zweiten Benutzer verwendet wird, heruntergeladen wird. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 veranlassen, dass die Anwendung 114 an das Gerät 112 übertragen wird.
  • Bei 314, ermittelt das Anwendungsteilungssystem auf das zweite Datenverarbeitungsgerät herunterzuladende Konfigurationsdaten, wobei die Konfigurationsdaten angepasste Konfigurationseinstellungen beinhalten, die eine oder mehrere Anpassungen widerspiegeln, die an den Konfigurationsdaten für die Anwendung auf dem ersten Datenverarbeitungsgerät vorgenommen wurden. Zum Beispiel kann das Anwendungsteilungssystem 104 in 1 die Konfigurationsdaten für die Anwendung 114 auf dem Gerät 110 ermitteln, wobei die Konfigurationsdaten mindestens eine angepasste Konfigurationseinstellung beinhalten, die mindestens eine Anpassung widerspiegelt, die an den Konfigurationsdaten für die Anwendung 114 auf dem Gerät 110 als Ergebnis der Interaktionen von User_1 mit der Anwendung 114 auf dem Gerät 110 vorgenommen wurden.
  • In bestimmten Ausführungsformen können die in 314 ermittelten Konfigurationsdaten beruhend auf einem Zeitparameter begrenzt werden. Zum Beispiel werden in einer Ausführungsform lediglich die Konfigurationsdaten ermittelt, die innerhalb einer vorher festgelegten Zeitspanne durch den ersten Benutzer angepasst wurden. Die vorher festgelegte Zeitspanne kann bezogen darauf gemessen werden, wann das Anwendungsteilungssystem die Anfrage in 302 empfängt. Zum Beispiel können in 316 lediglich Konfigurationsdatenanpassungen, die an den Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät innerhalb einer vorher festgelegten Zeit seit dem Empfangen der Anfrage in 302 vorgenommen wurden, ermittelt werden. Bei der vorher festgelegten Zeitspanne kann es sich um die letzten 24 Stunden, die letzten 12 Stunden und so weiter handeln. In einigen anderen Ausführungsformen kann die vorher festgelegte Zeitspanne bezogen darauf gemessen werden, warm die Anwendung auf dem ersten Datenverarbeitungsgerät installiert wurde.
  • In einigen Beispielen können die in 314 ermittelten Konfigurationsdaten sämtliche Konfrgurationsdatenänderungen der Anwendung beinhalten, die innerhalb der vorher festgelegten Zeitspanne durch den ersten Benutzer vorgenommen wurden. In einigen Beispielen können die bei 316 ermittelten Konfigurationsdaten einige, aber nicht sämtliche Konfigurationsdatenänderungen der Anwendung beinhalten, die während der vorher festgelegten Zeitspanne durch den ersten Benutzer vorgenommen wurden. Zum Beispiel können die Konfigurationsdaten in einer Ausführungsform Konfrgurationsdatenänderungen beinhalten, die für das von dem ersten Benutzer konfigurierte Erscheinungsbild der Anwendung vorgenommen wurden, und keine Konfigurationsdatenänderungen beinhalten, die andere Verhaltensweisen der Anwendung steuern.
  • In bestimmten Ausführungsformen kann es dem ersten Benutzer ermöglicht werden, zu erkennen, welche Konfigurationsdaten mit anderen Benutzern teilbar sind. Zum Beispiel kann User_1 in 1 erkennen, welche Konfigurationsdatenänderungen für die Anwendung 114 mit User_2 teilbar sind. In einigen Ausführungsformen können die teilbaren Konfigurationsdaten durch den ersten Benutzer auf einer Pro-Zweiter-Benutzer-Basis gespeichert werden.
  • Bei 316 kann das Anwendungsteilungssystem veranlassen, dass eine Kopie der in 316 ermittelten Konfigurationsdaten auf das zweite Datenverarbeitungsgerät heruntergeladen wird.
  • Als Teil von 318 kann die Kopie der Konfigurationsdaten für die Anwendung auch in dem Konto des zweiten Benutzers gespeichert werden.
  • Bei 318 wird die in 314 heruntergeladene Anwendung auf dem zweiten Datenverarbeitungsgerät installiert, und die in 318 heruntergeladenen Konfigurationsdaten werden auf die Anwendung angewendet. Da die in 318 heruntergeladenen Konfigurationsdaten Anpassungen beinhalten, die an den Konfigurationseinstellungen für die Anwendung auf dem ersten Datenverarbeitungsgerät des ersten Benutzers vorgenommen wurden, werden die Anpassungen des ersten Benutzers nun in der auf dem zweiten Datenverarbeitungsgerät installierten Anwendung widergespiegelt. Der zweite Benutzer kann dann anfangen, die auf dem zweiten Datenverarbeitungsgerät installierte Anwendung mit den von dem ersten Benutzer an der Anwendung auf dem ersten Datenverarbeitungsgerät vorgenommenen Konfigurationseinstellungsanpassungen zu verwenden.
  • Nachdem die Anwendung mit den angepassten Konfigurationsdaten auf das zweite Datenverarbeitungsgerät heruntergeladen wurde, können die Benutzer des ersten Geräts und des zweiten Geräts mit den auf ihren jeweiligen Geräten installierten Anwendungen unabhängig voneinander interagieren. Der erste Benutzer kann weitere Änderungen an den Konfigurationsdaten für die auf dem Gerät des ersten Benutzers installierte Anwendung vornehmen (z. B. Konfigurationsdatenänderungen für die Anwendung 114 auf dem Gerät 110), ohne die Anwendung oder deren Konfigurationsdaten auf dem Gerät des zweiten Benutzers zu beeinflussen oder sich darauf auszuwirken. Gleichermaßen kann der zweite Benutzer Änderungen an den Konfigurationsdaten für die auf dem Gerät des zweiten Benutzers installierte Anwendung vornehmen, ohne die Anwendung oder deren Konfigurationsdaten auf dem Datenverarbeitungsgerät des ersten Benutzers zu beeinflussen oder sich darauf auszuwirken.
  • Entsprechend können nach dem Herunterladen die Anwendung auf dem ersten Datenverarbeitungsgerät und deren zugehörige Konfigurationsdaten und die Anwendung auf dem zweiten Datenverarbeitungsgerät und deren zugehörige Konfigurationsdaten ihre eigenen unabhängigen Lebenszyklen haben. In einigen alternativen Ausführungsformen können die Konfigurationsdaten für die Anwendung für den ersten Benutzer und den zweiten Benutzer synchronisiert werden, sodass der erste und der zweite Benutzer in einer vorher festgelegten Zeitspanne, nachdem die Anwendung auf das zweite Datenverarbeitungsgerät heruntergeladen und darauf installiert wurde, dieselbe Konfiguration für deren jeweilige Anwendungen haben.
  • Des Weiteren kann der zweite Benutzer die Anwendung auf dem zweiten Datenverarbeitungsgerät konfigurieren und angepasste Konfigurationsdaten für die Anwendung 114 erzeugen und die Anwendung und die durch den zweiten Benutzer vorgenommenen angepassten Konfigurationsdaten mit einem oder mehreren anderen Benutzern nach Wahl des zweiten Benutzers teilen.
  • 4 ist ein Ablaufdiagramm, das einen Prozess 400 zum Teilen einer Anwendung in Übereinstimmung mit bestimmten Ausführungsformen veranschaulicht. Wie in 4 gezeigt ist, kann ein Benutzer A („A” in 4) bei 402 mit einer Anwendung X („X” in 4) auf einem dem Benutzer zugehörigen Datenverarbeitungsgerät (wie zum Beispiel dem User_1 in 1 zugehörigen Datenverarbeitungsgerät 110) interagieren. Als Ergebnis der Interaktionen können die Konfigurationsdaten für Anwendung X auf dem Datenverarbeitungsgerät von Benutzer A geändert werden. Die Konfigurationsdaten für Anwendung X, einschließlich Anpassungen an einer oder mehreren Konfigurationseinstellungen in den Konfigurationsdaten können lokal auf dem Gerät von Benutzer A gespeichert werden, auf dem die Anwendung X installiert ist und von Benutzer A verwendet wird.
  • Bei 404 kann eine Anfrage zum Speichern der Konfigurationsdaten für Anwendung X auf einem Anwendungsserver (z. B. auf dem in 1 dargestellten Anwendungsteilungssystem 104) erzeugt werden. In einer Ausführungsform kann die Anfrage, wie in 4 dargestellt ist, durch Anwendung X erzeugt und an das Betriebssystem auf dem Gerät von Benutzer A übertragen werden. Bei 406 kann das Betriebssystem die Anfrage und die Konfigurationsdaten für Anwendung X, die zu speichern ist, an den Anwendungsserver übertragen. Als Teil von 406 kann der Anwendungsserver die Konfigurationsdaten für Anwendung X, die von dem Gerät von Benutzer A empfangen wurden, speichern. In einer Ausführungsform kann der Anwendungsserver die Konfigurationsdaten als Teil der Benutzerkontoinformationen für Benutzer A speichern.
  • In bestimmten Ausführungsformen kann die Anwendung X so konfiguriert werden, dass sie die Speicheranfragen in regelmäßigen Abständen erzeugt, sodass die aktuellsten Konfigurationsdaten, einschließlich jeglicher Änderungen oder Anpassungen an einer oder mehreren Konfigurationseinstellungen, die durch Benutzer A vorgenommen wurden, in einem Datenspeicher gespeichert werden, auf den der Anwendungsserver zugreifen kann.
  • Bei 408 kann Benutzer A eine Anfrage zum Teilen von Anwendung X und deren zugehöriger Konfigurationsdaten mit einem anderen Benutzer B initiieren. In bestimmten Ausführungsformen kann die Anfrage zum Teilen über die Anwendung X oder über das Betriebssystem des Geräts von Benutzer A erzeugt werden. In der in 4 dargestellten Ausführungsform wird die Anfrage durch das Betriebssystem auf dem Gerät von Benutzer A empfangen.
  • Bei 410 wird die Anfrage zum Teilen von Anwendung X an den Anwendungsserver übertragen. Bei 412 kann die Anfrage durch den Anwendungsserver gespeichert werden. In einer Ausführungsform kann die Anfrage als Teil der Benutzerkontoinformationen von Benutzer A gespeichert werden.
  • Bei 414 wird eine Kopie der Konfigurationsdaten von Benutzer A (die von dem Anwendungsserver als Teil der Kontoinformationen von Benutzer A gespeichert werden können) auf das Benutzerkonto von Benutzer B kopiert. Die weitere Verarbeitung ist in 6 dargestellt und wird nachfolgend beschrieben.
  • In einigen Ausführungsformen können alle oder ein Großteil der Konfigurationsdaten für eine Anwendung lokal auf dem Gerät, auf dem die Anwendung installiert ist, gespeichert werden. Einige Anwendungen können so konfiguriert sein, dass sie ihre Konfigurationsdaten oder Teile davon in der Cloud für den Benutzer der Anwendung oder auf einem oder mehreren entfernt angeordneten Servern speichern. Einige Anwendungen können einen kombinierten Ansatz verwenden, bei dem ein Teil der Konfigurationsdaten lokal gespeichert wird und ein Teil der Konfigurationsdaten in der Cloud gespeichert wird. In Ausführungsformen, in denen die Konfigurationsdaten (oder ein Teil davon) für eine Anwendung in der Cloud gespeichert werden, kann das Anwendungsteilungssystem so konfiguriert sein, dass es auf diese Konfigurationsdaten über den Cloud-Provider zugreift.
  • In bestimmten Ausführungsformen, in denen die Konfigurationsdaten (oder ein Teil davon) für eine Anwendung in der Cloud gespeichert werden, nachdem die Anwendung mit dem zweiten Benutzer (oder dem Empfänger der Anwendung) geteilt wurde, muss möglicherweise ein Cloud-Konto für den Empfänger erstellt werden. In anderen Ausführungsformen können die Konfigurationsdaten für den zweiten Benutzer lokal auf dem Gerät des zweiten Benutzers gespeichert werden. In noch anderen Ausführungsformen kann ein Cloud-Konto für den zweiten Benutzer durch Klonen des Cloud-Kontos des ersten Benutzers (mit unterschiedlichen Schutzebenen dafür, was geklont werden kann und was nicht geklont werden kann) mit einem anderen Benutzernamen, Passwort und/oder Konto erstellt werden.
  • Wie zuvor beschrieben, kann der erste Benutzer (d. h. der Benutzer, der teilen möchte) eine Aktion auf dem Gerät des ersten Benutzers durchführen, die dazu führt, dass eine Anwendungsteilungsanfrage erzeugt wird und diese Anfrage von dem Gerät des ersten Benutzers an das Anwendungsteilungssystem übertragen wird. In bestimmten Ausführungsformen kann die Fähigkeit des Erkennens, wann eine Teilungsanfrage zu erzeugen ist, in die Anwendung selbst eingebaut sein. Zum Beispiel kann der Entwickler der Anwendung verschiedene Auslöser in der Anwendung implementieren, wann eine Teilungsanfrage zu erzeugen ist. Zum Beispiel kann eine Teilungsanfrage erzeugt werden, wenn die Anwendung ein Signal empfängt, dass der Benutzer des Geräts eine spezifische Aktion durchgeführt hat (z. B. eine Zum-Senden-Schnipsen-Funktion, die ein langes Drücken und Schnipsen aufweist). In bestimmten Ausführungsformen kann die Anwendung so konfiguriert sein, dass sie dieses auslösende Ereignis erkennt, wenn die spezifische Aktion irgendwo innerhalb der Anwendung durchgeführt wird. In einigen alternativen Ausführungsformen kann die Anwendung so konfiguriert sein, dass sie dieses auslösende Ereignis erkennt, wenn die spezifische Aktion in einem spezifischen Bereich oder Teil innerhalb der Anwendung durchgeführt wird (z. B. innerhalb eines spezifischen Bereichs einer bestimmten grafischen Benutzeroberfläche (GUI, graphical user interface) der gestarteten Anwendung). In einigen Ausführungsformen kann die Benutzereingabe auf ein Anwendungssymbol auf dem Startbildschirm des Geräts des teilenden Benutzers gerichtet sein (z. B. auf dem Springboard auf iOS-Geräten wie zum Beispiel einem iPad® oder iPhone®). Beim Erkennen eines Wunsches, eine Anwendung zu teilen, kann das Mobilgerät dann dem teilenden Benutzer ermöglichen, einen Empfänger festzulegen (z. B. durch Auswählen eines Empfängers über ein Adressbuch, durch Festlegen einer Telefonnummer oder einer Kennung usw.).
  • In einem Anwendungsfallszenario hat ein erster Benutzer möglicherweise eine nette Wetteranwendung gefunden. Der erste Benutzer installiert die Anwendung auf dem Gerät des ersten Benutzers und passt die Anwendung an, indem er mehrere Städte, die für den ersten Benutzer von Interesse sind, hinzufügt. Der erste Benutzer wünscht möglicherweise zu einem späteren Zeitpunkt, die Anwendung an einen zweiten Benutzer wie zum Beispiel die Ehefrau des ersten Benutzers weiterzugeben, sodass der zweite Benutzer auch die Anwendung auf dem Gerät des zweiten Benutzers (z. B. dem Telefon) haben kann. Üblicherweise würde dies erfordern, dass der zweite Benutzer die folgenden Aktivitäten durchführt: Finden derselben Wetteranwendung, Installieren der Anwendung auf dem Gerät des zweiten Benutzers und dann Hinzufügen all der gleichen Städte wie der erste Benutzer. Für einen zweiten Benutzer, der technisch nicht begabt ist, können diese Aktivitäten jenseits der Fähigkeiten des zweiten Benutzers liegen. Selbst für einen technisch begabten zweiten Benutzer kann es zeitaufwendig sein, die Aktivitäten durchzuführen. Die in dieser Offenbarung beschriebenen Lehren ermöglichen es dem zweiten Benutzer, die spezifische Anwendung zusammen mit den von dem ersten Benutzer hinzugefügten Städten zu erhalten, indem er einfach die Teilungsanfrage von dem ersten Benutzer annimmt. Wie hierin beschrieben, wird die Wetteranwendung automatisch auf das Gerät des zweiten Benutzers heruntergeladen und darauf installiert, und die Anpassungen des ersten Benutzers (z. B. die von dem ersten Benutzer hinzugefügten Städte) werden auf die installierte [Anwendung] angewendet, ohne dass irgendwelche weiteren Eingaben von dem zweiten Benutzer erforderlich wären. Nach der Installation hat der zweite Benutzer nicht nur dieselbe Wetteranwendung, sondern er besitzt auch die Anpassungen (z. B. durch den ersten Benutzer hinzugefügte Städte), die durch den ersten Benutzer an der Anwendung vorgenommen wurden. Der zweite Benutzer kann dann unabhängig von der Anwendung oder den zugehörigen Konfigurationsdaten auf dem Gerät des ersten Benutzers mit der auf dem Gerät des zweiten Benutzers installierten Anwendung interagieren.
  • Einige Ausführungsformen können zusätzlich zum Einstellen der Konfigurationen auch das Teilen von Cloud-Daten ermöglichen. In einigen Ausführungsformen kann die ursprüngliche Anwendung einem Cloud-Konto zugehörig sein. Wenn der Benutzer die Anwendung anschnipst/teilt, wird das Konto kopiert, und der Teilungsempfänger erhält sämtliche Daten im Ist-Zustand. Da es sich bei dem Teilungsempfänger um einen neuen Benutzer handelt, wird für den Empfänger ein von dem ursprünglichen Benutzer getrenntes Konto mit seinen eigenen Anmeldedaten angelegt (z. B. Benutzername und temporäres Passwort). Der Teilungsempfänger kann dann nach seinem eigenen Geschmack beliebige zusätzliche Änderungen an der Anwendung durchführen. Anwendungsentwickler können diese Funktionalität, die eine Anwendung, Kontodaten und/oder Konfigurationseinstellungen teilt, für einige Anwendungen aber nicht für alle Anwendungen verrfügbar machen. Anwendungsentwickler können vor dem Hintergrund von Datenschutzproblemen und Anwendungssemantikproblemen auch bestimmte Typen von Daten und Konfigurationseinstellungen übertragen.
  • 5 veranschaulicht einen beispielhaften Ablaufplan 500 für die zum Teilen einer Anwendung durchgeführte Verarbeitung aus Sicht eines Geräts des die Anwendung empfangenden Benutzers (d. h. des Empfängers der Anwendungsteilung) in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung. Die in 5 dargestellte Verarbeitung kann in Software (z. B. Code, Anweisungen, Programm), die von einer oder mehreren Verarbeitungseinheiten (z. B. Prozessoren, Kernen) ausgeführt wird, in Hardware oder in Kombinationen daraus umgesetzt werden. Die Software kann in einem Speicher (z. B. auf einem nicht flüchtigen, durch einen Computer lesbaren Speichermedium wie zum Beispiel einer Speichereinheit) gespeichert sein. Die konkrete Serie von in 5 dargestellten Verarbeitungsschritten soll nicht einschränkend sein. Man wird verstehen, dass die Verarbeitungsschritte in einer Reihenfolge durchgeführt werden können, die sich von der in 5 dargestellten unterscheidet, und dass nicht alle in 5 dargestellten Schritte durchgeführt werden müssen. Zum Beispiel kann in einer Ausführungsform die in 5 dargestellte und nachfolgend beschriebene Verarbeitung durch das in 1 dargestellte Gerät 112 durchgeführt werden. Für die nachfolgende Beschreibung bezüglich 5 wird der die geteilte Anwendung empfangende Benutzer der zweite Benutzer genannt, und das Gerät des zweiten Benutzers wird das zweite Gerät genannt. Der Benutzer, der eine Anwendung zu teilen wünscht, wird der erste Benutzer genannt, und das Gerät des ersten Benutzers wird das erste Gerät genannt.
  • Bei 502 empfängt ein zweites, einem zweiten Benutzer zugehöriges Datenverarbeitungsgerät Informationen darüber, dass ein erster Benutzer wünscht, mit dem zweiten Benutzer eine auf einem ersten, dem ersten Benutzer zugehörigen Gerät installierte Anwendung zu teilen. Das zweite Gerät kann die Anfrage in 502 von einem Anwendungsteilungssystem 104 empfangen.
  • Bei 504 werden die in 502 empfangenen Informationen über eine von dem zweiten Gerät bereitgestellte Ausgabeschnittstelle an den zweiten Benutzer ausgegeben. Zum Beispiel können die Informationen über eine Anzeige des zweiten Geräts ausgegeben werden. Als Teil der Anzeige können die durch einen Benutzer auswählbaren Optionen angezeigt werden, wodurch es dem zweiten Benutzer ermöglicht wird, die Teilungsanfrage anzunehmen oder abzuweisen/abzulehnen.
  • Bei 506 kann das zweite Gerät die Eingabe des zweiten Benutzers empfangen, die angibt, dass der zweite Benutzer die Teilungsanfrage angenommen hat. Wenn die in 506 empfangene Eingabe angibt, dass der zweite Benutzer die Annahme der Anfrage verweigert hat, endet die Verarbeitung.
  • Bei 508 wird eine Bestätigungsbenachrichtigung von dem zweiten Gerät an das Anwendungsteilungssystem übertragen, die angibt, dass der zweite Benutzer die Teilungsanfrage angenommen hat.
  • Bei 510 wird die zu teilende Anwendung auf das zweite Gerät heruntergeladen und auf dem zweiten Gerät installiert. Das zweite Gerät kann die Anwendung von dem Anwendungsteilungssystem empfangen. In einigen Ausführungsformen können auch Anweisungen darüber, wie die Anwendung zu installieren ist, empfangen werden.
  • Bei 512 werden Konfigurationsdaten für die in 510 heruntergeladene Anwendung auf das zweite Datenverarbeitungsgerät heruntergeladen. Die in 512 heruntergeladenen Konfigurationsdaten beinhalten eine oder mehrere angepasste Konfigurationseinstellungen, die eine oder mehrere Anpassungen widerspiegeln, die durch den ersten Benutzer an den Konfigurationsdaten für die Anwendung auf dem ersten Datenverarbeitungsgerät vorgenommen wurden.
  • Bei 514 werden die in 512 empfangenen Konfigurationsdaten auf die in 510 heruntergeladene und installierte Anwendung angewendet. Der zweite Benutzer kann nun die installierte Anwendung nach Belieben nutzen.
  • 6 ist ein Ablaufdiagramm, das einen Prozess 600 zum Annehmen einer von einem ersten Benutzer (z. B. Benutzer A) ausgehenden Anwendungsteilungsanfrage auf dem Gerät des zweiten Benutzers (z. B. Benutzer B) in Übereinstimmung mit bestimmten Ausführungsformen veranschaulicht. In diesem Beispiel wird angenommen, dass ein Anwendungsserver („App Server” in 6) (oder ein Anwendungsteilungssystem) bereits eine Teilungsanfrage von dem Gerät eines ersten Benutzers zum Teilen einer Anwendung „X” mit dem Benutzer B (angegeben durch „B” in der Figur) empfangen hat. Bei 602 sendet der Anwendungsserver eine Benachrichtigung an das Gerät von Benutzer B, die auf die Teilungsanfrage hinweist. In einer Ausführungsform kann, wie in 6 dargestellt ist, die Benachrichtigung durch das Betriebssystem („OS” in 6) auf dem Gerät von Benutzer B empfangen werden. Bei 604 kann das Betriebssystem auf dem Gerät von Benutzer B veranlassen, dass die Anfrage betreffende Informationen zum Beispiel über ein Ausgabegerät (z. B. einen Bildschirm) des Geräts von Benutzer B an Benutzer B ausgegeben werden.
  • Bei 606 kann Benutzer B die Teilungsanfrage annehmen. Bei 608 kann das Betriebssystem auf dem Gerät von Benutzer B eine Benachrichtigung an den Anwendungsserver senden, die auf die Annahme hinweist. Bei 609 kann der Anwendungsserver eine Verarbeitung durchführen, um das Teilen der Anwendung mit Benutzer B zu ermöglichen. Zum Beispiel kann für Benutzer B ein Konto erstellt werden, sofern noch keins vorhanden ist. Konfigurationsdaten von dem Gerät von Benutzer A können den Kontoinformationen zugeordnet werden. Als Teil von 609 kann auch eine Benachrichtigung an das Gerät von Benutzer B gesendet werden, dass die Anwendung X und deren zugehörige Konfigurationsdaten (bei denen es sich um die Konfigurationsdaten von dem Gerät von Benutzer A handelt) zum Herunterladen durch das Gerät von Benutzer B bereitsteht.
  • Bei 610 kann das Betriebssystem auf dem Gerät von Benutzer B die Anwendung X von der Anwendung und bei 612 auch die der Anwendung X zugehörigen Konfigurationsdaten herunterladen, wobei es sich bei den Konfigurationsdaten tatsächlich um die Konfigurationsdaten für die Anwendung X von dem Gerät von Benutzer A handelt. Bei 614 wird die Anwendung X auf dem Gerät von Benutzer B installiert und eingerichtet. Die in 612 heruntergeladenen Konfigurationsdaten können als Teil der Installation und Einrichtung in 614 auf Anwendung X angewendet werden. Die Anwendung X kann nun von Benutzer B unter Verwendung des Geräts von Benutzer B verwendet werden.
  • 7 veranschaulicht ein Beispiel, wie ein erster Benutzer eines ersten Geräts eine Anwendung auf dem ersten Gerät und deren zugehörige angepasste Konfigurationsdaten in Übereinstimmung mit einigen Ausführungsformen der vorliegenden Erfindung an einen zweiten Benutzer weitergeben oder mit diesem teilen kann. In diesem Beispiel kann ein Datenverarbeitungsgerät 702 von einem ersten Benutzer John verwendet werden. Wie gezeigt, wurde eine Wetteranwendung 704 auf dem Datenverarbeitungsgerät 702 installiert. Wie auf dem Bildschirm 706 der Anwendung 704 gezeigt ist, hat der Benutzer John die Wetteranwendung 704 mit einer Reihe von Städten konfiguriert, die für John von Interesse sind (Menlo Park, Cupertino, New York, Los Angeles und San Francisco). John hat dies durch Anpassen der Konfigurationsdaten für die Wetterkanalanwendung 704 und Hinzufügen der bestimmten Städtenamen durchgeführt. John hat die Wetteranwendung 704 auch angepasst, indem er Fahrenheit als Einheit für das Anzeigen der Temperatur ausgewählt hat. Die Anpassung wird auch durch das Vornehmen von Änderungen an den Konfigurationsdaten für die Anwendung 704 durchgeführt. In bestimmten Ausführungsformen kann die Anwendung 704 Benutzerschnittstellen bereitstellen, die es John ermöglichen, diese Anpassungen vorzunehmen.
  • John wünscht möglicherweise, die Wetteranwendung an eine andere Benutzerin, Diana, eine ältere Frau, die in einem Pflegeheim wohnt, weiterzugeben. John weiß möglicherweise, dass Diana an denselben Städten wie John interessiert ist und auch die Temperaturen vorzugsweise in Fahrenheit sehen möchte. Zusätzlich weiß John möglicherweise, dass Diana technisch nicht begabt ist und nicht in der Lage wäre, die Konfigurationsänderungen selbst vorzunehmen. Als Ergebnis entscheidet sich John möglicherweise dafür, die vorstehend beschriebenen Anwendungsteilungsdienste zu nutzen, um die Wetteranwendung 704 mit Diana zu teilen.
  • Wie in 7 gezeigt ist, kann John auf dem Gerät 702 von John zu einem Dashboard 708 navigieren (z. B. Springboard auf iOS-Geräten). Das Dashboard 708 zeigt ein Symbol 710, das der Wetteranwendung 704 entspricht. John kann dann eine Fingergeste (z. B. ein Schnipsen auf dem Symbol 710) auf dem Symbol 710 durchführen, um anzugeben, dass die Anwendung 704 geteilt werden soll. In dem Beispiel in 7 kann das Schnipsen dazu führen, dass eine Dialogbox 714 angezeigt wird, in der John den Namen der Person eingeben kann, mit der er die Anwendung teilen möchte. John kann den Namen von Diana eingeben und dann die Eingabetaste drücken. Dies führt dazu, dass eine Teilungsanfrage von Johns Gerät 702 an das Anwendungsteilungssystem 104 übertragen wird.
  • Es gibt verschiedenste Wege, auf denen John seinen Wunsch, eine Anwendung zu teilen, und die Person, mit der die Anwendung zu teilen ist, angeben kann. In einem Beispiel kann Diana auf einer Kontaktliste von John sein. Das Durchführen der Fingergeste kann dazu führen, dass die Kontaktliste von John angezeigt wird. John kann dann eine oder mehrere Personen auswählen, an die John gerne die Wetteranwendung weitergeben möchte.
  • In dem vorstehenden Beispiel ist zu beachten, dass Diana mit John verwandt sein kann, aber nicht muss. Diana muss kein Teil des Freundeskreises von John sein. John muss Diana überhaupt nicht mit seinem eigenen Benutzerkonto verbinden oder diesem zuordnen, um das Weitergeben oder Teilen zu ermöglichen.
  • 8 veranschaulicht ein Beispiel einer durchgeführten Verarbeitung aus Sicht eines die Anwendung und deren zugehörige Konfigurationsdaten empfangenden Benutzers als Ergebnis einer durch einen anderen Benutzer erzeugten Teilungsanfrage in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung. Als Fortsetzung des in 7 dargestellten und vorstehend beschriebenen Beispiels stellt die in 8 dargestellte Ausführungsform Dianas Sicht und die auf ihrem Gerät 802 angezeigten Informationen dar. Wie aus 8 ersichtlich ist, kann eine Dialogbox oder Benachrichtigung 804 auf Dianas Mobilgerät 802 angezeigt werden, die angibt, dass der Benutzer John gerne die Wetteranwendung mit Diana teilen möchte. Diana kann dann die Teilungsanfrage entweder annehmen oder ablehnen, indem sie die entsprechende Schaltfläche in der Dialogbox auswählt. Wenn Diana die Anfrage annimmt, wird die Wetteranwendung gemeinsam mit den von John angepassten Konfigurationsdaten für die Anwendung automatisch auf Dianas Gerät 802 heruntergeladen. Wie aus dem Dashboard 806 auf Dianes Gerät 802 ersichtlich ist, wird ein neues Symbol 808 gezeigt, das angibt, dass die Wetteranwendung auf das Gerät 802 heruntergeladen und darauf installiert wurde. Des Weiteren zeigt ein Screenshot 810 der Wetteranwendung in Dianes Gerät 802, dass die Anwendung automatisch mit denselben Städten wie Johns Anwendung konfiguriert wurde (d. h. Menlo Park, Cupertino, New York, Los Angeles und San Francisco) und Fahrenheit als Einheit zum Anzeigen der Temperaturen festgelegt wurde. Die Konfigurationsdaten auf Dianes Gerät 802 für die Wetteranwendung wurden auf dieselben Konfigurationseinstellungen festgelegt wie die von John, ohne dass Diane irgendetwas in Bezug auf die Konfigurationsdaten tun muss.
  • Nachdem eine Anwendung mit den angepassten Konfigurationsdaten auf das zweite Gerät (z. B. auf Dianes Gerät) heruntergeladen wurde, können die Benutzer des ersten Geräts und des zweiten Geräts mit den auf ihren jeweiligen Geräten installierten Anwendungen unabhängig voneinander interagieren. Zum Beispiel kann John in dem vorstehenden Beispiel weitere Änderungen an den Konfigurationsdaten für die auf seinem Gerät installierte Wetteranwendung vornehmen (z. B. eine Stadt hinzufügen oder löschen, für welche die Anwendung die Temperatur zeigt), ohne die Wetteranwendung oder deren Konfigurationsdaten auf Dianes Gerät zu beeinflussen. Gleichermaßen kann Diane Änderungen an den Konfigurationsdaten für die auf ihrem Gerät installierte Wetteranwendung vornehmen (z. B. eine Stadt hinzufügen oder löschen, für welche die Anwendung die Temperatur zeigt), ohne die Wetteranwendung oder deren Konfigurationsdaten auf Johns Gerät zu beeinflussen. Dies ist in dem in 9 dargestellten Beispiel veranschaulicht. Die Ausführungsform in 9 zeigt Schnittstellen auf Dianes Gerät. Wie in 9 gezeigt ist, kann Diane beschließen, die Wetteranwendung auf ihrem Gerät so zu konfigurierten, dass sie Temperaturdaten für eine zusätzliche Stadt zeigt. Diane kann dies durchführen, indem sie die von der Wetteranwendung auf ihrem Gerät 802 angezeigte Option „+” auswählt (z. B. durch Antippen). Beim Auswählen von „+” 900 kann eine Dialogbox 902 auf Dianes Gerät angezeigt werden. Diane kann dann in der Dialogbox 902 den Namen der hinzuzufügenden Stadt eingeben, wodurch die Konfigurationsdaten für die Wetteranwendung auf ihrem Gerät 802 geändert werden. Wie in 9 gezeigt ist, gibt sie „San Diego” ein. Ein Eintrag 904, der die Temperatur in San Diego zeigt, wird dann in ihrer Wetteranwendung angezeigt. Dianes Änderungen beeinflussen Johns Wetteranwendung oder deren zugehörige Konfigurationsdaten nicht. Anders ausgedrückt, San Diego wird nicht zu der auf Johns Gerät installierten Wetteranwendung hinzugefügt.
  • In den in 7, 8 und 9 dargestellten und vorstehend beschriebenen Beispielen hatten das erste und zweite Gerät des ersten Benutzers (des weitergebenden Benutzers, z. B. John) bzw. des zweiten Benutzers (des Ziels der Weitergabe, z. B. Diane) Bildschirmausgabeeinheiten zum Anzeigen von Informationen bezüglich der Teilungsanfrage und der Anwendung, die geteilt wird. In alternativen Ausführungsformen können andere Typen von Benutzereingabe- und -ausgabeschnittstellen bereitgestellt werden. Zum Beispiel kann es sich bei dem ersten Gerät und/oder dem zweiten Gerät um Geräte in einer IoT-Umgebung handeln. Derartige Geräte haben möglicherweise keine berührungsempfindlichen Bildschirme, die als Eingabe- und Ausgabeeinheiten dienen, sondern können stattdessen andere Eingabe- und Ausgabemechanismen bereitstellen.
  • In bestimmten Ausführungsformen können IoT-Geräte ein oder mehrere Lichter zum Ausgeben von Informationen und einen oder mehrere Knöpfe zum Eingeben von Informationen bereitstellen. Zum Beispiel kann ein erstes IoT-Gerät eine Reihe von Knöpfen als Eingabeschnittstelle bereitstellen. Ein Benutzer des ersten IoT-Geräts kann einen oder mehrere der Knöpfe verwenden, um eine Anwendung auf dem ersten IoT-Gerät auszuwählen, die mit einem zweiten Benutzer geteilt werden soll. Sobald eine Anwendung ausgewählt wurde, kann der Benutzer des ersten IoT-Geräts einen anderen auf dem ersten IoT-Gerät bereitgestellten Knopf drücken, um anzugeben, dass der Benutzer wünscht, die ausgewählte Anwendung mit einem zweiten Benutzer zu teilen.
  • In einigen Ausführungsformen kann das zweite IoT-Gerät des zweiten Benutzers eine Reihe von Lichtern zum Ausgeben von Informationen und eine Reihe von Knöpfen zum Eingeben von Informationen in das IoT-Gerät bereitstellen. Zum Beispiel kann in einer Ausführungsform ein speziell dafür vorgesehenes Licht auf dem zweiten IoT-Gerät bereitgestellt werden, das, wenn es leuchtet, angibt, dass eine Anfrage von einem ersten Benutzer bezüglich des Teilens einer Anwendung mit dem zweiten Gerät empfangen wurde. Ein Benutzer des zweiten IoT-Geräts kann dann die Anfrage annehmen, indem er einen durch das zweite IoT-Gerät bereitgestellten Knopf drückt. Die Anwendung und die Konfigurationsdaten von dem ersten IoT-Gerät können dann unter Verwendung derselben Lehren wie vorstehend beschrieben auf das zweite IoT-Gerät heruntergeladen werden.
  • In einigen Ausführungsformen kann an Stelle eines speziell dafür vorgesehenen Lichts die Farbe eines Lichts auf dem zweiten IoT-Gerät anzeigen, wenn eine Teilungsanfrage durch das zweite IoT-Gerät empfangen wurde. Wenn zum Beispiel ein Licht gelb (oder in irgendeiner anderen bestimmten Farbe) leuchtet, kann dies darauf hinweisen, dass das zweite IoT-Gerät eine Teilungsanfrage empfangen hat. In noch anderen Ausführungsformen kann ein Licht auf dem zweiten IoT-Gerät anfangen, in einer bestimmten Frequenz zu blinken, um anzuzeigen, dass eine Teilungsanfrage durch das zweite IoT-Gerät empfangen wurde.
  • Auf die vorstehend beschriebene Weise können auf Geräten verschiedenste Wege bereitgestellt werden, damit Benutzer der Geräte eine zu teilende Anwendung auswählen können, Teilungsanfragen erzeugt werden können und Informationen darüber, dass durch die Geräte Teilungsanfragen empfangen wurden, an Benutzer der Geräte ausgegeben werden können, und damit der Benutzer die Teilungsanfrage annehmen (oder abweisen) kann. Die in dieser Offenbarung beschriebenen Beispiele sollen somit nicht einschränkend sein.
  • 10 ist ein vereinfachtes Blockschaubild eines Computersystems 1000, das in Übereinstimmung mit bestimmten Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Das Computersystem 1000 kann dazu verwendet werden, ein oder mehrere der vorstehend beschriebenen Client-Geräte umzusetzen, wie zum Beispiel die in 1 dargestellten Geräte 110 und 112, das in 7 dargestellte Gerät 702 und das in 8 und 9 dargestellte Geräte 802. Das Computersystem 1000 kann auch dazu verwendet werden, ein Anwendungsteilungssystem wie zum Beispiel das in 1 dargestellte Anwendungsteilungssystem 104 umzusetzen. Das Computersystem 1000 kann verschiedener Arten sein, wie zum Beispiel ein Mobilgerät, ein Handheld-Gerät, ein Notebook-Computer, ein Desktop-Computer, ein IoT-Gerät oder jede beliebige geeignete elektronische Vorrichtung, ohne darauf beschränkt zu sein. Des Weiteren sollte klar sein, dass, obwohl das Computersystem 1000 unter Bezugnahme auf bestimmte Blöcke beschrieben wurde, diese Blöcke der Bequemlichkeit der Beschreibung halber definiert wurden und keine bestimmte physische Anordnung von Komponententeilen bedeuten sollen. Ausführungsformen der vorliegenden Erfindung können in einer Vielfalt von Vorrichtungen umgesetzt werden, darunter elektronische Vorrichtungen, die unter Verwendung einer beliebigen Kombination aus Schaltungen und Software umgesetzt werden. Aufgrund der sich ständig ändernden Art von Computer und Netzwerken soll die Beschreibung des in 10 dargestellten Computersystems 1000 lediglich als ein spezifisches Beispiel zum Zwecke der Veranschaulichung dienen. Es sind viele andere Konfigurationen mit mehr oder weniger Komponenten als das in 10 dargestellte möglich.
  • Wie in 10 dargestellt ist, beinhaltet das Computersystem 1000 mehrere Teilsysteme, darunter ein Verarbeitungsteilsystem 1002, ein Speicherungsteilsystem 1004, ein Benutzereingabeteilsystem 1006, ein Benutzerausgabeteilsystem 1008 und ein Netzwerkschnittstellenteilsystem 1010. In der in 10 dargestellten Ausführungsform sind die verschiedenen Teilsysteme für den Datenaustausch über ein Busteilsystem 1012 miteinander verbunden. Das Busteilsystem 1012 stellt einen Mechanismus bereit, um die verschiedenen Komponenten und Teilsysteme des Computersystems 1000 wie beabsichtigt miteinander Daten austauschen zu lassen. Obwohl das Busteilsystem 1012 schematisch als einzelner Bus gezeigt ist, können alternative Ausführungsformen des Busteilsystems mehrere Busse nutzen.
  • Das Verarbeitungsteilsystem 1002, das als eine oder mehrere integrierte Schaltungen (z. B. einen oder mehrere Einzelkern- oder Mehrkern-Mikroprozessoren oder Mikrocontroller) umgesetzt sein kann, kann den Betrieb des Computersystems 1000 steuern. Das Verarbeitungsteilsystem 1002 kann einen oder mehrere Universalprozessoren und/oder einen oder mehrere Spezialprozessoren (wie zum Beispiel digitale Signalverarbeitungschips, Grafikbeschleunigungsprozessoren, sensorische Chips und/oder dergleichen) beinhalten, ohne darauf beschränkt zu sein. Die Prozessoren können einen oder mehrere Mehrkernprozessoren beinhalten. In verschiedenen Ausfülungsformen kann das Verarbeitungsteilsystem 1002 eine Vielfalt an Programmen ausführen (z. B. Programmcode, Anweisungen), die das Durchführen verschiedener Funktionen veranlassen, und kann mehrere gleichzeitig ausgeführte Programme oder Prozesse aufrechterhalten. Jederzeit kann sich ein Teil oder der gesamte auszuführende Programmcode in dem Verarbeitungsteilsystem 1002 und/oder in dem Speicherungsteilsystem 1004 befinden.
  • Durch geeignete Programmierung kann das Verarbeitungsteilsystem 1002 verschiedene Funktionalitäten für das Computersystem 1000 bereitstellen. Zum Beispiel kann das Verarbeitungsteilsystem 1002 eine oder mehrere auf dem Computersystem 1000 installierte Anwendungen 1016 ausführen. Die Anwendung 1016 kann verschiedene Verfahren für verschiedene Funktionalitäten einer Anwendung durchführen.
  • Das Speicherungsteilsystem 1004 stellt ein nicht flüchtiges Medium zum Speichern von Informationen und Code (Anweisungen) bereit, die durch eine oder mehrere Verarbeitungseinheiten (z. B. Prozessoren) des Verarbeitungsteilsystems 1002 ausgeführt werden können. Zum Beispiel kann das Speicherungsteilsystem 1004 so konfiguriert sein, dass die grundsätzliche Programmierung (z. B. die Anwendung 1016) und die Datenkonstrukte, welche die Funktionalität von bestimmten Ausführungsformen der vorliegenden Erfindung bereitstellen, gespeichert werden. Das Speicherungsteilsystem 1004 kann auch ein Repository zum Speichern von verwendeten Daten in Übereinstimmung mit der vorliegenden Erfindung bereitstellen. Zum Beispiel können einer Anwendung zugehörige Konfigurationsdaten durch das Speicherungsteilsystem 1004 gespeichert werden. Programme und/oder Daten können in nicht flüchtigem Speicher gespeichert und während der Programmausführung vollständig oder teilweise in flüchtigen Arbeitsspeicher kopiert werden. Das Speicherungsteilsystem 1004 kann z. B. unter Verwendung von Platten, Flash-Speicher oder jedem beliebigen anderen Speichermedium in einer beliebigen Kombination umgesetzt werden und kann nach Belieben flüchtigen und/oder nicht flüchtigen Speicher beinhalten.
  • In bestimmten Ausführungsformen kann das Speicherungsteilsystem 1004 ein Speicherteilsystem und/oder ein Datei/Platten-Speicherteilsystem aufweisen. Das Speicherteilsystem kann mehrere Speicher beinhalten, wie zum Beispiel einen Haupt-Direktzugriffsspeicher (RAM) zum Speichern von Anweisungen und Daten während der Programmausführung, einen Nur-Lese-Speicher (ROM), in dem vorgegebene Anweisungen gespeichert sind, Flash-Speicher und dergleichen. In bestimmten Ausführungsformen können sich verschiedene Software-Elemente in dem Systemspeicher befinden, wie zum Beispiel ein Betriebssystem, Einheitentreiber, ausführbare Bibliotheken und/oder anderer Code wie zum Beispiel ein oder mehrere Anwendungsprogramme 1016. Das Datei-Speicherungsteilsystem kann dauerhaften (nicht flüchtigen) Speicher für Programm- und Datendateien bereitstellen und kann ein Festplattenlaufwerk, ein Floppy-Disk-Laufwerk zusammen mit zugehörigen austauschbaren Medien, ein CD-ROM-(Compact Disk Read Only Memory)-Laufwerk, ein optisches Laufwerk, Kassetten mit auswechselbaren Medien, lokalen und/oder per Netzwerk erreichbaren Speicher und andere ähnliche Speichermedien beinhalten.
  • Die Benutzereingabegeräte 1006 können einen oder mehrere unterschiedliche Mechanismen zum Bereitstellen von Eingaben in das Computersystem 1000 beinhalten, wie zum Beispiel eine Maus, eine Tastatur, ein Touchpad, ein Tablet, durch einen Benutzer auswählbare Schaltflächen und/oder dergleichen, ohne darauf beschränkt zu sein. Die Benutzereingabegeräte 1006 können ein Touchpad, einen berührungsempfindlichen Bildschirm, ein Scrollrad, ein Klickrad, eine Wählscheibe, einen Knopf, einen Schalter, ein Tastenfeld, ein Mikrofon und dergleichen beinhalten.
  • Die Benutzerausgabegeräte 1008 können einen oder mehrere unterschiedliche Mechanismen zum Ausgeben von Informationen aus dem Computersystem 1000 beinhalten, wie zum Beispiel einen Anzeigebildschirm, Anzeigeleuchten, Lautsprecher, Kopfhörerbuchsen oder dergleichen, zusammen mit unterstützender Elektronik (z. B. Digital/Analog- oder Analog/Digital-Wandler), ohne darauf beschränkt zu sein.
  • Das Computersystem 1000 kann ein Netzwerkschnittstellenteilsystem 1010 beinhalten, das Datenübertragungen zu und von dem Computersystem 1000 ermöglicht und erleichtert. Das Netzwerkschnittstellenteilsystem 1010 kann einen Modem, eine Netzwerkkarte (drahtlos oder drahtgebunden), eine Infrarot-Datenübertragungseinheit, eine drahtlose Datenübertragungseinheit und/oder einen Chipsatz (wie zum Beispiel ein Bluetooth®-Gerät, ein 802.11-Gerät, ein WiFi-Gerät, ein WiMax-Gerät, zelluläre Kommunikationseinrichtungen, usw.) und/oder dergleichen beinhalten, ohne darauf beschränkt zu sein. Das Netzwerkschnittstellenteilsystem 1010 kann es ermöglichen, dass Daten mit einem Netzwerk, anderen Computersystemen und/oder beliebigen anderen hierin beschriebenen Geräten ausgetauscht werden können. Wenn zum Beispiel das System 1000 dazu verwendet wird, das Anwendungsteilungssystem umzusetzen, kann das Netzwerkschnittstellenteilsystem 1010 Datenübertragungen mit einem oder mehreren Client-Geräten ermöglichen. In einigen Ausführungsformen kann die Netzwerkschnittstelle 1010 drahtgebundene Netzwerkverbindungsmöglichkeiten (z. B. Ethernet) bereitstellen. Die Netzwerkschnittstelle 1010 kann unter Verwendung einer Kombination aus Hardware (z. B. Antennen, Modulatoren/Demodulatoren, Codierer/Decodierer und andere analoge und/oder digitale Signalverarbeitungsschaltkreise) und Software-Komponenten umgesetzt werden.
  • Die Begriffe „durch eine Maschine lesbares Medium” und „durch einen Computer lesbares Medium” beziehen sich in ihrer Verwendung hierin auf jedes beliebige nicht flüchtige Medium, das am Bereitstellen von Daten beteiligt ist, die ein Computersystem dazu veranlassen, auf eine spezifische Weise zu funktionieren. In einer Ausführungsform, die unter Verwendung des Computersystems 1000 umgesetzt ist, können verschiedene durch einen Computer lesbare Medien am Bereitstellen von Anweisungen/Code an den/die Prozessor(en) 1002 zur Ausführung beteiligt sein und/oder können zum Speichern derartiger Anweisungen/Codes verwendet werden. Das durch einen Computer lesbare Medium kann viele Formen annehmen, wie zum Beispiel nicht flüchtige Medien und flüchtige Medien.
  • Bei den vorstehend erörterten Verfahren, Systemen und Geräten handelt es sich um Beispiele. Verschiedene Ausführungsformen können gegebenenfalls verschiedene Vorgangsweisen oder Komponenten weglassen, ersetzen oder hinzufügen. Zum Beispiel können in alternativen Konfigurationen die beschriebenen Verfahren in einer unterschiedlichen Reihenfolge als beschrieben durchgeführt werden, und/oder es können verschiedene Stufen hinzugefügt, weggelassen und/oder kombiniert werden. Eigenschaften, die in Bezug auf bestimmte Ausführungsformen beschrieben wurden, können in verschiedenen anderen Ausführungsformen kombiniert werden. Verschiedene Aspekte und Elemente der Ausführungsformen können auf ähnliche Weise kombiniert werden. Die Technologie entwickelt sich weiter und somit sind viele der Elemente Beispiele, die den Umfang der Offenbarung nicht auf diese spezifischen Beispiele beschränken.
  • In der Beschreibung werden spezifische Details angeführt, um ein vollständiges Verständnis der Ausführungsformen bereitzustellen. Ausführungsformen können jedoch auch ohne diese spezifischen Details ausgeführt werden. Zum Beispiel wurden allgemein bekannte Schaltkreise, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötige Details gezeigt, um zu verhindern, dass die Ausführungsformen unklar gemacht werden. Diese Beschreibung stellt lediglich beispielhafte Ausführungsformen bereit und soll den Umfang, die Anwendbarkeit oder Konfiguration der Erfindung nicht einschränken. Die vorstehende Beschreibung der Ausführungsformen stellt vielmehr dem Fachmann eine Beschreibung bereit, die das Umsetzen von Ausführungsformen der Erfindung ermöglicht. Es können verschiedene Änderungen an der Funktion und Anordnung von Elementen vorgenommen werden, ohne von dem Gedanken und Umfang der Erfindung abzuweichen.
  • Obwohl spezifische Ausführungsformen der Erfindung beschrieben wurden, sind auch verschiedene Abänderungen, Veränderungen, alternative Konstruktionen und Entsprechungen innerhalb des Umfangs der Erfindung eingeschlossen. Ausführungsformen der vorliegenden Erfindung sind nicht auf den Betrieb innerhalb bestimmter spezifischer Datenverarbeitungsumgebungen beschränkt, sondern können in einer Vielzahl von Datenverarbeitungsumgebungen betrieben werden. Zusätzlich sollte es einem Fachmann klar sein, dass, obwohl bestimmte Ausführungsformen unter Verwendung einer Reihe von Transaktionen und Schritten beschrieben wurden, der Umfang der vorliegenden Erfindung nicht auf die beschriebene Reihe von Transaktionen und Schritten beschränkt ist. Obwohl einige Ablaufpläne Operationen als sequentiellen Prozess beschreiben, können viele der Operationen auch parallel oder gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Operationen neu angeordnet werden. Ein Prozess kann zusätzliche Schritte aufweisen, die nicht in der Figur beinhaltet sind.
  • Des Weiteren sollte verstanden werden, dass, während bestimmte Ausführungsformen unter Verwendung einer bestimmten Kombination aus Hardware und Software beschrieben wurden, auch andere Kombinationen aus Hardware und Software innerhalb des Umfangs der vorliegenden Erfindung liegen. Bestimmte Ausführungsformen der vorliegenden Erfindung können nur in Hardware, nur in Software (z. B. Codeprogramme, Firmware, Middleware, Mikrocode usw.) oder unter Verwendung von Kombinationen daraus umgesetzt werden. Die verschiedenen hierin beschriebenen Prozesse können auf demselben Prozessor oder auf verschiedenen Prozessoren in jeder beliebigen Kombination umgesetzt werden. Wenn Komponenten oder Module so beschrieben werden, dass sie so konfiguriert sind, dass sie bestimmte Operationen durchführen, kann entsprechend eine derartige Konfiguration erreicht werden, z. B. durch Entwerfen von elektronischen Schaltkreisen zum Durchführen der Operation, durch Programmieren von programmierbaren elektronischen Schaltkreisen (wie zum Beispiel Mikroprozessoren) zum Durchführen der Operation wie zum Beispiel durch Ausführen von Computeranweisungen oder Code oder eine beliebige Kombination daraus. Prozesse können unter Verwendung einer Vielfalt von Techniken kommunizieren, einschließlich herkömmlicher Techniken für Interprozesskommunikation, aber nicht darauf beschränkt, und unterschiedliche Prozesspaare können unterschiedliche Techniken verwenden oder dasselbe Prozesspaar kann unterschiedliche Techniken zu verschiedenen Zeiten verwenden.
  • Jede der in dieser Offenbarung beschriebenen Software-Komponenten oder Funktionen kann als Software-Code umgesetzt sein, der durch einen Prozessor unter Verwendung einer beliebigen geeigneten Computersprache wie zum Beispiel Java, C++ oder Perl ausgeführt wird, wobei zum Beispiel herkömmliche oder objektorientierte Techniken verwendet werden. Der Software-Code kann als eine Reihe von Anweisungen oder Befehlen auf einem durch einen Computer lesbaren Medium zum Speichern und/oder Übertragen gespeichert sein, zu geeigneten Medien gehören Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), ein magnetisches Medium wie zum Beispiel ein Festplattenlaufwerk oder eine Floppy-Disk oder ein optisches Medium wie zum Beispiel eine Compact-Disk (CD) oder DVD (Digital Versatile Disk), Flash-Speicher und dergleichen.
  • Die vorstehende Beschreibung beispielhafter Ausführungsformen der Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt. Sie soll nicht erschöpfend sein oder die Erfindung auf die exakte beschriebene Form einschränken, und vor dem Hintergrund der vorstehenden Lehren sind viele Abänderungen und Abwandlungen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundgedanken der Erfindung und deren praktische Anwendungen klar zu erläutern, um es dadurch anderen Fachleuten zu ermöglichen, die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, bestmöglich zu verwenden. Die Beschreibung und die Zeichnungen sind entsprechend in einer veranschaulichenden Bedeutung und nicht in einer einschränkenden Bedeutung zu sehen. Es wird jedoch offensichtlich sein, dass Hinzufügungen, Wegnahmen, Löschungen und andere Abänderungen und Änderungen daran vorgenommen werden können, ohne von dem allgemeinen Gedanken und Umfang abzuweichen, die in den Ansprüchen dargelegt sind.

Claims (20)

  1. Verfahren, aufweisend: Empfangen einer Anfrage von einem ersten Benutzer durch ein Datenverarbeitungssystem, das einen oder mehrere Prozessoren aufweist zum Teilen einer Anwendung auf einem ersten Datenverarbeitungsgerät mit einem zweiten Benutzer; Senden von Informationen über die Anfrage an ein zweites Datenverarbeitungsgerät des zweiten Benutzers; Empfangen einer Bestätigung von dem zweiten Datenverarbeitungsgerät, die auf die Annahme der Anfrage hinweist; und als Reaktion auf das Empfangen der Bestätigung: Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät; Ermitteln von auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten, wobei die Konfigurationsdaten mindestens eine Konfigurationseinstellung aufweisen, deren Wert aufgrund von einer oder mehreren Interaktionen des ersten Benutzers mit der Anwendung auf dem ersten Datenverarbeitungsgerät festgelegt wurde; und Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät.
  2. Verfahren nach Anspruch 1, wobei die auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten mindestens eine Änderung aufweisen, die an Standardkonfigurationsdaten vorgenommen wurden, die auf das erste Datenverarbeitungsgerät heruntergeladen wurden, als die Anwendung auf das erste Datenverarbeitungsgerät heruntergeladen wurde.
  3. Verfahren nach Anspruch 1, wobei die auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten eine erste Konfigurationseinstellung aufweisen, der durch einen ersten Benutzer ein bestimmter Wert zugewiesen wird.
  4. Verfahren nach Anspruch 1, wobei anschließend an das Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät die Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät unabhängig von den Konfigurationsdaten auf dem zweiten Datenverarbeitungsgerät abgeändert werden.
  5. Verfahren nach Anspruch 1, ferner aufweisend: automatisches Erstellen eines Kontos für den zweiten Benutzer durch das Datenverarbeitungssystem; und Zuweisen der Konfigurationsdaten zu dem Konto durch das Datenverarbeitungssystem.
  6. Verfahren nach Anspruch 1, ferner aufweisend: Übertragen der Anfrage von dem ersten Datenverarbeitungsgerät an das Datenverarbeitungssystem beim Erkennen einer Geste durch das erste Datenverarbeitungsgerät, die von dem ersten Benutzer hinsichtlich der Anwendung durchgeführt wurde.
  7. Verfahren nach Anspruch 1, ferner aufweisend: Feststellen durch das Datenverarbeitungssystem vor dem Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät, dass die Anwendung auf dem zweiten Datenverarbeitungsgerät nicht vorhanden ist.
  8. Verfahren nach Anspruch 1, ferner aufweisend: Installieren der heruntergeladenen Anwendung auf dem zweiten Datenverarbeitungsgerät; und Anwenden der heruntergeladenen Konfigurationsdaten auf die installierte Anwendung auf dem zweiten Datenverarbeitungsgerät.
  9. System, aufweisend: einen oder mehrere Prozessoren; und einen mit dem einen oder den mehreren Prozessoren verbundenen Speicher, wobei der Speicher mit einem Satz von Anweisungen codiert ist, der Anweisungen aufweist, die beim Ausführen durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: Empfangen einer Anfrage von einem ersten Benutzer zum Teilen einer Anwendung auf einem ersten Datenverarbeitungsgerät mit einem zweiten Benutzer; Senden von Informationen über die Anfrage an ein zweites Datenverarbeitungsgerät des zweiten Benutzers; Empfangen einer Bestätigung von dem zweiten Datenverarbeitungsgerät, die auf die Annahme der Anfrage hinweist; und als Reaktion auf das Empfangen der Bestätigung: Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät; Ermitteln von auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten, wobei die Konfigurationsdaten mindestens eine Konfigurationseinstellung aufweisen, deren Wert aufgrund von einer oder mehreren Interaktionen des ersten Benutzers mit der Anwendung auf dem ersten Datenverarbeitungsgerät festgelegt wurde; und Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät.
  10. System nach Anspruch 9, wobei die auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten mindestens eine Änderung aufweisen, die an Standardkonfigurationsdaten vorgenommen wurden, die auf das erste Datenverarbeitungsgerät heruntergeladen wurden, als die Anwendung auf das erste Datenverarbeitungsgerät heruntergeladen wurde.
  11. System nach Anspruch 9, wobei die auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten eine erste Konfigurationseinstellung aufweisen, der durch einen ersten Benutzer ein bestimmter Wert zugewiesen wird.
  12. System nach Anspruch 9, wobei anschließend an das Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät die Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät unabhängig von den Konfigurationsdaten auf dem zweiten Datenverarbeitungsgerät abgeändert werden.
  13. System nach Anspruch 9, wobei der Satz von Anweisungen darüber hinaus Anweisungen aufweist, die beim Ausführen durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: automatischen Erstellen eines Kontos für den zweiten Benutzer; und Zuweisen der Konfigurationsdaten zu dem Konto.
  14. System nach Anspruch 9, wobei der Satz von Anweisungen darüber hinaus Anweisungen aufweist, die beim Ausführen durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: Übertragen der Anfrage von dem ersten Datenverarbeitungsgerät an das Datenverarbeitungssystem beim Erkennen einer Geste durch das erste Datenverarbeitungsgerät, die von dem ersten Benutzer hinsichtlich der Anwendung durchgeführt wurde.
  15. System nach Anspruch 9, wobei der Satz von Anweisungen darüber hinaus Anweisungen aufweist, die beim Ausführen durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen zum: Feststellen vor dem Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät, dass die Anwendung auf dem zweiten Datenverarbeitungsgerät nicht vorhanden ist.
  16. Nichtflüchtiger, durch einen Computer lesbarer Speicherungsspeicher, auf dem mehrere Anweisungen gespeichert sind, die beim Ausführen durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, die aufweisen: Empfangen einer Anfrage von einem ersten Benutzer zum Teilen einer Anwendung auf einem ersten Datenverarbeitungsgerät mit einem zweiten Benutzer; Senden von Informationen über die Anfrage an ein zweites Datenverarbeitungsgerät des zweiten Benutzers; Empfangen einer Bestätigung von dem zweiten Datenverarbeitungsgerät, die auf die Annahme der Anfrage hinweist; und als Reaktion auf das Empfangen der Bestätigung: Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät; Ermitteln von auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten, wobei die Konfigurationsdaten mindestens eine Konfigurationseinstellung aufweisen, deren Wert aufgrund von einer oder mehreren Interaktionen des ersten Benutzers mit der Anwendung auf dem ersten Datenverarbeitungsgerät festgelegt wurde; und Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät.
  17. Durch einen Computer lesbarer Speicherungsspeicher nach Anspruch 16, wobei die auf das zweite Datenverarbeitungsgerät herunterzuladenden Konfigurationsdaten mindestens eine Änderung aufweisen, die an Standardkonfigurationsdaten vorgenommen wurden, die auf das erste Datenverarbeitungsgerät heruntergeladen wurden, als die Anwendung auf das erste Datenverarbeitungsgerät heruntergeladen wurde.
  18. Durch einen Computer lesbarer Speicherungsspeicher nach Anspruch 16, wobei anschließend an das Veranlassen des Sendens der Konfigurationsdaten an das zweite Datenverarbeitungsgerät die Konfigurationsdaten auf dem ersten Datenverarbeitungsgerät unabhängig von den Konfigurationsdaten auf dem zweiten Datenverarbeitungsgerät abgeändert werden.
  19. Durch einen Computer lesbarer Speicherungsspeicher nach Anspruch 16, wobei die Anweisungen darüber hinaus den einen oder die mehreren Prozessoren dazu veranlassen, Operationen durchzuführen, die aufweisen: automatisches Erstellen eines Kontos für den zweiten Benutzer; und Zuweisen der Konfigurationsdaten zu dem Konto.
  20. Durch einen Computer lesbarer Speicherungsspeicher nach Anspruch 16, wobei die Anweisungen darüber hinaus den einen oder die mehreren Prozessoren dazu veranlassen, Operationen durchzuführen, die aufweisen: Feststellen vor dem Veranlassen des Herunterladens der Anwendung auf das zweite Datenverarbeitungsgerät, dass die Anwendung auf dem zweiten Datenverarbeitungsgerät nicht vorhanden ist.
DE112016000290.4T 2015-01-07 2016-01-07 Techniken zum Teilen von Anwendungen Withdrawn DE112016000290T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562100608P 2015-01-07 2015-01-07
US62/100,608 2015-01-07
US14/989,282 US20160197773A1 (en) 2015-01-07 2016-01-06 Techniques for sharing applications
US14/989,282 2016-01-06
PCT/US2016/012545 WO2016112226A1 (en) 2015-01-07 2016-01-07 Techniques for sharing applications

Publications (1)

Publication Number Publication Date
DE112016000290T5 true DE112016000290T5 (de) 2017-12-21

Family

ID=56287084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016000290.4T Withdrawn DE112016000290T5 (de) 2015-01-07 2016-01-07 Techniken zum Teilen von Anwendungen

Country Status (5)

Country Link
US (1) US20160197773A1 (de)
JP (1) JP2018506782A (de)
DE (1) DE112016000290T5 (de)
GB (1) GB2549650A (de)
WO (1) WO2016112226A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016144385A1 (en) * 2015-03-08 2016-09-15 Apple Inc. Sharing user-configurable graphical constructs
US9763024B2 (en) * 2015-04-09 2017-09-12 Yahoo Holdings, Inc. Mobile ghosting
US10757168B2 (en) * 2015-11-13 2020-08-25 Verizon Patent And Licensing, Inc. Mechanism for exchanging order data
US10572213B2 (en) * 2016-04-04 2020-02-25 Microsoft Technology Licensing, Llc Universal application pinning
US10191785B2 (en) 2016-06-30 2019-01-29 Paypal, Inc. User data management across multiple apps on a user device
US10530665B2 (en) 2016-10-14 2020-01-07 Cisco Technology, Inc. Device management for isolation networks
US11036345B2 (en) * 2017-03-22 2021-06-15 Yuval PRAG System and method for on-screen graphical user interface encapsulation and reproduction
US10970138B2 (en) 2017-05-09 2021-04-06 Microsoft Technology Licensing, Llc Modular applications using a common provisioning service
US11386117B2 (en) * 2018-10-31 2022-07-12 Sap Se Synchronization of customized templates across multiple cloud-based systems
CN111327458A (zh) 2020-01-22 2020-06-23 维沃移动通信有限公司 配置信息分享方法、终端设备及计算机可读存储介质
DK181103B1 (en) 2020-05-11 2022-12-15 Apple Inc User interfaces related to time
EP4323992A1 (de) 2021-05-15 2024-02-21 Apple Inc. Benutzerschnittstellen für gruppenausarbeitungen
CN113727335B (zh) * 2021-08-27 2024-02-20 支付宝(中国)网络技术有限公司 分享处理方法及装置
CN116301516A (zh) * 2021-12-21 2023-06-23 北京小米移动软件有限公司 一种应用共享方法及装置、电子设备、存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255791B2 (en) * 2000-11-29 2012-08-28 Dov Koren Collaborative, flexible, interactive real-time displays
US20050138156A1 (en) * 2003-12-19 2005-06-23 Alexander Gebhart Grid application customization
US9112928B2 (en) * 2009-05-29 2015-08-18 Nokia Technologies Oy Method and apparatus for automatic loading of applications
US8346847B2 (en) * 2009-06-03 2013-01-01 Apple Inc. Installing applications based on a seed application from a separate device
EP3876496B1 (de) * 2012-06-13 2022-10-26 Huawei Device Co., Ltd. Mobiles endgerät und computerprogrammprodukt zur teilung eines widgets
CN103581266A (zh) * 2012-07-31 2014-02-12 诺基亚公司 应用分享信息收集
EP3000223A1 (de) * 2013-05-21 2016-03-30 MultiTouch Oy Gemeinsame nutzung von apps
US20150242874A1 (en) * 2014-02-21 2015-08-27 Saambaa Llc Systems and methods to generate incentivized peer-to-peer sharing of download links from within mobile application

Also Published As

Publication number Publication date
WO2016112226A1 (en) 2016-07-14
GB2549650A (en) 2017-10-25
GB201711060D0 (en) 2017-08-23
JP2018506782A (ja) 2018-03-08
US20160197773A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
DE112016000290T5 (de) Techniken zum Teilen von Anwendungen
US11803704B2 (en) Intelligently updating a collaboration site or template
DE60124885T2 (de) Verfahren und geräte für schneiden, kopieren und kleben zwischen computersystemen über einem drahtlosen netz
DE60029774T2 (de) Videokonferenzsystem
DE202017105691U1 (de) Intelligente Assistenz für wiederholte Aktionen
DE112012001230T5 (de) System und Verfahren zum Verteilen von Benutzerschnittstellen-Gerätekonfigurationen
DE112016006083T5 (de) Bereitstellung von Rechenressourcen für eine virtuelle Maschine, die ausgelegt ist eine Gruppe von Anwendungsprogrammen zu Hosten, die einem Benutzer zugeordnet sind
US20230396661A1 (en) Systems and methods for sharing content externally from a group-based communication platform
DE102017122308A1 (de) Kontextabhängige einfügeziel-vorhersage
DE202013012485U1 (de) System für Browseridentität
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112013002542T5 (de) Cloud-basierte Anwendungsressourcendateien
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
DE102017002492A1 (de) Verwendung eines Aktionsverzeichnisses zum Bearbeiten von Daten zwischen Nutzern und Geräten
DE102013004214A1 (de) Alternative Entsperrungsmuster
DE202013012493U1 (de) Stufen der Datenspeicherung für Webanwendungen und Browser-Erweiterungen
CN109074264B (zh) 一种用于跨程序的用户设置的方法和系统
DE102017205595A1 (de) Bedienpersonenauthentifizierung für eine Arbeitsmaschine
DE112016003732T5 (de) Übertragung des anwendungszustands zwischen geräten
DE212014000125U1 (de) Kioskanwendungsbetriebsart für Betriebssystem
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE102015200119A1 (de) Vorrichtungskonfiguration für mehrere benutzer unter verwendung von benutzer-biometriken aus der ferne
DE102020002356A1 (de) Verbesserte gestalterische gemeinsame Bearbeitung unter Nutzung einer gestaltungsbasierten Rückmeldung
DE202015009262U1 (de) Optimierte gehostete anwendungen
DE102012107809A1 (de) Browsen zwischen mobilen und nicht-mobilen Webseiten

Legal Events

Date Code Title Description
R120 Application withdrawn or ip right abandoned