DE112010001170B4 - Zubehörvorrichtung und mobile Rechenvorrichtungskommunikation mit Hilfe eines Anwendungskommunikationsprotokolls - Google Patents

Zubehörvorrichtung und mobile Rechenvorrichtungskommunikation mit Hilfe eines Anwendungskommunikationsprotokolls Download PDF

Info

Publication number
DE112010001170B4
DE112010001170B4 DE112010001170.2T DE112010001170T DE112010001170B4 DE 112010001170 B4 DE112010001170 B4 DE 112010001170B4 DE 112010001170 T DE112010001170 T DE 112010001170T DE 112010001170 B4 DE112010001170 B4 DE 112010001170B4
Authority
DE
Germany
Prior art keywords
application
mobile computing
accessory device
computing device
protocol
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.)
Active
Application number
DE112010001170.2T
Other languages
English (en)
Other versions
DE112010001170T5 (de
Inventor
Paul Holden
Lawrence G. Bolton
Nitin Ganatra
Mitchell Adler
Emily Clark Schubert
Jesse Lee Dorogusker
Shyam S. Toprani
John M. Ananny
Peter T. Langenfeld
Scott Krueger
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.)
Apple Inc
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of DE112010001170T5 publication Critical patent/DE112010001170T5/de
Application granted granted Critical
Publication of DE112010001170B4 publication Critical patent/DE112010001170B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/0254Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets comprising one or a plurality of mechanically detachable modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Studio Devices (AREA)

Abstract

Verfahren umfassend:
Kommunizieren, durch eine Zubehörvorrichtung, mit einem Betriebssystem, das auf einer mobilen Rechenvorrichtung ausgeführt wird, mit Hilfe eines Zubehörvorrichtungskommunikationsprotokolls;
Kommunizieren, durch die Zubehörvorrichtung, an die mobile Rechenvorrichtung, von Information, die durch die mobile Rechenvorrichtung verwendbar ist, um ein Anwendungskommunikationsprotokoll zu identifizieren, das durch die Zubehörvorrichtung unterstützt wird, um mit einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, zu kommunizieren, wobei die Information mit Hilfe des Zubehörvorrichtungskommunikationsprotokolls kommuniziert wird, und wobei sich das Anwendungskommunikationsprotokoll von dem Zubehörvorrichtungskommunikationsprotokoll unterscheidet; und
Kommunizieren, durch die Zubehörvorrichtung, mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird mit Hilfe des Anwendungs-kommunikationsprotokolls
wobei das Kommunizieren mit dem Betriebssystem, das auf der mobilen Rechenvorrichtung ausgeführt wird, ein Senden an das Betriebssystem der mobilen Rechenvorrichtung einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht über einen Anschluss der mobile Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und
wobei das Kommunizieren mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, umfasst:
Erzeugen einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, wobei die zweite Mitteilung eine dritte Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht; und
Senden der zweiten Mitteilung an das Betriebssystem der mobilen Rechenvorrichtung über den Anschluss der mobile Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, wobei das Betriebssystem der mobilen Rechenvorrichtung die dritte Mitteilung an die Anwendung weiterleitet und die dritte Mitteilung durch die Anwendung interpretiert wird.

Description

  • Hintergrund
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Kommunikation zwischen einer Zubehörvorrichtung und einer mobilen Rechenvorrichtung, insbesondere auf die Verwendung von Zubehörvorrichtungs- und/oder anwendungsspezifischen Protokollen für solche Kommunikation.
  • Mobile Rechenvorrichtungen sind allgegenwärtig geworden. Verschiedene Unternehmen haben mobile Rechenvorrichtungen erzeugt, wie das iPhone, iPod touch, verschiedene Blackberry Vorrichtungen und Smartphones, die mit der Androidplattform von Google kompatibel sind, um einige zu nennen. Mobile Rechenvorrichtungen beinhalten oft Webbrowser, Textverarbeitung, Emailanwendungen, Landkarten, Telefondienste, Spiele, Audioanwendungen, Videoanwendungen, etc. Weiterhin sind Zubehörvorrichtung hergestellt worden zur Verwendung mit mobilen Rechenvorrichtungen. Solche Zubehörvorrichtungen können mit einer mobilen Rechenvorrichtung mit Hilfe von einem oder mehreren Verbindern und/oder Anschlüssen kommunizieren. Solche Zubehörvorrichtungen können verwendet werden, um Eigenschaften der mobilen Rechenvorrichtung zu steuern oder von der mobilen Rechenvorrichtung verwendet werden, um mit den Benutzern und/oder der Umgebung zu interagieren.
  • Aus der Patentschrift DE 10 2005 048 427 B3 sind eine Kommunikations-Anordnung für ein Fahrzeug, insbesondere eine Freisprecheinrichtung, und ein Verfahren zur Anbindung von tragbaren Geräten an eine in einem Fahrzeug angeordnete Kommunikations-Anordnung bekannt.
  • Aus der US 2003/0 220 988 A1 ist ein Verfahren und eine elektronische Vorrichtung zum Einrichten einer Schnittstelle zum Steuern einer Zubehörvorrichtung bekannt.
  • Kurze Zusammenfassung
  • Die Erfindung stellt Verfahren, Zubehörvorrichtungen und mobile Rechenvorrichtungen gemäß den unabhängigen Ansprüchen bereit. Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
  • Gemäß verschiedener Ausführungsformen kann eine Zubehörvorrichtung mit einer Anwendung kommunizieren, die auf einer mobilen Rechenvorrichtung ausgeführt wird mit Hilfe eines Zubehörvorrichtungs-spezifischen Kommunikationsprotokolls und/oder einem anwendungsspezifischen Kommunikationsprotokolls. Wenn z.B. eine Zubehörvorrichtung mit einer mobilen Rechenvorrichtung gekoppelt wird, kann es Initialisierungs-, Identifizierungs- und/oder Authentifizierungsprozeduren ausführen mit Hilfe eines Zubehörvorrichtungsprotokolls, das durch die mobile Rechenvorrichtung definiert ist. Die Zubehörvorrichtung kann auch Information kommunizieren, die eine oder mehrere Anwendungsprotokolle anzeigt, die durch eine Anwendung verwendet werden können, die auf der mobilen Rechenvorrichtung ausgeführt wird, um mit der Zubehörvorrichtung zu kommunizieren. In einigen Ausführungsformen kann ein Anwendungsprotokoll vom Zubehörvorrichtungsprotokoll verschieden sein, während in anderen Ausführungsformen ein Anwendungsprotokoll dasselbe sein kann wie das Zubehörvorrichtungsprotokoll. In einigen Ausführungsformen kann ein Anwendungsprotokollpaket innerhalb von Teilen eines Zubehörvorrichtungsprotokollpakets eingenistet sein.
  • Verschiedene Ausführungsformen, die hierin offenbart sind, beschreiben Verfahren zum Erzeugen von Kommunikationssitzungen zwischen Zubehörvorrichtungen und Anwendungen. Einige Ausführungsformen beschreiben, wie eine Zubehörvorrichtung die richtige Information für die mobile Rechenvorrichtung bereitstellt, um eine Kommunikationssitzung zu öffnen mit Hilfe eines Anwendungsprotokolls. Andere Ausführungsformen beschreiben verschiedene Schemen bei der mobilen Rechenvorrichtung zum Auswählen eines Anwendungsprotokolls, Öffnen eines Kommunikationsstroms, Herunterladen einer bevorzugten Anwendung, Kommunizieren mit einer Zubehörvorrichtung, dem Einschachteln von Anwendungsprotokollpaketen innerhalb eines Zubehörvorrichtungsprotokollpakets, etc. In einigen Ausführungsformen kann ein Anwendungsmanager, der auf einer mobilen Rechenvorrichtung ausgeführt wird, verwendet werden, um die Kommunikation zwischen einer Zubehörvorrichtung und einer Anwendung zu abstrahieren.
  • Die folgende detaillierte Beschreibung, zusammen mit den beigefügten Zeichnungen, wird ein besseres Verständnis der Natur und der Vorteile der hierin offenbarten Ausführungsformen bereitstellen.
  • Figurenliste
    • 1a zeigt eine mobile Rechenvorrichtung, die mit einer Zubehörvorrichtung gekoppelt ist, gemäß einiger Ausführungsformen der Erfindung.
    • 1b zeigt eine Zubehörvorrichtung, die drahtlos mit einer mobilen Rechenvorrichtung gekoppelt ist, gemäß einiger Ausführungsformen der Erfindung.
    • 2 zeigt ein Blockdiagramm einer mobilen Rechenvorrichtung, die mit einer Zubehörvorrichtung gekoppelt ist, gemäß einer Ausführungsform.
    • 3 ist ein Blockdiagramm, das verschiedene Module und Verfahren innerhalb einer mobilen Rechenvorrichtung zeigt, gemäß einiger Ausführungsformen der Erfindung.
    • 4 ist ein vereinfachtes Diagramm, das weiter eine Kommunikation zwischen einer Anwendung und einer Zubehörvorrichtung illustriert, gemäß einiger Ausführungsformen der Erfindung.
    • 5a bis 5c stellen ein Beispiel des Einpackens einer Anwendungsprotokollmitteilung in ein Zubehörvorrichtungs-Kommunikationsprotokoll, gemäß einiger Ausführungsformen der Erfindung dar.
    • 6 zeigt einen Pfad für Befehle des Zubehörvorrichtungs-Kommunikationsprotokolls in der Ausführungsform von 4, gemäß einigen Ausführungsformen der Erfindung.
    • 7 ist ein Flussdiagramm für ein Verfahren zum Identifizieren einer Zubehörvorrichtung und einer kompatiblen Anwendung, gemäß einigen Ausführungsformen der Erfindung.
    • 8 zeigt eine Liste von verbundenen Protokollen und eine Tabelle von unterstützten Protokollen, die verwendbar sind, um kompatible Anwendungen und Zubehörvorrichtungen zu assoziieren, gemäß einigen Ausführungsformen der Erfindung.
    • 9 zeigt eine Technik zum Formulieren einer Anfrage, die verwendbar ist zum Lokalisieren einer kompatiblen Anwendung für eine Zubehörvorrichtung, gemäß einiger Ausführungsformen der Erfindung.
    • 10 ist ein Flussdiagramm eines Verfahrens, das ausgeführt werden kann durch eine Anwendung zum Initiieren von Kommunikation mit einer Zubehörvorrichtung, gemäß einigen Ausführungsformen der Erfindung.
    • 11 zeigt eine Anwendung auf einer mobilen Rechenvorrichtung, die gleichzeitig mit zwei verschiedenen Zubehörvorrichtungen interagiert, gemäß einigen Ausführungsformen der Erfindung.
    • 12 zeigt zwei Anwendungen auf einer mobilen Rechenvorrichtung, die gleichzeitig mit zwei verschiedenen Zubehörvorrichtungen interagieren, gemäß einigen Ausführungsformen der Erfindung.
    • 13 zeigt zwei Anwendungen auf einer mobilen Rechenvorrichtung, die gleichzeitig mit derselben Zubehörvorrichtung interagieren, gemäß einigen Ausführungsformen der Erfindung.
    • 14 zeigt den Fluss von Daten zwischen einer Anwendung, dem Anwendungsmanager und der Hardware-Transportschicht einer mobilen Rechenvorrichtung, gemäß einigen Ausführungsformen der Erfindung.
    • 15 ist ein Flussdiagramm eines Verfahrens, das durch einen Anwendungsmanager auf einer mobilen Rechenvorrichtung ausgeführt werden kann, gemäß einigen Ausführungsformen der Erfindung.
    • 16 ist ein anderes Flussdiagramm eines Verfahrens, das durch einen Anwendungsmanager auf einer mobilen Rechenvorrichtung ausgeführt werden kann, gemäß einigen Ausführungsformen der Erfindung.
    • 17 ist ein Flussdiagramm eines Verfahrens, das durch eine Zubehörvorrichtung ausgeführt werden kann, die mit einer mobilen Rechenvorrichtung gekoppelt ist, um Kommunikation mit einer Zubehörvorrichtung zu eröffnen, gemäß einigen Ausführungsformen der Erfindung.
    • 18 ist ein Flussdiagramm eines Verfahrens, das durch eine Anwendung auf einer mobilen Rechenvorrichtung ausgeführt werden kann, um eine Kommunikation mit einer Zubehörvorrichtung zu eröffnen, gemäß einigen Ausführungsformen der Erfindung.
  • Detaillierte Beschreibung
  • Verschiedene Ausführungsformen der hierin offenbarten Erfindung sind auf verschiedene Aspekte von Kommunikation zwischen Zubehörvorrichtungen und einer mobilen Rechenvorrichtung gerichtet. In einigen Ausführungsformen kann eine Zubehörvorrichtung mit einer mobilen Rechenvorrichtung kommunizieren mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. Ein Zubehörvorrichtungs-Kommunikationsprotokoll kann Kommunikationsbefehle, Transportverbindungen, Authentifizierungsroutinen, Identifikationsverfahren, Sprachen (Jargons beziehungsweise Lingos), Paketstrukturen, Datentypen oder irgendeinen anderen geeigneten Befehl oder Daten spezifizieren, was verwendet werden kann, um zwischen einer Zubehörvorrichtung und einer mobilen Rechenvorrichtung zu kommunizieren.
  • Eine Anwendung, die auf einer mobilen Rechenvorrichtung ausgeführt wird, kann auch mit der Zubehörvorrichtung kommunizieren mithilfe eines Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann ein Anwendungs-Kommunikationsprotokoll zur Kommunikation zwischen der Anwendung und der Zubehörvorrichtung Kommunikationsbefehle, Paketstrukturen, Datentypen, Sprachen, Mitteilungsformate etc. spezifizieren. In einigen Ausführungsformen können zumindest einige der Kommunikationsbefehle, Paketstrukturen, Datentypen, Sprachen, Mitteilungsformate, die durch das Anwendungs-Kommunikationsprotokoll spezifiziert sind, sich von jenen unterscheiden, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert sind. In anderen Ausführungsformen können zumindest einige der Kommunikationsbefehle, Paketstrukturen, Datentypen, Sprachen, Mitteilungsformate, die durch das Anwendungs-Kommunikationsprotokoll spezifiziert sind, dieselben sein, wie jene die durch das Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert sind.
  • In einigen Anwendungen kann das Anwendungsprotokoll die Transportverbindung verwenden, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert ist. Ein Anwendungs-Kommunikationsprotokoll kann entwickelt werden, zum Beispiel, durch den Entwickler der Anwendung und/oder der Zubehörvorrichtung. In einigen Ausführungsformen kann ein Anwendungs-Kommunikationsprotokoll anwendungs- und/oder zubehörvorrichtungs-spezifische Befehle, Datenstrukturen, etc. umfassen. Weiterhin können die Begriffe („Anwendungs-Kommunikationsprotokoll“ und „Anwendungsprotokoll“) austauschbar verwendet werden. Die Begriffe „Zubehörvorrichtungs-Kommunikationsprotokoll“, „Zubehörvorrichtungs-Kommunikationsprotokoll“, „allgemeines Kommunikationsprotokoll“ und „allgemeines Protokoll“ können auch austauschbar verwendet werden.
  • 1a zeigt eine mobile Rechenvorrichtung 102, die mit einer Zubehörvorrichtung 113 gekoppelt ist. Ein Kabel 111 wird verwendet, um die mobile Rechenvorrichtung 102 mit der Zubehörvorrichtung 113 zu koppeln. Das Kabel 111 kann einen Verbinder 108 umfassen, um sich mit der mobilen Rechenvorrichtung 102 zu verbinden und einen Verbinder 110, um sich mit der Zubehörvorrichtung 113 zu verbinden. 1b zeigt die Zubehörvorrichtung 113, die drahtlos mit der mobilen Rechenvorrichtung 102 gekoppelt ist.
  • Die mobile Rechenvorrichtung, die in den 1a und 1b gezeigt ist, kann jeder Typ von mobiler Rechen- und/oder Kommunikationsvorrichtung sein, ohne Begrenzung. Zum Beispiel können ein iPod touch, ein iPhone, eine mit Android kompatible Vorrichtung und/oder eine Blackberry-Vorrichtung verwendet werden. Weiterhin kann die mobile Rechenvorrichtung 102 Medienabspieler-Fähigkeiten, Netzwerk, Webbrowsen, E-Mail, Textverarbeitung, Datenspeicherung, Anwendungsausführung und/oder andere Rechen- oder Kommunikationsfunktionen bereitstellen.
  • Die Zubehörvorrichtung 113 kann jede Vorrichtung sein, die in der Lage ist zum Kommunizieren mit der mobilen Rechenvorrichtung 102, wie zum Beispiel, ein externes Lautsprechersystem; eine externe Videovorrichtung; eine Multimediavorrichtung; eine elektronische Vorrichtung für Verbraucher; ein Testinstrument; ein Haushaltsgerät (zum Beispiel ein Kühlschrank oder Geschirrspüler); ein Übungsgerät; ein Sicherheitssystem; ein Heim- oder Büroautomatisierungssystem; eine Kamera; eine Benutzereingabevorrichtung (zum Beispiel Tastatur, Maus, Spielesteuerung); eine Messvorrichtung; eine medizinische Vorrichtung (zum Beispiel Glukoseüberwacher oder Insulinüberwacher); eine Vorrichtung am Verkaufspunkt; ein Automobil; eine Automobil-Zubehörvorrichtung (zum Beispiel ein Auto-Stereosystem oder Auto-Navigationssystem); ein Radio (zum Beispiel FM, AM und/oder Satellit); eine Unterhaltungskonsole auf einem Flugzeug, Bus, Zug oder anderem Massentransportfahrzeug; etc. Jeder Typ von Vorrichtung, die in Verbindung mit einer mobilen Rechenvorrichtung verwendet werden kann, kann als eine Zubehörvorrichtung verwendet werden.
  • 2 zeigt ein Blockdiagramm einer mobilen Rechenvorrichtung 200 (zum Beispiel die mobile Rechenvorrichtung 102 der 1a oder 1b implementierend), die mit einer Zubehörvorrichtung 202 (zum Beispiel die Zubehörvorrichtung 113 von 1a oder 1b implementierend) gekoppelt ist, gemäß einer Ausführungsform. Die mobile Rechenvorrichtung 200 kann einen Prozessor 230, eine Speichervorrichtung 225, eine Benutzerschnittstelle (User Interface, UI) 235, eine Netzwerkschnittstelle 236 und eine Zubehörvorrichtungseingabe/Ausgabe- (Input/Output, I/O) Schnittstelle 205 umfassen.
  • Der Prozessor 230, welcher als eine oder mehrere integrierte Schaltkreise (zum Beispiel einen gewöhnlicher Mikroprozessor oder Mikrokontroller umfassend) implementiert sein kann, kann den Betrieb der mobilen Rechenvorrichtung 200 steuern. Zum Beispiel, in Antwort auf Benutzereingabesignale, die über der Benutzerschnittstelle 235 bereitgestellt werden, kann der Prozessor 206 verschiedene Aufgaben ausführen, wie zum Beispiel das Auswählen und Abspielen von Medieninhalten, die in einer Speichervorrichtung 225 gespeichert sein können; Zugreifen auf verschiedene Netzwerke (zum Beispiel ein mobiles Telefonnetzwerk, das Internet, ein Lokalbereichsnetzwerk oder ähnliches), um Daten zu senden und/oder abzurufen mithilfe der Netzwerkschnittstelle 236; Ausführen verschiedener Anwendungsprogramme (Apps) 226, die auf der Speichervorrichtung 225 beherbergt sind; und so weiter. Der Prozessor 230 kann auch die Kommunikation mit Zubehörvorrichtungen über die Zubehörvorrichtungs-I/O-Schnittstelle 205 verwalten.
  • Die Benutzerschnittstelle 235 kann Eingabesteuerungen umfassen, wie ein Berührungsfeld, ein Berührungsbildschirm, ein Scroll-Rad, ein Klickrad, eine Wählscheibe, eine Taste, ein Tastenfeld, ein Mikrophon, etc., sowie Ausgabevorrichtungen, wie einen Anzeigenbildschirm, Hinweislichter, Lautsprecher, Kopfhörerbuchsen, etc., zusammen mit unterstützender Elektronik (zum Beispiel Digital zu Analog- oder Analog zu Digital-Umwandlern, Signalprozessoren und ähnliches). Ein Benutzer kann die verschiedenen Eingabesteuerungen der Benutzerschnittstelle 235 bedienen, um die Funktionalität der mobilen Rechenvorrichtungen 200 aufzurufen und kann auch Ausgabe von der mobilen Rechenvorrichtung 200 über die Benutzerschnittstelle 235 sehen und/oder hören.
  • Die Speichervorrichtung 225 kann implementiert sein, zum Beispiel, mithilfe eines Laufwerks, Flash-Speicher oder irgendeinem anderen nichtvolatilen Speichermedium. Die Speichervorrichtung 225 kann Anwendungsprogramme 226 speichern, die durch den Prozessor 230 ausführbar sind, Systemprogramme und anderen Programmcode (nicht explizit gezeigt), und verschiedene Daten, wie eine Protokolltabelle 227, speichern, die verwendet werden kann beim Verwalten von Kommunikation mit verschiedenen Zubehörvorrichtungen, wie unten beschrieben. In einigen Ausführungsformen kann die Speichervorrichtung 225 auch Medieninhalte speichern, wie Audio, Video, stehende Bilder, oder ähnliches, was durch die mobile Kommunikationsvorrichtung 200 abgespielt werden kann, zusammen mit Metadaten, die die Medieninhalte beschreiben (zum Beispiel Name des Inhalts, Künstler, Titel, Genre, etc.), Wiedergabelisten (Listen von Inhalten, die sequenziell oder in einer zufälligen Ordnung abgespielt werden können) und ähnliches. Die Speichervorrichtung 225 kann auch irgendeinen Typ von Information speichern, wie zum Beispiel Information über Kontakte eines Benutzers (Namen, Adressen, Telefonnummern, etc.); geplante Treffen und Ereignisse; Notizen; und/oder andere persönliche Information.
  • Anwendungsprogramme (hierin auch als „Anwendungen“ oder „Apps“ bezeichnet) 226 können irgendeinen Programm beinhalten, das durch den Prozessor 230 ausführbar ist. In einigen Ausführungsformen können bestimmte Anwendungen auf der mobilen Rechenvorrichtung 200 durch ihren Hersteller installiert sein, während andere Anwendungen durch einen Benutzer installiert werden können. Beispiele von Anwendungsprogrammen können Videospielprogramme, persönliche Informationsverwaltungsprogramme, Programme zum Abspielen von Medieninhalten und/oder Navigieren der Medieninhaltsdatenbasis, Programme zum Steuern einer Telefonschnittstelle, um Anrufe abzusetzen und/oder zu empfangen, usw. umfassen. Bestimmte Anwendungsprogramme 226 können Kommunikation mit und/oder die Steuerung der Zubehörvorrichtung 202 bereitstellen, und bestimmte Anwendungsprogramme 226 können auf Steuersignale oder andere Eingabe von der Zubehörvorrichtung 202 reagieren; Beispiele sind unten beschrieben.
  • Die Netzwerkschnittstelle 236 kann eine Schnittstelle zu einem oder mehreren Kommunikationsnetzwerken bereitstellen. Zum Beispiel kann die Netzwerkschnittstelle 236 einen Funkfrequenz (Radio Frequency, RF-Transceiver und geeignete Komponenten zum Kommunizieren mit einem mobilen Kommunikationsnetzwerk, wie einem mobilen Telefonnetzwerk) umfassen. Zusätzlich oder stattdessen kann die Netzwerkschnittstelle 236 eine drahtlose Verbindung mit dem Internet (zum Beispiel ein WiFi-Transceiver, 3G-Transceiver oder ähnliches) einschließen, zu einem persönlichen Bereichsnetzwerk (zum Beispiel ein Bluetooth-Netzwerk) oder irgendeinem anderen Netzwerk. In weiter anderen Ausführungsformen kann eine drahtgebundene Netzwerkverbindung (zum Beispiel Ethernet) bereitgestellt werden. In einigen Ausführungsformen kann dieselbe Hardware verwendet werden, um Verbindungen zu mehreren Netzwerken zu unterstützen; damit kann die Netzwerkschnittstelle 236 Analog zu Digital- und/oder Digital zu AnalogSchaltkreise umfassen, Basisbandverarbeitungskomponenten (zum Beispiel Codecs, Kanalschätzer und ähnliches), Modulatoren, Demodulatoren, Oszillatoren, Verstärker, Sender, Empfänger, Transceiver, interne und/oder externe Antennen, und so weiter. In einigen Ausführungsformen können einige Operationen, die mit Netzwerkverbindungen assoziiert sind, insgesamt oder teilweise als Programme implementiert sein, die auf dem Prozessor 230 ausgeführt werden (zum Beispiel Codieren, Decodieren und/oder andere Verarbeitung im digitalen Bereich), oder ein dedizierter Digitalsignalprozessor kann bereitgestellt werden.
  • Die Zubehörvorrichtungs-I/O-Schnittstelle 205 kann eine Anzahl von Signalpfaden beinhalten, die konfiguriert sind, um verschiedene Signale zwischen der mobilen Rechenvorrichtung 200 und der Zubehörvorrichtung 202 zu tragen. In einer Ausführungsform beinhaltet die Zubehörvorrichtungs-I/O-Schnittstelle 205 einen 30-pin Verbinder, der dem Verbinder entspricht, der auf iPod und iPhone Produkten verwendet wird, die durch Apple Inc. hergestellt und verkauft werden; andere Verbinder können auch verwendet werden. Alternativ oder zusätzlich kann die Zubehörvorrichtungs-I/O-Schnittstelle 205 eine drahtlose Schnittstelle (zum Beispiel Bluetooth oder ähnliches) umfassen.
  • In einigen Ausführungsformen kann die mobile Rechenvorrichtung 200 auch die Zubehörvorrichtungs-I/O-Schnittstelle 205 verwenden, um mit einem Host-Computer (nicht gezeigt) zu kommunizieren, der ein Inhaltsverwaltungsprogramm ausführt, das Medien und/oder Anwendungen für eine mobile Rechenvorrichtung (zum Beispiel iTunes oder Microsoftanwendungsgeschäft) bereitgestellt. Das Inhaltsverwaltungsprogramm kann einen Benutzer befähigen Medieninhalte und/oder Anwendungen der mobilen Rechenvorrichtung hinzuzufügen und/oder Medieninhalte von der mobilen Rechenvorrichtung 200 zu entfernen. Der Benutzer kann Metadaten aktualisieren, die mit Medieninhalten auf der mobilen Rechenvorrichtung 200 assoziiert sind. In einigen Ausführungsformen kann der Benutzer auch mit dem Medieninhaltsverwaltungsprogramm interagieren, um Wiedergabelisten und/oder Anwendungen sowie andere Dokumente zu erzeugen und zu aktualisieren. In einer Ausführungsform beinhaltet der Host-Computer eine Master-Datenbank von Medieninhalten und/oder Anwendungen und kann auf andere Datenbanken zum Beispiel über das Internet (umfassend assoziierte Metadaten und Wiedergabelisten) zugreifen, und das Inhaltsverwaltungsprogramm synchronisiert die Masterdatenbasis mit der Datenbasis, die auf der Speichervorrichtung 225 der mobilen Rechenvorrichtung 200 gehalten wird, automatisch, wann immer sich die mobile Rechenvorrichtung 200 mit dem Host-Computer verbindet. In anderen Ausführungsformen kann die mobile Rechenvorrichtung 200 die Netzwerkschnittstelle 236 verwenden, um mit einem Host-Computer zu kommunizieren und/oder direkt mit verschiedenen anderen Servern, um Anwendungen, Medieninhalte und/oder andere Daten zu erhalten.
  • Die Zubehörvorrichtung 202 kann eine Steuerung 260, Benutzerschnittstelle 255, mobile Rechenvorrichtungs-I/O-Schnittstelle 250, Speicher 265 und anwendungsspezifische Hardware 275 umfassen.
  • Die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 kann eine Anzahl von Signalpfaden umfassen, die dazu konfiguriert sind, verschiedene Signale zwischen der Zubehörvorrichtung 202 und der mobilen Rechenvorrichtung 200 zu tragen. In einer Ausführungsform kann die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 einen Verbinder umfassen, der dazu angepasst ist, sich mit dem 30-pin Verbinder zu verbinden, der auf iPod und iPhone Produkten verwendet wird, die durch Apple Inc. hergestellt und verkauft werden. Andere Verbinder können auch verwendet werden; zum Beispiel kann die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 einen Standard-USB oder FireWire-Verbinder oder ähnliches umfassen. Alternativ oder zusätzlich kann die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 eine drahtlose Schnittstelle (zum Beispiel Bluetooth oder ähnliches) umfassen.
  • Die Steuerung 260 kann zum Beispiel einen Mikroprozessor oder Mikrocontroller umfassen, der Programm-Code ausführt, um verschiedene Funktionen, wie digitales Audio-Decodieren, analoges oder digitales Audio- und/oder Video-Verarbeiten, Verarbeiten von Benutzereingaben, Steuern von Zubehörvorrichtungsfunktionalität und ähnliches auszuführen. Die Steuerung 260 kann auch Kommunikation mit einer mobilen Rechenvorrichtung über die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 verwalten.
  • Die Benutzerschnittstelle 255 kann Eingabesteuerungen, wie ein Berührungsfeld, einen Berührungsbildschirm, ein Scroll-Rad, ein Klick-Rad, eine Wählscheibe, eine Taste, ein Tastenfeld, ein Mikrophon, Sonden, etc. umfassen, sowie Ausgabevorrichtungen, wie einen Videobildschirm, Hinweislichter, Lautsprecher, Kopfhörerbuchsen oder ähnliches, zusammen mit unterstützender Elektronik (zum Beispiel Digital zu Analog- oder Analog zu Digital-Umwandler, Signalprozessoren oder ähnliches). Ein Benutzer kann die verschiedenen Eingabesteuerungen der Benutzerschnittstelle 255 bedienen, um die Funktionalität der Zubehörvorrichtung 202 aufzurufen und kann Ausgaben von der Zubehörvorrichtung 202 über die Benutzerschnittstelle 255 sehen und/oder hören. Zusätzlich kann ein Benutzer in einigen Ausführungsformen die mobile Rechenvorrichtung 200 (oder Anwendungen, die darauf ausgeführt werden) über die Zubehörvorrichtungs-Benutzerschnittstelle 255 bedienen.
  • Der Speicher 265 kann mithilfe irgendeines Typs von Speicher, Laufwerk oder anderem Speichermittel implementiert sein, das Programm-Code für die Steuerung 260 und/oder Daten speichern kann. Zum Beispiel kann der Speicher 265 zubehörvorrichtungs-spezifische Software 280 speichern, die Anweisungen für die Steuerung 260 bereitstellen kann, um mit der zubehörvorrichtungs-spezifischen Hardware 275 zu interagieren und/oder für die Benutzerschnittstelle 255 bereitstellen. In einigen Ausführungsformen kann die Zubehörvorrichtung 202 Information empfangen (zum Beispiel Benutzereingabe, Metadaten und/oder anwendungsspezifische Daten) von der mobilen Rechenvorrichtung 200, und solche Information kann in dem Speicher 265 gespeichert sein.
  • Die zubehörvorrichtungs-spezifische Hardware 275 kann irgendeine Hardware repräsentieren, die benötigt wird, um eine gewünschte Funktionalität der Zubehörvorrichtung 202 zu aktivieren. Zum Beispiel kann die zubehörvorrichtungs-spezifische Hardware 275 eine oder mehrere Datensammelvorrichtungen, wie zum Beispiel irgendein Typ von Sensor oder Messer umfassen. In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 einen elektrischen Messer umfassen, der Daten erzeugt, die elektrische Charakteristika (Widerstand, Spannungsunterschied oder ähnliches) erzeugt; einen Lichtsensor, der Licht und/oder Muster von Licht detektiert; einen Bewegungssensor; einen Temperatursensor; einen Feuchtigkeitssensor; einen Drucksensor; einen chemischen Sensor, der auf das Auftreten von ausgewählten Chemikalien reagiert (zum Beispiel potenziell toxische Gase, wie Kohlenmonoxid); und so weiter. Zubehörvorrichtungs-spezifische Hardware 275 kann auch eine oder mehrere medizinische Vorrichtungen umfassen, wie ein Glukosemesser, einen Atmungsmesser, einen Herzschlag- und/oder Herzfunktionsüberwacher, Blutdrucküberwacher oder ähnliches.
  • In einigen Ausführungsformen kann die Zubehörvorrichtungs-spezifische Hardware 275, die eine Datensammelvorrichtung umfasst, ein oder mehrere elektrische Signale (zum Beispiel Spannung, Widerstand und/oder Strom) bereitstellen, die den physikalischen Daten entsprechen oder diese repräsentieren. Analoge und/oder digitale Signale können in einer Vielzahl von Formaten verwendet werden. Die zubehörvorrichtungs-spezifische Hardware 275 kann auch Signalverarbeitungskomponenten umfassen, die das Signal verarbeiten bevor sie es an die Steuerung 260 senden; in einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 das elektrische Signal direkt an die Steuerung 260 senden, welche das Signal verarbeiten kann. Zum Beispiel, wenn die zubehörvorrichtungs-spezifische Hardware 275 ein Thermometer umfasst, das unter Verwendung eines Thermoelements implementiert ist, können Widerstandsdaten von dem Thermoelement in Temperaturdaten umgewandelt werden durch die zubehörvorrichtungs-spezifische Hardware 275, durch die Steuerung 260 oder beiden. Weiterhin können Signale, die Daten repräsentieren, die durch die zubehörvorrichtungs-spezifische Hardware 275 gesammelt werden, (mit oder ohne Verarbeitung durch die Steuerung 260) an eine Anwendung gesendet werden, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, zum Beispiel mithilfe eines Anwendungsprotokolls, wie unten beschrieben; damit kann eine Anwendung, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, auch Daten verarbeiten, die mithilfe zubehörvorrichtungs-spezifischer Hardware 275 gesammelt werden.
  • In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 eine oder mehrere computersteuerbare Vorrichtungen umfassen. Beispiele von computersteuerbaren Vorrichtungen umfassen Motoren, Aktuatoren, Lichter, Kameras, Ventile, Lautsprecher, Anzeigenbildschirme, Drucker und/oder irgendeine andere Ausrüstung, die durch die Steuerung 260 steuerbar ist. In einigen Ausführungsformen kann eine Anwendung, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, Steuersignale an die Zubehörvorrichtung 202 senden, und die Steuerung 260 kann zubehörvorrichtungs-spezifische Hardware 275 in Antwort auf die Steuersignale betreiben.
  • In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 Komponenten der Benutzerschnittstelle 255 umfassen. Damit kann eine Anwendung, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, Benutzereingabe von der Zubehörvorrichtung 202 empfangen, Ausgabe über die Zubehörvorrichtung 202 an einen Benutzer bereitstellen und/oder auf jede Operation, die Zubehörvorrichtung 202 in der Lage ist, steuern, interagieren oder darauf antworten.
  • In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 Netzwerk- und/oder Kommunikationsschnittstellen umfassen. Zum Beispiel kann die zubehörvorrichtungs-spezifische Hardware 275 einen RF-Receiver (zum Beispiel für FM, AM, Satellitenradio und/oder andere Bänder) und/oder einen RF-Sender (zum Beispiel einen Kurzbereichssender zur persönlichen Verwendung) umfassen. In anderen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 eine Kommunikationsschnittstelle für ein persönliches Bereichsnetzwerk umfassen, wie einen Bluetooth-Transceiver oder andere kurzbereichsdrahtlose Kommunikationsschnittstelle. In weiter anderen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 eine Telefonschnittstelle, GSM, CDMA und/oder andere Sprach- und/oder Daten-Netzwerkschnittstellen umfassen.
  • Demgemäß kann die zubehörvorrichtungs-spezifische Hardware 275 jegliche Hardwarekomponente umfassen, für welche die Interoperabilität mit einer mobilen Rechen- und/oder Kommunikationsvorrichtung gewünscht sein kann.
  • Es wird verstanden werden, dass die Systemkonfigurationen und Komponenten, wie hierin beschrieben sind, beispielhaft sind und dass Variationen und Modifikationen möglich sind. Die mobile Rechenvorrichtung und/oder Zubehörvorrichtung können andere hierin nicht spezifisch beschriebene Fähigkeiten haben. Während die Zubehörvorrichtung 202 und mobile Rechenvorrichtung 200 hierin mit Bezug auf bestimmte Blöcke beschrieben sind, sollte es verstanden werden, dass die Blöcke zum Zwecke der Beschreibung definiert sind, und es nicht beabsichtigt ist, eine bestimmte physikalische Anordnung der Komponententeile zu implizieren. Weiterhin müssen die Blöcke nicht unterscheidbaren physikalischen Komponenten entsprechen.
  • Die Zubehörvorrichtungs-I/O-Schnittstelle 205 der mobilen Rechenvorrichtung 200 und die mobile Rechenvorrichtungs-I/O-Schnittstelle 250 der Zubehörvorrichtung 202 ermöglichen es der mobilen Rechenvorrichtung 200 mit der Zubehörvorrichtung 202 verbunden zu werden und nachfolgend von der Zubehörvorrichtung 202 getrennt zu werden. Wie hierin verwendet, sind die mobile Rechenvorrichtung 200 und die Zubehörvorrichtung 202 „verbunden“ wann immer ein Kommunikationskanal zwischen der Zubehörvorrichtungs-I/O-Schnittstelle 205 und der mobilen Rechenvorrichtungs-I/O-Schnittstelle 250 offen ist und sind „getrennt“ wann immer der Kommunikationskanal geschlossen ist. Die Verbindung kann durch eine physikalische Verbindung (zum Beispiel zwischen entsprechenden passenden Verbindern der mobilen Rechenvorrichtung 200 und der Zubehörvorrichtung 202) erreicht werden, durch eine indirekte Verbindung, wie ein Kabel, oder durch das Herstellen eines drahtlosen Kommunikationskanals. Ähnlich kann die Trennung durch eine physikalische Trennung erreicht werden, durch das Trennen eines Kabels, dem Herunterfahren der Zubehörvorrichtung 202 oder der mobilen Rechenvorrichtung 200 oder dem Schließen des drahtlosen Kommunikationskanals. Damit kann eine Vielzahl von Kommunikationskanälen verwendet werden, darunter drahtgebundene Kanäle, wie Universal Serial Bus („USB“), FireWire (IEEE1394 Standard) oder Universal Asynchronous Receiver/Transmitter („UART“) oder drahtlose Kanäle, wie Bluetooth (ein kurzbereichsdrahtloser Kommunikationsstandard, der durch die Bluetooth SIG entwickelt wurde und unter dem Markennamen Bluetooth lizenziert wird). Wi-Fi (gehörig zu irgendeinem der IEEE802.11 Familienstandards), drahtloses persönliches Bereichsnetzwerk, Infrarot oder ähnliches. In einigen Ausführungsformen kann die Kommunikation mithilfe von sowohl einem drahtgebundenen als auch einem drahtlosen Kanal geschehen. In einigen Ausführungsformen können mehrere Kommunikationskanäle zwischen einer mobilen Rechenvorrichtung und einer Zubehörvorrichtung gleichzeitig geöffnet sein, oder eine mobile Rechenvorrichtung kann gleichzeitig mit mehreren Zubehörvorrichtungen verbunden sein, wobei jede Zubehörvorrichtung einen anderen Kommunikationskanal verwendet.
  • Unabhängig von dem bestimmten Kommunikationskanal können die Vorrichtungen kommunizieren durch das Austauschen von Befehlen und Daten, wie durch ein Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert, solange die mobile Rechenvorrichtung 200 und die Zubehörvorrichtung 202 miteinander verbunden sind. Das Zubehörvorrichtungs-Kommunikationsprotokoll kann ein Format zum Senden von Mitteilungen zwischen der mobilen Rechenvorrichtung 200 und der Vorrichtung 202 definieren. Zum Beispiel kann das Zubehörvorrichtungs-Kommunikationsprotokoll spezifizieren, dass jede Mitteilung in einem Paket mit einem Header, einer Nutzlast und/oder einem Abschluss gesendet wird. Der Header kann Basisinformationen bereitstellen, wie einen Starthinweis, die Länge des Pakets und einen Befehl der durch den Empfänger auszuführen ist, während die Nutzlast irgendwelche Daten bereitstellt, die mit dem Befehl assoziiert sind; der Betrag zu geordneten Daten kann unterschiedlich sein für unterschiedliche Befehle, und einige Befehle können Nutzlasten mit variabler Länge bereitstellen. Das Paket kann auch einen Abschluss enthalten, der Fehlererfassungs- oder Fehlerkorrekturcodes bereitstellt, wie sie im Stand der Technik bekannt sind und/oder andere Information, falls gewünscht. In verschiedenen Ausführungsformen kann das Zubehörvorrichtungs-Kommunikationsprotokoll spezifische Befehle definieren, um auf eine Aktion hinzuweisen, die durch den Empfänger vorzunehmen ist, um den Abschluss einer Aufgabe, die Änderung des Zustandes oder das Auftreten eines Fehlers zu signalisieren; und /oder die Natur der zugeordneten Daten zu identifizieren. In einigen Ausführungsformen können die Befehle so definiert sein, dass irgendein bestimmter Befehl nur in eine Richtung valide ist.
  • Das Zubehörvorrichtungs-Kommunikationsprotokoll kann auch einen oder mehrere physikalische Transportverbindungen spezifizieren, die zum Übertragen von Signalen zwischen Vorrichtungen verwendbar sind. Zum Beispiel kann die Transportverbindung eine USB-Verbindung, eine UART-Verbindung, eine FireWire-Verbindung, eine Bluetooth-Verbindung, eine WiFi-Verbindung, eine parallele Verbindung, eine serielle Verbindung, etc. sein. Auf diesem Niveau kann das Zubehörvorrichtungs-Kommunikationsprotokoll zum Beispiel Start-Bytes, Sync-Bytes oder Stopp-Bytes und/oder andere Hilfssignale spezifizieren. In einigen Ausführungsformen kann das Zubehörvorrichtungs-Kommunikationsprotokoll mehrere alternative Transportverbindungen bereitstellen; damit kann eine einzige mobile Rechenvorrichtung Kommunikation über eine Vielzahl von physikalischen Verbindungen unterstützen, darunter drahtgebundene und/oder drahtlose Verbindungen.
  • Das Zubehörvorrichtungs-Kommunikationsprotokoll kann eine Anzahl von „Sprachen“ definieren, wobei sich eine „Sprache“ allgemein auf eine Gruppe von verwandten Befehlen bezieht, die unterstützt werden können (oder nicht unterstützt werden können) durch verschiedene Klassen von Zubehörvorrichtungen. In einer Ausführungsform kann ein Befehl eindeutig identifiziert werden durch ein erstes Byte, das die Sprache identifiziert, zu welcher der Befehl gehört, und ein zweites Byte kann den bestimmten Befehl innerhalb der Sprache identifizieren. Andere Befehlsstrukturen können auch verwendet werden. Es ist nicht nötig, dass alle Zubehörvorrichtungen oder alle mobilen Rechenvorrichtungen, mit welchen eine Zubehörvorrichtung verbunden werden kann, jede Sprache unterstützen, die innerhalb des Zubehörvorrichtungs-Kommunikationsprotokolls definiert ist, oder jeden Befehl einer bestimmten Sprache (zum Beispiel könnten unterschiedliche Vorrichtungen verschiedene Versionen einer gegebenen Sprache verwenden).
  • In einigen Ausführungsformen unterstützen jede Zubehörvorrichtung 202 und jede mobile Rechenvorrichtung 200, die zur Kompatibilität miteinander entwickelt sind, zumindest eine „allgemeine“ Sprache, die Befehle beinhaltet, die allen solchen Vorrichtungen gemeinsam sind. Die allgemeine Sprache kann Befehle umfassen, die es der mobilen Rechenvorrichtung und der Zubehörvorrichtung erlauben, sich gegenseitig zu identifizieren und zumindest einige Informationen über ihre entsprechenden Fähigkeiten bereitzustellen, was einschließt, welche anderen Sprachen (wenn überhaupt) jede Vorrichtung unterstützt und welche Fähigkeiten der anderen Vorrichtung jede Vorrichtung zu benutzen beabsichtigt, während sie verbunden sind.
  • Die allgemeine Sprache kann auch Identifizierungsbefehle umfassen, die die mobile Rechenvorrichtung verwenden kann, um die angebliche Identität und Fähigkeiten der Zubehörvorrichtung (oder umgekehrt) zu verifizieren, und die Zubehörvorrichtung (oder die mobile Rechenvorrichtung) kann ausgeschlossen werden vom Aufrufen bestimmter Befehle oder Sprachen, wenn die Authentifizierung nicht erfolgreich ist. Zum Beispiel kann ein Authentifizierungsmanager (nicht gezeigt) innerhalb der mobilen Rechenvorrichtung 200 mit einer Authentifizierungssteuerung (auch nicht gezeigt) innerhalb der Zubehörvorrichtung 202 kommunizieren, um eine Authentifizierungsprozedur durchzuführen, zum Beispiel basierend auf Kryptographie mit öffentlichem Schlüssel und einem Lager an digitalen Zertifikaten, das innerhalb des Authentifizierungsmanagers der mobilen Rechenvorrichtung 200 gehalten wird.
  • Die allgemeine Sprache und eine andere Sprache des Zubehörvorrichtungs-Kommunikationsprotokolls kann auch „Tunnel“-Befehle umfassen, die einen Austausch von beliebiger Informationen zwischen einer Anwendung 226, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, und der Zubehörvorrichtung 202 ermöglicht. Zum Beispiel kann ein TunnelToAcc-Befehl definiert werden, als durch die mobile Rechenvorrichtung 200 an die Zubehörvorrichtung 202 sendbar. Die Nutzlast dieses Befehls kann jegliches sein von Daten, Steuersignalen, oder anderer Informationen, die eine Anwendung 226, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, erzeugen kann und an die Zubehörvorrichtung 202 senden kann. Ähnlich kann ein TunnelToHost-Befehl definiert werden, als von der Zubehörvorrichtung 202 zur mobilen Rechenvorrichtung 200 sendbar. Die Nutzlast dieses Befehls kann jegliches sein von Daten, Steuersignalen oder anderer Informationen, die die Zubehörvorrichtung 202 erzeugen kann und an die Anwendung 226 senden kann, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird. Diese Tunnel-Befehle können definiert werden, sodass das Zubehörvorrichtungs-Kommunikationsprotokoll den Nutzlastinhalt ignoriert. Beispiele von Techniken zum Verwalten von Kommunikation, wie dass eine bestimmte Anwendung Daten sendet, Kontrollsignale oder andere Informationen nur an Zubehörvorrichtungen, die in der Lage sind sie zu verarbeiten (und umgekehrt), werden unten beschrieben.
  • In einigen Ausführungsformen kann die Zubehörvorrichtung mit einer API kommunizieren, die mit einer oder mehreren Anwendungen assoziiert ist an der mobilen Rechenvorrichtung, mithilfe des Anwendungs-Kommunikationsprotokolls. Zum Beispiel kann solche Kommunikation den „Tunnel“-Befehl der oben diskutiert ist, verwenden. In einigen Ausführungsformen kann die Zubehörvorrichtung mit einer API kommunizieren, die mit einer oder mehreren Anwendungen assoziiert ist, mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. In anderen Ausführungsformen kann die Zubehörvorrichtung auch mit dem Betriebssystem der mobilen Rechenvorrichtung kommunizieren mithilfe eines oder beiden von dem Zubehörvorrichtungs-Kommunikationsprotokoll und/oder dem Anwendungs-Kommunikationsprotokoll. Das heißt, hierin offenbarte Ausführungsformen können verwendet werden, um die Kommunikation zwischen einer Zubehörvorrichtung mit einer Anwendung, API und/oder einem Betriebssystem auf der mobilen Rechenvorrichtung zu ermöglichen, mithilfe von einem oder beidem von einem Anwendungs-Kommunikationsprotokoll und/oder einem Zubehörvorrichtungs-Kommunikationsprotokoll.
  • Ein Zubehörvorrichtungs-Kommunikationsprotokoll, das von der mobilen Rechenvorrichtung und einer Zubehörvorrichtung unterstützt wird, kann verschiedene andere Sprachen umfassen, wie eine einfache Fernsteuerungssprache, die es der Zubehörvorrichtung ermöglicht einen Befehl zu senden, der auf eine Funktion der mobilen Rechenvorrichtung hinweist, die aufzurufen ist, eine Fernsteuerungs-Benutzerschnittstellen-Sprache, die verwendet werden kann, um Befehle und Daten zu kommunizieren, die sich auf das Replizieren von allem oder von Teilen einer Benutzerschnittstelle der mobilen Rechenvorrichtung auf der Zubehörvorrichtung bezieht (wodurch eine fortgeschrittene Fernsteuerung unterstützt wird), eine Tuner-Sprache, die es einem Benutzer ermöglicht eine Tuner-Zubehörvorrichtung zu steuern durch das Bedienen der mobilen Rechenvorrichtung, eine Speichersprache, die es der Zubehörvorrichtung ermöglicht Daten auf der mobilen Rechenvorrichtung zu speichern, und so weiter. Jede Sprache oder Kombination von Sprachen oder anderen Befehlen oder Gruppen von Befehlen kann in Verbindung mit hierin beschriebenen Ausführungsformen verwendet werden.
  • Es wird verstanden werden, dass das Zubehörvorrichtungs-Kommunikationsprotokoll, das hierin beschrieben ist, nur darstellend ist, und dass Variationen und Modifikationen möglich sind. Spezifische hierin beschriebene Befehle können mit anderen Befehlen oder Kombinationen von Befehlen oder anderen Typen von Mitteilungen und Formaten ersetzt werden. Zusätzlich ist es nicht notwendig, dass alle der Befehle und Operationen, die hierin beschrieben sind, durch jede bestimmte mobile Kommunikationsvorrichtung oder Zubehörvorrichtung unterstützt werden.
  • Wie oben bemerkt, können die Anwendung 226, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, und die Zubehörvorrichtung 202 beliebige Daten, Steuersignale und/oder andere Informationen (hierin auch als „Mitteilungen“ bezeichnet) austauschen. Diese Mitteilungen können sich auf eine große Vielzahl von Umständen beziehen. Zum Beispiel können Mitteilungen, die sich auf Benutzereingabe-Ereignisse, erfasste externe Bedingungen, empfangene Daten oder irgendwelche anderen Ereignisse oder Bedingungen, die an der mobilen Rechenvorrichtung 200 auftreten können, an die Zubehörvorrichtung 202 kommuniziert werden. Umgekehrt können Mitteilungen, die sich auf Benutzereingabe-Ereignisse, erfasste externe Bedingungen, empfangene Daten oder andere Ereignisse oder Bedingungen, die an der Zubehörvorrichtung 202 auftreten können, an die mobile Rechenvorrichtung 200 kommuniziert werden.
  • Zum Beispiel, kann, in einigen Ausführungsformen, die mobile Rechenvorrichtung 200 Eingabe-Ereignisse von einem Benutzer zum Beispiel durch die Benutzerschnittstelle 225, wie Berührungsbildschirm-Ereignisse, Tastendrucke, Scrollrad-Ereignisse, etc. verarbeiten. Die mobile Rechenvorrichtung 200 kann Daten bereitstellen, die repräsentativ sind für Eingabe-Ereignisse an eine Anwendung, die auf der mobilen Rechenvorrichtung 200 läuft, an eine Zubehörvorrichtung 202 oder an Beide bereitstellen. Die Zubehörvorrichtung 202 kann solche Daten als Eingabe zur Steuerung, zum Beispiel von zubehörvorrichtungs-spezifischer Hardware 275 und/oder zum Verarbeiten an der Steuerung 260 interpretieren. Berührungsbildschirmdaten können zum Beispiel durch die mobile Rechenvorrichtung 200 zur Verwendung durch eine Anwendung, die Zubehörvorrichtung 202 oder Beide gesammelt werden; in einigen Ausführungsformen können Berührungsbildschirmdaten Daten beinhalten, die Antippen und/oder Bewegungen, wie Wischen, Kneifen, Ziehen oder andere Gesten, repräsentieren. In einigen Ausführungsformen können Berührungsbildschirmdaten in einem Rohdatenformat (zum Beispiel eine Sequenz von Koordinaten, die repräsentieren, wo Druck, der einer Fingerbewegung entspricht, detektiert wurde) gesendet werden. In anderen Ausführungsformen können Berührungsbildschirmdaten in verarbeitete Daten gewandelt werden, wie Gestenereignisse (zum Beispiel ein Antippen, ein Streichen oder Ziehen von einem Punkt zu einem anderen, ein Kneifen, etc.), vor den Senden an eine Zubehörvorrichtung. In anderen Ausführungsformen können Rohtastaturdaten an eine Zubehörvorrichtung gesendet werden und/oder verarbeitete Tastaturdaten können an eine Zubehörvorrichtung gesendet werden. In einigen Ausführungsformen können einige oder alle Typen von Benutzereingabedaten an die Zubehörvorrichtung 202 kommuniziert werden mithilfe einer Anwendung und eines Anwendungsprotokolls, zum Beispiel wie unten beschrieben; in anderen Ausführungsformen können einige oder alle Typen von Benutzereingabedaten mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls kommuniziert werden, in welchem Umfang auch immer das Zubehörvorrichtungs-Kommunikationsprotokoll das Senden von Benutzereingabedaten eines bestimmten Typs unterstützt.
  • Die mobile Rechenvorrichtung 200 kann auch andere Informationen, als Benutzereingabe an die Zubehörvorrichtung 202 senden. Zum Beispiel kann die mobile Rechenvorrichtung 200 in einigen Ausführungsformen verschiedene Sensoren und/oder datensammelnde Vorrichtungen umfassen, zusätzlich zu Benutzereingabevorrichtungen; Beispiele können Beschleunigungsmesser, Gyroskope, einen Kompass, ortsbestimmende Vorrichtungen (zum Beispiel ein Global Positioning System Empfänger oder ein telefonisches Triangulationssystem), Lichtsensoren, Infrarotsensoren, eine Kamera, Netzwerkschnittstellen (zum Beispiel Telefon, WiFi, Bluetooth) oder ähnliches umfassen. Die mobile Rechenvorrichtung 200 kann irgendwelche oder alle dieser Daten an die Zubehörvorrichtung 202 bereitstellen, zum Beispiel in Antwort auf eine spezifische Anfrage von der Zubehörvorrichtung 202. In einigen Ausführungsformen können einige oder alle dieser Daten an die Zubehörvorrichtung 202 kommuniziert werden mithilfe einer Anwendung und eines Anwendungsprotokolls, zum Beispiel, wie unten beschrieben; in anderen Ausführungsformen können einige oder alle dieser Daten kommuniziert werden mithilfe des Anwendungs-Kommunikationsprotokolls bis zu welchem Umfang auch immer das Zubehörvorrichtungs-Kommunikationsprotokoll das Senden von Informationen eines bestimmten Typs unterstützt.
  • In einem anderen Beispiel kann die Zubehörvorrichtung 202 Eingabe-Ereignisse von der mobilen Rechenvorrichtung 200 empfangen. Solche Ereignisse können einer Benutzereingabe und/oder anderen Daten entsprechen, die an der mobilen Rechenvorrichtung 200 detektiert werden, darunter, aber nicht begrenzt auf irgendeinen der oben beschriebenen Datentypen. In einigen Ausführungsformen können solche Eingabe-Ereignisse durch die Steuerung 260 an der Zubehörvorrichtung 202 verarbeitet werden, um zubehörvorrichtungs-spezifische Hardware 275 zu steuern. Zum Beispiel können der Berührungsbildschirm oder andere Benutzereingabe-Ereignisse an der mobilen Rechenvorrichtung 200 an die Zubehörvorrichtung gesendet werden, um anwendungsspezifische Hardware 275 anzuschalten, ihren Zustand zu ändern, Daten von ihr zu empfangen, an diese Daten bereitzustellen, diese auszuschalten und/oder für diese Einstellungen zu setzen. Berührungsbildschirmdaten können zum Beispiel in einem Rohdatenformat oder als interpretierte Ereignisse (zum Beispiel Druck, Streichen, Kneifen) gesendet werden. In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Software 280 Anweisungen enthalten, um Rohberührungsbildschirmdaten in Befehle und/oder Steuerungen für die zubehörvorrichtungs-spezifische Hardware 275 zu übersetzen. In einer anderen Ausführungsform können die Berührungsbildschirmdaten in einem Rohformat an eine Anwendung bereitgestellt werden, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, welche die Daten interpretieren kann und entsprechende Befehle und/oder Informationen an die Zubehörvorrichtung 202 senden kann.
  • Weiterhin können Eingabe-Ereignisse, die an der Zubehörvorrichtung 202 von der mobilen Rechenvorrichtung 200 empfangen werden, durch die Steuerung 260 verarbeitet werden, die zubehörvorrichtungs-spezifische Software 280 ausführt. In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Software 280 mit der zubehörvorrichtungs-spezifischen Hardware 275 interagieren, in Antwort auf Eingabe-Ereignisse, die von der mobilen Rechenvorrichtung 200 empfangen werden.
  • Weiterhin kann in einigen Ausführungsformen die zubehörvorrichtungs-spezifische Hardware 275 auch durch die mobile Rechenvorrichtung 200 gesteuert werden über eine Verbindung mit der Zubehörvorrichtung 202. Zum Beispiel kann eine Anwendung, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird Programm-Code umfassen, der wenn er durch den Prozessor 230 ausgeführt wird, die zubehörvorrichtungs-spezifische Hardware 275 an der Zubehörvorrichtung 202 steuern kann, damit koppeln, damit interagieren und/oder davon Signale empfangen. In einigen Ausführungsformen kann die Anwendung, die auf der mobilen Rechenvorrichtung 200 ausgeführt wird, Mitteilungen mit einem Steuerprogramm austauschen, das auf der Steuerung 260 der Zubehörvorrichtung 202 ausgeführt wird, wodurch die Steuerung 260 angewiesen wird, mit der zubehörvorrichtungs-spezifischen Hardware 275 zu kommunizieren und/oder deren Betrieb zu steuern. Solche Mitteilungen können ausgetauscht werden mithilfe eines Anwendungsprotokolls, wie unten beschrieben.
  • In einigen Ausführungsformen kann die zubehörvorrichtungs-spezifische Hardware 275 Eingabedaten an die Steuerung 260 bereitstellen. Zum Beispiel kann die zubehörvorrichtungs-spezifische Hardware 275 einen Messsensor beinhalten, der physikalische Charakteristika in Daten (oder elektronische Signale, die Daten repräsentieren; die Begriffe werden austauschbar verwendet) umwandelt, die an die Steuerung 260 gesendet werden können und/oder in dem Speicher 265 gespeichert werden können. Die Steuerung 260 kann die Daten verarbeiten (zum Beispiel Anwenden von Kalibrierungskorrekturen, Reduzieren von Rauschen und/oder anderen Datenverarbeitungsoperationen). Die verarbeiteten Daten können von der Zubehörvorrichtung 202 an die mobile Rechenvorrichtung 200 gesendet werden. An der mobilen Rechenvorrichtung 200 kann eine Anwendung die Daten weiter verarbeiten und/oder die Daten an einen Benutzer durch die Benutzerschnittstelle bereitstellen. Weiterhin kann die Anwendung irgendeine Anzahl von Funktionen in Antwort auf die Daten ausführen.
  • In einigen Ausführungsformen können eine Zubehörvorrichtung und eine Anwendung irgendwelche Mitteilungen, die gewünscht sind, austauschen, wobei sich der Ausdruck „Mitteilung“ generell auf irgendeinen Typ von Steuersignal, Ereignis, Daten, Status oder Konfigurationsinformation oder irgendein anderen Typ von für den Sender verfügbarer Information bezieht. Um den Austausch von Mitteilungen zu ermöglichen können eine Zubehörvorrichtung und eine Anwendung ein gegenseitig vereinbartes Anwendungsprotokoll verwenden. Das Anwendungsprotokoll kann eine Gesamtheit von akzeptierten Formaten für Mitteilungen, die ausgetauscht werden können, spezifizieren. Vorrichtungen oder Programme, die zu einem bestimmten Anwendungsprotokoll gehören, können die Mitteilungen strukturieren, die sie in Übereinstimmung mit der Gesamtheit von akzeptierten Formaten des Anwendungsprotokolls senden, und können Mitteilungen, die sie in Übereinstimmung mit der Gesamtheit von akzeptierten Formaten des Anwendungsprotokolls empfangen, interpretieren. Zum Beispiel im Fall einer binären digitalen Kommunikation, kann das Anwendungsprotokoll spezifizieren, wie die Bits, die die Mitteilungen umfassen, durch den Empfänger zu interpretieren sind. Damit kann ein Anwendungsprotokoll, wie das Zubehörvorrichtungs-Kommunikationsprotokoll Paketstrukturen; Befehle, Sprachen, Nutzlastformate und/oder andere Formate, Datenstrukturen, Semantiken oder Regeln der Interpretation spezifizieren, so dass eine bestimmte Mitteilung, die durch einen Teilnehmer gesendet wird, durch den Empfänger korrekt interpretiert werden wird. Tatsächlich können in einigen Ausführungsformen Teile des Zubehörvorrichtungs-Kommunikationsprotokolls direkt als ein Ganzes oder ein Teil von einem Anwendungsprotokoll für eine bestimmte Zubehörvorrichtung und/oder Anwendung übernommen werden.
  • In bestimmten hierein offenbarten Ausführungsformen können Zubehörvorrichtungs-Protokoll-Mitteilungen zwischen Vorrichtungen gesendet werden durch ein Einkapseln, Umschlagen oder Einpacken von Mitteilungen in Pakete, die dem Zubehörvorrichtungs-Kommunikationsprotokoll entsprechen, zum Beispiel mit Tunnel-Befehlen, wie oben beschrieben. Damit kann die Transportverbindung, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert ist, verwendet werden, und es ist nicht nötig, dass ein Anwendungsprotokoll eine physikalische Transportverbindung spezifiziert.
  • Es wird angedacht, dass eine unbegrenzte Bandbreite von Zubehörvorrichtungen und Anwendungen, die eine Vielzahl von unterschiedlichen Anwendungsprotokollen verwenden, erzeugt wird zur Verwendung mit einer bestimmten mobilen Rechenvorrichtung (oder einer Serie an mobilen Rechenvorrichtungen). In einigen Ausführungsformen kann die mobile Rechenvorrichtung 200 mit Anwendungsprotokoll-Verwaltungsfähigkeit (zum Beispiel unter Verwendung eines Anwendungsmanagers) konfiguriert sein, was das Aufzeichnen des (der) Anwendungsprotokoll(e) beinhaltet, die durch jede verbundene Zubehörvorrichtung verwendet wird (werden), und des (der) Anwendungsprotokoll(e), die durch jede ausgeführte und/oder installierte Anwendung verwendet wird (werden). Beispielsweise kann die mobile Rechenvorrichtung 200 Systemdienste bereitstellen, um das Identifizieren einer geeigneten Anwendung zu ermöglichen, die mit einer bestimmten Zubehörvorrichtung zu verwenden ist und/oder das Identifizieren, ob eine geeignete Zubehörvorrichtung für eine bestimmte Anwendung verfügbar ist, ermöglichen. Diese Dienste werden bereitgestellt, ohne die Notwendigkeit, dass die Systemdienste der mobilen Rechenvorrichtung 200 irgendein Anwendungsprotokoll implementieren oder gemäß diesem kommunizieren.
  • 3 ist ein Blockdiagramm, das verschiedene Module und Prozesse innerhalb der mobilen Rechenvorrichtung 200 zeigt, gemäß einer Ausführungsform der vorliegenden Erfindung. Die verschiedenen gezeigten Module können Programmen entsprechen, die auf dem Prozessor 230 der 2 ausgeführt werden, Programmen, die auf anderen Prozessoren innerhalb der mobilen Rechenvorrichtung 200 ausgeführt werden, anwendungs-spezifischen integrierten Schaltkreisen oder anderen Implementierungen. In einigen Ausführungsformen können mehrere Prozessorchips oder mehrere Prozessorkerne mit einem einzelnen Chip verwendet werden, um die verschiedenen Module und Prozesse, die hierin beschrieben sind, zu implementieren. Einige oder alle der Prozessoren können programmierbare Prozessoren für allgemeine Zwecke sein, die Software- und/oder Firmware-Programme ausführen; andere können digitale Signalprozessoren, Zustandsmaschinen mit eingebauter Funktionalität oder eine Kombination davon sein.
  • Die Anschlüsse 305 bis 307 stellen jeweils Kommunikationskanäle für Zubehörvorrichtungen 300 bis 302 bereit. Jeder der Anschlüsse 305 bis 307 kann ein physikalischer und/oder logischer Anschluss sein, der einen bestimmten Kommunikationskanal unterstützt. Zum Beispiel kann der Anschluss 305 ein physikalischer Anschluss sein, der mit einem drahtgebundenen Kanal assoziiert ist, wie zum Beispiel USB oder UART, und kann Hardware-Elemente (zum Beispiel USB kompatible Treiberschaltkreise und/oder Pins) einschließen, zusammen mit geeigneter Steuersoftware. Der Anschluss 306 kann ein logischer Anschluss (zum Beispiel ein virtueller serieller Anschluss) sein, der mit einem drahtlosen Kanal, wie Bluetooth, assoziiert ist. In einigen Ausführungsformen kann jeder Anschluss 305 bis 307 Mitteilungen senden und empfangen, die dem Zubehörvorrichtungskommunikationsprotokoll entsprechen, wie es auf dem bestimmten physikalischen Transport oder Kanal angewandt wird, der mit dem Anschluss assoziiert ist. Obwohl drei Anschlüsse gezeigt sind, sollte es verstanden werden, dass eine mobile Rechenvorrichtung dazu ausgelegt sein kann jede Anzahl von physikalischen und/oder logischen Anschlüssen in jeder Kombination zu unterstützen. Weiterhin, wie unten beschrieben, kann eine einzelne Zubehörvorrichtung sich in einigen Ausführungsformen mit mehreren Anschlüssen verbinden.
  • Der Protokoll-Manager 310, der zum Beispiel ein Firmware- oder Software-Modul sein kann, das durch den Prozessor 230 ausgeführt wird, kann Protokollnachrichten der mobilen Rechenvorrichtung empfangen (auch als Befehle bezeichnet) von den Anschlüssen 305 bis 307 und das Verfahren des Interpretierens der Mitteilungen beginnen. In einigen Ausführungsformen kann der Protokoll-Manager 310 oder ein zugehöriger Protokoll-Dämon (nicht gezeigt), der mit dem Protokoll-Manager 310 assoziiert ist, auch die Anschlüsse 305 bis 310 erzeugen oder definieren, und diese zu geeigneter Kommunikationshardware verbinden, wie Verbinder-Pins und Treiberschaltkreise, drahtlose Transceiver, etc. In einer Ausführungsform kann der Protokoll-Manager 310 (oder sein zugehöriger Protokoll-Dämon) eingehende Mitteilungen des mobile Rechenvorrichtungsprotokolls extrahieren, die an den verschiedenen Anschlüssen empfangen werden, und die extrahierten Mitteilungen an eine Unterstützungsschicht 315 oder andere Komponenten innerhalb der mobilen Rechenvorrichtung 200 ausgeben. Damit können die oberen Schichten des Verfahrensstapels nach 3 unabhängig von einer bestimmten Transportverbindung sein.
  • In einer anderen Ausführungsform kann der Protokoll-Manager 310 ausgehende Informationen (zum Beispiel eine Mitteilung, die strukturiert wurde, gemäß einem Anwendungsprotokoll durch die Anwendung 404, die die Mitteilung erzeugt) empfangen, die für eine verbundene Zubehörvorrichtung bestimmt ist (zum Beispiel irgendeine der Zubehörvorrichtungen 300 bis 302), von der Unterstützungsschicht 315, die ausgehende Mitteilung in ein Paket des mobilen Rechenvorrichtungsprotokolls packen und das Paket zu einem der Anschlüsse 305 bis 307 ausgeben, der mit der gewünschten Zubehörvorrichtung verbunden ist.
  • In einigen Ausführungsformen kann der Protokoll-Manager 310 (oder ein zugehöriger Protokoll-Dämon) das Öffnen und Schließen von Anschlüssen auch unterstützen und/oder steuern. Zum Beispiel, in dem Fall eines virtuellen Anschlusses, kann der Protokoll-Manager 310 einen Satz an virtuellen Anschlüssen beim Hochfahren erzeugen und die Anschlüsse öffnen und/oder schließen wenn Verbindungen angefordert und/oder beendet werden.
  • Der Protokoll-Manager 310 kann eine dynamische Anschlussabbildung 325 führen, die bestimmte Anwendungsprotokolle mit bestimmten Anschlüssen assoziiert. Zum Beispiel, wenn eine Zubehörvorrichtung, wie die Zubehörvorrichtung 300, eine Verbindung mit der mobilen Rechenvorrichtung 200 auf einem bestimmten Anschluss, wie dem Anschluss 305, aufbaut, kann die Zubehörvorrichtung 300 das (die) Anwendungsprotokoll(e) identifizieren, die sie unterstützt (zum Beispiel AP3 in dem Fall der Zubehörvorrichtung 300) an dem Protokoll-Manager 310, zum Beispiel durch das Bereitstellen eines Protokoll-Namen Zeichenfolge (bzw. String) über den Anschluss 305. Der Protokoll-Manager 310 kann eine Assoziation zwischen dem Anwendungsprotokoll-Namen und dem Anschluss in der Anschlussabbildung 325 speichern. Wenn die Zubehörvorrichtung nachfolgend getrennt wird, kann die Assoziation von der Anschlussabbildung 325 entfernt werden. Damit kann die Anschlussabbildung 325 eine Liste von Anwendungsprotokollen bereitstellen, die gegenwärtig zur Verwendung durch Anwendungen verfügbar sind. Wie unten beschrieben, ermöglicht solch eine Liste das Routen von Kommunikationen zwischen Zubehörvorrichtungen und Anwendungen, sowie dem Unterrichten kompatibler Anwendungen, wenn kompatible Zubehörvorrichtungen verbunden werden.
  • Software-Unterstützungsschicht 315 kann als ein Mittler zwischen dem Protokoll-Manager 310 (und optional anderen Vorrichtungsfunktionen auf niedrigeren Niveaus) und den Anwendungen 320 bis 322 agieren, die auf der mobilen Rechenvorrichtung 200 ausgeführt werden können. Zum Beispiel kann die Software-Unterstützungsschicht 315 eine Anwendungsprogrammierschnittstelle (Application Program Interface, API) bereitstellen, über welche Anwendungen Vorrichtungsfunktionalität aufrufen können. Die Software-Unterstützungsschicht 315 kann ein Extra-Niveau von Vorrichtungsunabhängigkeit an die Anwendungen 320 bis 322 bereitstellen; jedoch werden Fachleute verstehen, dass nicht alle in 3 gezeigten Schichten benötigt werden. Zum Beispiel kann der Protokoll-Manager 310 in einigen Ausführungsformen direkt mit den Anwendungen 320 bis 322 kommunizieren. In der gezeigten Ausführungsform kann die Unterstützungsschicht 315 Zubehörvorrichtungsinformations-Nachschlagtabelle 330 bereitstellen. In einer Ausführungsform kann die Zubehörvorrichtungsinformationstabelle 330 Informationen enthalten über jede verbundene Zubehörvorrichtung, wie Zubehörvorrichtungstyp, Zubehörvorrichtungs-Identifizierer und/oder den (die) Name(n) von einem oder mehreren Anwendungsprotokollen, die durch die Zubehörvorrichtung unterstützt werden. Die Zubehörvorrichtungsinformationstabelle 330 kann ausgefüllt werden und aktualisiert werden, in Antwort auf Information, die durch den Protokoll-Manager 310 bereitgestellt wird, wenn sich Zubehörvorrichtungen verbinden und trennen.
  • Die Anwendungen 320 bis 322 können gleichzeitig oder sequenziell ausgeführte Anwendungen sein und können als Programm-Code implementiert sein, der zum Beispiel durch den Prozessor 230 ausführbar ist. Verschiedene Anwendungen 320 bis 322 können verschiedene Formen von Benutzerinteraktionen mit der mobilen Rechenvorrichtung 200 und/oder verbundenen Zubehörvorrichtungen 300 bis 302 bereitstellen. Zum Beispiel kann eine Anwendung eine Benutzerschnittstelle an eine verbundene Messsonden-Zubehörvorrichtung bereitstellen. In Antwort auf Benutzer-Eingabe kann die Anwendung die Messsonde anweisen mit dem Aufzeichnen von Messdaten zu beginnen und das Aufzeichnen von Messdaten zu beenden. Die Anwendung kann Messdaten einem Benutzer präsentieren. Die Anwendung kann Daten in verschiedene Formen umwandeln und/oder weitere Benutzerinteraktionen bereitstellen, wie das Betrachten einer Messaufzeichnung über der Zeit, das Ausführen von Analyse-Operationen auf den Daten (zum Beispiel Mitteln, Trend-Analyse, graphische Analyse oder ähnliches) und so weiter.
  • Eine ausgeführte Anwendung (zum Beispiel irgendeine der Anwendungen 320 bis 322) kann die Zubehörvorrichtungsinformationstabelle 330 zu jeder Zeit abfragen, um zu bestimmen, ob eine kompatible Zubehörvorrichtung (d.h. eine Zubehörvorrichtung, die ein Anwendungsprotokoll unterstützt, das durch die Anwendung verwendet wird) verbunden ist. Wenn eine kompatible Zubehörvorrichtung verbunden ist, kann die Anwendung mit der Zubehörvorrichtung kommunizieren mithilfe des Anwendungsprotokolls. Zum Beispiel, wie unten beschrieben, kann die Anwendung eine Kommunikationssitzung mit der Zubehörvorrichtung initiieren.
  • Es wird verstanden werden, dass die hierin beschriebenen Module beispielhaft sind und dass Variationen und Modifikationen möglich sind. Die mobile Rechenvorrichtung 200 kann irgendeinen Typ von Anwendungen unterstützen und Anwendungen können gestartet oder aufgerufen werden unter der Steuerung eines Benutzers oder eines anderen Prozesses. Bestimmte Module, wie die Unterstützungsschicht 315 und der Protokoll-Manager 310 können in Software und/oder Firmware implementiert sein und dazu konfiguriert sein, automatisch gestartet zu werden beim Hochfahren der Vorrichtung und nur beim Herunterfahren beendet zu werden oder wenn ungewöhnliche Bedingungen erfasst werden; die Anwendungen 320 bis 322 können in Antwort auf Benutzereingabe oder andere Eingabe gestartet und beendet werden. In einigen Ausführungsformen kann eine Anwendung automatisch gestartet werden, wenn eine entsprechende Zubehörvorrichtung verbunden wird, zum Beispiel wie unten beschrieben. Die verschiedenen Module oder Verfahren können in inaktive Zustände gehen, um den Ressourcen-Verbrauch zu minimieren, wenn nicht in Verwendung. Weiterhin sind nicht alle der Schichten und Module, die hierin gezeigt sind, notwendig; zum Beispiel könnten in einigen Ausführungsformen, Anwendungen direkt mit dem Protokoll-Manager kommunizieren, und dabei die Unterstützungsschicht 315 umgehen. In anderen Ausführungsformen können Module oder Schichten, die in 3 als separat gezeigt sind, kombiniert oder zusätzliche Module oder Schichten können bereitgestellt werden, wie der Protokoll-Dämon und/oder Module, die mit verschiedenen Systemdiensten der mobilen Rechenvorrichtung 200 assoziiert sind (zum Beispiel Audio- und/oder Video-Wiedergabe, Netzwerkverbindungen und ähnliches).
  • Es sollte auch verstanden werden, dass eine Zubehörvorrichtung Module, Schichten und andere Komponenten implementieren kann, die ähnlich zu den in 3 gezeigten, sind oder irgendeine Variation oder Modifikation davon. Solange wie die Zubehörvorrichtung in der Lage ist Informationen mit einer mobilen Rechenvorrichtung auszutauschen, gemäß einem Zubehörvorrichtungs-Kommunikationsprotokoll, kann die interne Implementierung wie gewünscht variieren. Wie in 3 gezeigt, kann die mobile Rechenvorrichtung 200 in einigen Ausführungsformen mehrere gleichzeitig ausgeführte Anwendungen 320 bis 322 und/oder gleichzeitige Verbindungen zu mehreren Zubehörvorrichtungen 305 bis 307 führen. Die Anwendungen und/oder Zubehörvorrichtungen können unterschiedliche (und potenziell inkompatible) Anwendungsprotokolle unterstützen, und jedem Anwendungsprotokoll kann ein Name zugewiesen sein (zum Beispiel eine einmalige Zeichenkette), um es von allen anderen Anwendungsprotokollen zu unterscheiden. Zum Beispiel unterstützt in der Ausführungsform der 3 die Anwendung 320 und die Zubehörvorrichtung 301 das Anwendungsprotoll AP1; die Anwendung 321 und Zubehörvorrichtung 302 unterstützen das Anwendungsprotokoll AP2; und die Anwendung 322 und die Zubehörvorrichtung 300 unterstützen das Anwendungsprotokoll AP3.
  • Es wird überlegt, dass Dritte in der Lage sein werden unabhängig Anwendungen und/oder Zubehörvorrichtungen zu entwickeln. Wenn zwei Zubehörvorrichtungen (oder Anwendungen) denselben Zubehörvorrichtungsprotokollnamen mit Anwendungsprotokollen assoziieren, die tatsächlich nicht kompatibel sind, kann dies einen Namenskonflikt erzeugen, zum Beispiel falls beide Zubehörvorrichtungen versuchen sich gleichzeitig mit derselben mobilen Rechenvorrichtung zu verbinden. Um solche Konflikte zu vermeiden, ist es wünschenswert eine zentralisierte Namensraumverwaltung für Anwendungsprotokollnamen bereitzustellen. In einigen Ausführungsformen kann ein zentraler Namensraum-Manager (zum Beispiel der Hersteller der mobilen Rechenvorrichtung) Namen an Anwendungsprotokolle vergeben, nach Anfrage von Herstellern danach. In einer anderen Ausführungsform kann der zentrale Namensraumverwalter einfach eine Namenskonvention definieren, die, wenn sich daran gehalten wird, Namenskonflikte verhindern sollte, und Hersteller von Zubehörvorrichtungen und/oder Anwendungen können Konflikte vermeiden durch das Einhalten der Konvention.
  • In einer Ausführungsform wird eine umgekehrte Domänen-Namenkonvention übernommen zum Verwalten des Anwendungsprotokolls-Namensraums. Konventionelle Domänen-Namen stellen, von links nach rechts, Niedrigniveau-Domänen zu Topniveau-Domänen (lower level domains to top level domains) bereit. Zum Beispiel in den Domänen-Namen „help.example.com“ ist der Ausdruck „com“ die Topniveau-Domäne und der Ausdruck „example“ ist eine niedrigere-Level-Domäne und der Ausdruck „help“ ist die niedrigstes-Niveau-Domäne. Ein anderes Beispiel ist der Domänen-Namen „mac.apple.com“ der von links nach rechts, die Domäne des niedrigsten Niveaus „mac“ spezifiziert, die mittlere Domäne „apple“ und die Domäne des höchsten Niveaus „com“. Umgekehrte Domänen-Namen würden, andererseits, „com.apple.mac“ bereitstellen.
  • Die umgekehrte-Domänen-Namenkonvention kann verwendet werden, um Anwendungsprotokolle zu spezifizieren, die von einem bestimmten Unternehmen verwendet werden. Das bedeutet, der umgekehrte-Domänen-Namen „com.company1.accessory1“ spezifiziert, dass das „accessory1“-Protokoll mit dem Unternehmen (oder anderem Hersteller) „company1“ assoziiert ist. Damit kann im allgemeinen ein Unternehmen ein Protokoll implementieren mithilfe der umgekehrte-Domänen-Namenkonvention, wobei der erste Teil des umgekehrten Domänen-Namens das Unternehmen („com.company1“) referenziert und mit dem Internet-Domänen-Namen des Unternehmens (oder anderen Herstellers) assoziiert ist. Der zweite Abschnitt des umgekehrten Domänen-Namens („accessory1“) spezifiziert ein bestimmtes Protokoll. In dem Umfang, indem unterschiedliche Hersteller von Zubehörvorrichtungen und/oder Anwendungen mit unterschiedlichen Internet-Domänen-Namen assoziiert sind, ermöglicht es eine umgekehrte Domänen-Namenkonvention Herstellern Anwendungen und/oder Protokolle und/oder Zubehörvorrichtungen voneinander zu unterscheiden durch das Benennen ihrer Protokolle, basierend auf der Umkehrung ihres Internet-Domänen-Namens. Diese Konvention ermöglicht es Herstellern ihre Protokolle unabhängig zu benennen, ohne, dass die Benennungskonventionen anderer Hersteller betroffen wären. Weiterhin, falls einen Konflikt zwischen zwei Herstellern, die dieselben Namen verwenden, auftritt, sollte eine einfache Überprüfung wer den entsprechenden Internet-Domänen-Namen besitzt, bestimmen, welcher Hersteller das Recht auf einen bestimmten umgekehrten Domänen-Namen hat.
  • In einigen Ausführungsformen können umgekehrte Domänen-Namen angefügt werden, um einen globalen Identifizierer einzuschließen, der spezifisch für alle Vorrichtungen in einer Klasse von Vorrichtungen ist. Zum Beispiel können alle Vorrichtungen vom seriellen Durchreichtyp einen Identifizierer umfassen, der an den umgekehrten Domänen-Namen angehangen wird. Zum Beispiel kann solch ein umgekehrter Domänen-Namen das folgende Format haben: „com.company1.accessory1.serialpass“ oder „serialpass.com.company1.accessory1“. Mit solch einer Konvention können unterschiedliche Unternehmen serielle Durchreichvorrichtungen herstellen, und trotzdem kann die mobile Rechenvorrichtung solche Vorrichtungen erkennen, trotz Herstellerunterschieden. Die umgekehrte-Domänen-Namenkonvention ist nur ein Beispiel, wie Anwendungsprotokolle identifiziert werden können. Jeder Typ von Konvention kann verwendet werden.
  • Demgemäß kann, wenn eine Zubehörvorrichtung mit einer mobilen Rechenvorrichtung verbunden ist, die Zubehörvorrichtung der mobilen Rechenvorrichtung eine Liste bereitstellen von ihren unterstützten Anwendungsprotokollen durch das Bereitstellen des Namens, der jedem unterstützen Protokoll zugewiesen wurde, mithilfe der umgekehrte- Domänen-Namenkonvention. Eine Zubehörvorrichtung kann ein einzelnes Anwendungsprotokoll oder mehrere Anwendungsprotokolle unterstützen. Basierend auf der empfangenen Information kann die mobile Vorrichtung 200 von 3 die Anschlussabbildung 325 ausfüllen, die Zubehörvorrichtungsinformationstabelle 330 und/oder andere Nachschlagtabellen mit Information, wie dem Zubehörvorrichtungstyp, Zubehörvorrichtungs-Identifizierer, dem Anwendungsprotokoll-Namen und/oder Kommunikationsanschluss-Identifizierer. Wie unten beschrieben, können die Anwendungen 320 bis 322 diese Nachschlagtabellen verwenden, um zu bestimmen, ob eine kompatible Zubehörvorrichtung verfügbar ist und die Unterstützungsschicht 315 und/oder der Protokoll-Manager 310 können die Nachschlagtabellen verwendet, um Kommunikationen weiterzuleiten, ohne irgendeines der Anwendungsprotokolle verstehen zu müssen.
  • Zum Beispiel kann die mobile Rechenvorrichtung 200 drahtlos mit einem Thermometer verbunden sein und auch mit einer Kamera verbunden sein mithilfe eines Kabels. (Zum Beispiel kann, in 3 die Zubehörvorrichtung 302 ein Thermometer sein und der Anschluss Z ein drahtloser Anschluss sein, wohingegen die Zubehörvorrichtung 300 eine Kamera sein kann, und der Anschluss X ist ein drahtgebundener Anschluss.) Nach der Verbindung kann das Thermometer sein unterstütztes Anwendungsprotokoll identifizieren durch das Senden des umgekehrten Domänen-Namens „com.temprus.thermometer1“. Der umgekehrte Domänen-Name kann an die mobile Rechenvorrichtung gesendet werden mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. An der mobilen Rechenvorrichtung kann dieser umgekehrte Domänen-Name als ein Anwendungsprotokoll-Name in einer Nachschlagtabelle (zum Beispiel Anschlussabbildung 325 und/oder Zubehörvorrichtungsinformationstabelle 330) gespeichert werden; in einigen Ausführungsformen kann der umgekehrte Domänen-Name in Verbindung mit einem Zubehörvorrichtungs-Identifizierer für das Thermometer und/oder den drahtlosen Anschluss gespeichert werden, über den auf das Thermometer zugegriffen werden kann. Ähnlich kann, nach der Verbindung, die Kamera ihr unterstütztes Anwendungsprotokoll identifizieren durch das Senden des folgenden umgekehrten Domänen-Namens „com.camerasrus.camera1“, wiederum mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. Dieser umgekehrte Domänen-Namen kann auch in der Nachschlagtabelle gespeichert werden (zum Beispiel Anschlussabbildung 325 und/oder Zubehörvorrichtungsinformationstabelle 330), zum Beispiel in Verbindung mit einem Zubehörvorrichtungs-Identifizierer für die Kamera und/oder den Anschluss, über den auf die Kamera zugegriffen werden kann.
  • Die mobile Rechenvorrichtung 200 kann eine Temperaturanwendung (zum Beispiel Anwendung 321 ausführen, die mit einem Thermometer kommuniziert, mithilfe des Anwendungsprotokolls „com.temprus.thermometer1“, um Temperaturablesungen auszuführen. Während der Ausführung kann die Temperaturanwendung auf die Nachschlagtabelle zugreifen, um zu erkennen, ob ein kompatibles Anwendungsprotokoll vorhanden ist, zum Beispiel durch das Suchen nach dem Protokoll-Namen „com.temprus.thermometer1“. Wenn die Temperaturanwendung „com.temprus.thermometer1“ findet, hat die Anwendung einen Treffer und kann damit beginnen mit dem Thermometer zu kommunizieren mithilfe des com.temprus.thermometen“-Anwendungsprotokolls. Die Kommunikation wird durch den zugeordneten Anschluss weitergeleitet, zum Beispiel mithilfe von Tunnel-Befehlen des Zubehörvorrichtungs-Kommunikationsprotokolls. Das Anwendungsprotokoll kann Befehle spezifizieren, Paketinformationen, Daten, etc., die sich von dem unterscheiden können, was in dem Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert ist. Weiterhin kann das Unternehmen, das die Anwendung und/oder die Zubehörvorrichtung bereitstellt (zum Beispiel die TempRUs Unternehmen), irgendein Kommunikationsprotokoll zur Kommunikation zwischen Anwendungen und Zubehörvorrichtungen implementieren.
  • 4 ist ein vereinfachtes Diagramm, das weiter die Kommunikation zwischen einer Anwendung und einer Zubehörvorrichtung illustriert, gemäß einiger Ausführungsformen der Erfindung. Die mobile Rechenvorrichtung 400 kann mit der Zubehörvorrichtung 402 verbunden werden, was es der Anwendung 404, die auf der mobilen Rechenvorrichtung 400 ausgeführt wird, ermöglicht mit der Zubehörvorrichtung 402 zu kommunizieren mithilfe eines Anwendungsprotokolls.
  • In der Ausführungsform, die in 4 gezeigt ist, hat die Anwendung 404 schon bestimmt, dass die Zubehörvorrichtung 402 eine kompatible Zubehörvorrichtung ist, und hat eine Sitzung 406 erzeugt durch das Aufrufen von geeigneten Funktionsaufrufen an die Unterstützungsschicht 408. Die Sitzung 406 kann zum Beispiel ein Software-Objekt sein, das durch die Anwendung 404 erzeugt wurde, mithilfe eines API-Aufrufs an die Unterstützungsschicht 408. Die Sitzung 406 kann mit der Anwendung 404 assoziiert sein, die sie erzeugt hat, sowie eine bestimmte Zubehörvorrichtung und/oder ein Anwendungsprotokoll, das durch die Anwendung 404 spezifiziert wird, wenn sie die Sitzung erzeugt. Die Sitzung 406 kann unter anderem einen Eingabestrom und einen Ausgabestrom bereitstellen, deren Inhalte jeweils von der Anwendung 404 empfangen werden und an diese ausgegeben werden. (Die Erzeugung einer Sitzung wird unten beschrieben.)
  • Um eine Mitteilung zu kommunizieren (zum Beispiel Steuersignale und/oder andere Informationen) an die Zubehörvorrichtung 402 mithilfe des Anwendungsprotokolls, erzeugt die Anwendung 404 die Mitteilung und schreibt sie als Daten in den Ausgabestrom der Sitzung 406. In dieser Ausführungsform ist die Anwendung 404 einzig verantwortlich für das Formatieren der Mitteilung in Übereinstimmung mit dem Anwendungsprotokoll; andere Zwischenprozesse auf der mobilen Rechenvorrichtung 400 verändern die Daten, die in den Ausgabestrom geschrieben werden, nicht.
  • Die Sitzung 406 detektiert die Anwesenheit von Daten in dem Ausgabestrom und sendet eine entsprechende Sende-(SND) Anweisung an den Protokoll-Manager 410. Die SND-Anweisung stellt den Zubehörvorrichtungs- und Zubehörvorrichtungsprotokoll-Identifizierer bereit, die mit der Sitzung 406 assoziiert sind, und ein „Bündel“, das Daten von dem Ausgabestrom repräsentiert. In einigen Ausführungsformen kann das Bündel zu allem der Mitteilungsdaten korrespondieren; jedoch, abhängig von der Länge der Mitteilung und Bedingungen, die auf die Paketlänge durch das Zubehörvorrichtungs-Kommunikationsprotokoll festgelegt werden könnten, kann ein Bündel auch nur einem Teil der Mitteilungsdaten entsprechen. Umgekehrt könnte, in einigen Ausführungsformen, ein einziges Bündel mehrere Anwendungsprotokoll-Mitteilungen umfassen.
  • Der Protokoll-Manager 410 kann den Zubehörvorrichtungs- und Zubehörvorrichtungsprotokoll-Identifizierer, die durch die Sitzung 406 zusammen mit der Anschlussabbildung 412 bereitgestellt werden, verwenden, um einen Anschluss zum Übertragen des Bündels zu wählen. Der Protokoll-Manager 410 kann das Bündel auch in einen Befehl des Zubehörvorrichtungs-Kommunikationsprotokolls einpacken, zum Beispiel einen TunnelToAcc-Befehl, wie oben beschrieben. Der Zubehörvorrichtungs-Kommunikationsprotokoll-Befehl wird an den Anschluss 414 zur Übertragung gesendet. (Obwohl nur ein Anschluss in 4 gezeigt ist, ist es verständlich, dass die mobile Rechenvorrichtung 400 mehrere Anschlüsse haben kann.)
  • 5a bis 5b zeigen ein Beispiel des Einpackens (oder Einhüllens) einer Anwendungsprotokoll-Mitteilung in einen Zubehörvorrichtungs-Kommunikationsprotokoll-Befehl gemäß einigen Ausführungsformen der Erfindung. 5a zeigt ein Beispiel eines Zubehörvorrichtungsprotokoll-Pakets 500. Wie gezeigt, beinhaltet das Paket 500 einen Header 502 und eine Nutzlast 504. Das Zubehörvorrichtungs-Kommunikationsprotokoll kann zum Beispiel die Größe des Headers festlegen und welche Informationen in dem Header 502 bereitgestellt werden können. In einigen Ausführungsformen kann der Header 502 einen Befehl oder Bytecode enthalten, der anzeigen kann, was in der Nutzlast enthalten ist und/oder was mit den Daten in der Nutzlast zu tun ist. Zum Beispiel, in der gezeigten Ausführungsform, beinhaltet der Header 502 einen Befehlscode für den TunnelToAcc-Befehl. Der Header 502 kann auch andere Information enthalten, wie Information, die die Größe der Nutzlast 504 spezifiziert. In einigen Ausführungsformen kann ein optionaler Abschluss 506 an dem Ende des Pakets 500 enthalten sein; der Abschluss kann Information, die verwendet werden kann, um Fehler zu detektieren oder zu korrigieren (zum Beispiel eine Prüfsumme), und/oder andere Information, wie gewünscht, enthalten. Fachleute werden verstehen, das verschiedene Pakettypen verwendet werden können, in dem Zubehörvorrichtungs-Kommunikationsprotokoll.
  • 5b zeigt ein Beispiel eines Anwendungsprotokoll-Pakets 510. Das Anwendungsprotokoll-Paket 510 beinhaltet, in diesem Beispiel, einen Header 512 (App.Header), eine Nutzlast 514 (App.Pilot) und einen Abschluss 516.
  • Verschiedene andere Pakettypen, Stile, Konfigurationen, Nutzlasten, Informationsbereiche, etc. können in einem Anwendungsprotokoll-Paket verwendet werden. Tatsächlich können Anwendungen und/oder Zubehörvorrichtungen Anwendungsprotokoll-Pakete von jedem Typ, Größe, Konfiguration, etc. verwenden, wie durch Anwendungsentwickler entworfen, hergestellt und/oder erzeugt, ohne Begrenzung; in einigen Ausführungsformen können einige oder alle der Anwendungsprotokoll-Pakete auf Zubehörvorrichtungs-Kommunikationsprotokoll-Pakete modelliert werden (oder sogar nicht unterscheidbar vom Inhalt her davon modelliert werden). In einigen Ausführungsformen kann ein Anwendungsprotokoll-Paket einen Header umfassen oder nicht. In einigen Ausführungsformen kann ein Anwendungsprotokoll-Paket einen Abschluss enthalten oder nicht. In einigen Ausführungsformen kann ein Anwendungsprotokoll-Paket eine Nutzlast 514 mit einer festen oder variablen Größe umfassen. In einigen Ausführungsformen können Befehle, Daten und/oder andere Mitteilungselemente in der Nutzlast und/oder dem Header bereitgestellt werden. Die spezifischen Charakteristiken der Befehle und/oder Daten und/oder anderen Mitteilungselemente können durch das Anwendungsprotokoll spezifiziert werden. Weiterhin ist es nicht notwendig, dass Anwendungsprotokolle überhaupt eine Paketstruktur für Mitteilungen verwenden; Zubehörvorrichtungsprotokoll-Mitteilungen können jedes Format und/oder Struktur aufweisen, die dazu in der Lage ist, korrekt durch den Empfänger interpretiert zu werden.
  • 5c zeigt ein Beispiel eines Anwendungsprotokoll-Pakets 510, das in die Nutzlast 504 des Zubehörvorrichtungsprotokoll-Pakets 520 eingepackt (oder eingehüllt) ist. Wie gezeigt, kann das Paket 520 einen Zubehörvorrichtungsprotokoll-Paket Header 502 umfassen, auf den das Anwendungsprotokoll-Paket 510 folgt. In einigen Ausführungsformen kann der Header 502 einen Befehl oder Bytecode umfassen, der anzeigt, dass die Nutzlast ein Anwendungsprotokoll-Paket ist. Das Anwendungsprotokoll-Paket beinhaltet, in diesem Beispiel, einen Anwendungsprotokoll-Paket-Header 512, Anwendungsprotokoll-Paket-Nutzlast 514 und Anwendungsprotokoll-Paket-Abschluss 516. Das Anwendungsprotokoll-Paket 510 kann oder kann nicht die Nutzlast 504 des Zubehörvorrichtungsprotokoll-Pakets 520 komplett ausfüllen.
  • Allgemein kann ein Zubehörvorrichtungsprotokoll-Paket für einen TunnelToAcc-Befehl irgendein Datenbündel umfassen, das zur Ausgabe an die Zubehörvorrichtung bestimmt ist und nicht auf das Tragen eines einzelnen Zubehörvorrichtungsprotokoll-Pakets beschränkt ist.
  • Wieder 4 betrachtend, empfängt die Zubehörvorrichtung 402 das Zubehörvorrichtungsprotokoll TunnelToAcc-Befehlspaket, zum Beispiel am Anschluss 422. Der Anschluss 422 kann das TunnelToAcc-Befehlspaket an einen Protokoll-Interpretierer 424 weiterleiten, welcher zum Beispiel ein Software-Prozess ist, der auf einer Steuerung oder einem anderen Prozessor der Zubehörvorrichtung 402 ausgeführt wird. Der Protokoll-Interpretierer 424 kann den TunnelToAcc-Befehl lesen, das Bündel, das darin enthalten ist, extrahieren und das Bündel an einen anderen Prozess 426 weiterleiten, der auf einem Controller oder einem anderen Prozessor der Zubehörvorrichtung 402 ausgeführt wird. Der Prozess 426 kann irgendeinen Prozess umfassen, der in der Lage ist, die empfangene Information zu verarbeiten, die dem Anwendungsprotokoll entspricht. Beispielsweise kann der Prozess 426 einen Prozess umfassen, der Anweisungen von der empfangenen Information extrahiert und entsprechende Steuersignale für zubehörvorrichtungs-spezifische Hardware (zum Beispiel zubehörvorrichtungs-spezifische Hardware 275 von 2) erzeugt.
  • Kommunikation von der Zubehörvorrichtung 402 an die mobile Rechenvorrichtung 400 wird auch unterstützt. Zum Beispiel kann der Prozess 426 ein Datenbündel erzeugen, das einer Mitteilung in dem Anwendungsprotokoll entspricht und das Bündel an den Protokoll-Interpretierer 424 bereitstellen, zum Senden an die mobile Rechenvorrichtung 400. Der Protokoll-Interpretierer 424 kann das Bündel in einen TunnelToHost-Befehl des Zubehörvorrichtungs-Kommunikationsprotokolls packen (zum Beispiel ähnlich dem in 5a bis 5c gezeigten Beispiel) und den Befehl an den Anschluss 422 zur Übertragung an die mobile Rechenvorrichtung 400 senden.
  • An der mobilen Rechenvorrichtung 400 empfängt der Anschluss 414 das TunnelToHost-Befehlspaket und leitet es an den Protokoll-Manager 410 weiter. Der Protokoll-Manager 410 erkennt den TunnelToHost-Befehl und extrahiert in der Antwort darauf das Bündel und leitet es an die Unterstützungsschicht 408 weiter, zusammen mit Identifikation der Zubehörvorrichtung und des Anwendungsprotokolls, die mit dem Bündel assoziiert sind. In einigen Ausführungsformen kann der Protokoll-Manager 410 diese Identifizierer bestimmen, basierend darauf, welcher Anschluss den TunnelToHost-Befehl ausgegeben hat; damit muss der TunnelToHost-Befehl nicht Identifikation der Zubehörvorrichtung oder des Anwendungsprotokolls bereitstellen.
  • Die Unterstützungsschicht 408 verwendet Zubehörvorrichtungs- und Zubehörvorrichtungs-Protokoll-Identifizierer, um das Bündel an den Eingabestrom der Sitzung 406 zu richten. Diese Anwendung 404 kann dann die eingehenden Daten von dem Eingabestrom der Sitzung 406 lesen, die Daten gemäß dem Anwendungsprotokoll interpretieren und entsprechend darauf antworten. Damit, kann zum Beispiel die Anwendung 404 eine Thermometeranwendung sein, und die Zubehörvorrichtung 402 kann ein Thermometer umfassen. Die Anwendung 404 kann eine Temperaturmessung von der Zubehörvorrichtung 402 abfragen mithilfe eines geeigneten Anwendungsprotokolls (zum Beispiel ein Protokoll mit dem Namen „com.temprus.thermometer1“). Das Anwendungsprotokoll kann zum Beispiel einen Get_Temp-Befehl spezifizieren, der durch die Anwendung gesendet wird, um Temperaturdaten von der Zubehörvorrichtung abzufragen. Die Anwendung 404 kann ein Anwendungsprotokoll-Paket erzeugen, das zum Beispiel den Get_Temp-Befehl umfasst und jegliche Einstellungen oder Variablen, die mit dem Befehl assoziiert sind (zum Beispiel, ob die Temperaturdaten in Fahrenheit oder Celsius auszugeben sind). Die Anwendung 404 kann ein Paket mit dem geeigneten Header und/oder Abschluss erzeugen, wie durch das Anwendungsprotokoll definiert. Die Anwendung 404 kann dann dieses Paket als eine Anwendungsprotokoll-Mitteilung in den Ausgabestrom der Sitzung 406 übergeben. Die Sitzung 406 kann den Protokoll-Manager 410 anweisen einen Zubehörvorrichtungsprotokoll-Tunnel-Befehl zu senden, der spezifiziert, dass das Anwendungsprotokoll „com.temprus.thermometer1“ ist. Der Protokoll-Manager 410 kann den Get_Temp-Befehl in ein TunnelToAcc-Befehlspaket des Zubehörvorrichtungs-Kommunikationsprotokolls packen und kann auch den Anwendungsprotokoll Namen nachschlagen und feststellen, dass dieses Anwendungsprotokoll mit dem Anschluss 414 assoziiert ist. Der Protokoll-Manager 410 kann dann das TunnelToAcc-Befehlspaket an den Anschluss 414 weiterleiten zur Ausgabe an die Zubehörvorrichtung 402.
  • Die Zubehörvorrichtung 402 kann den TunnelToAcc-Befehl am Anschluss 422 empfangen. Der Protokoll-Interpretierer 424 kann das Get_Temp-Befehlspaket extrahieren und es an den Prozess 426 ausgeben, welches in diesen Beispiel ein Prozess sein kann, der einen Temperatursensor kontrolliert und Daten davon empfängt. Demgemäß kann der Prozess 426 Temperaturdaten erhalten, die an die Anwendung 404 auszugeben sind. Um die Daten zu senden, kann der Prozess 426 zum Beispiel ein Send_Temp-Befehlspaket erzeugen, das dem Anwendungsprotokoll entspricht. Dieses Paket kann die angefragten Temperaturdaten enthalten (zum Beispiel mithilfe der Temperaturskala, die in dem Get_Temp-Befehl spezifiziert ist). Der Prozess 426 kann das Send-Temp-Befehlspaket als ein Bündel an den Protokoll-Interpretierer 424 bereitstellen, mit einem Hinweis, dass es an die mobile Rechenvorrichtung 400 gesendet werden sollte. Der Protokoll-Interpretierer 424 kann das Send_Temp-Befehlspaket in einen TunnelToHost-Befehl des Zubehörvorrichtungs-Kommunikationsprotokolls packen und der Anschluss 422 kann den TunnelToHost-Befehl an den Anschluss 414 der mobilen Rechenvorrichtung 400 kommunizieren. Der Anschluss 414 kann den eingehenden TunnelToHost-Befehl an den Protokoll-Manager 410 ausgeben, welcher das Bündel extrahieren kann (in diesem Fall das Send_Temp-Befehlspaket) und es an die Unterstützungsschicht 408 bereitstellen zusammen mit der Information, dass das Bündel mit dem „com.temprus.thermometer1“-Protokoll assoziiert ist, wie von der Anschlussabbildung 412 bestimmt. Die Unterstützungsschicht 408 kann dann das Bündel an die Sitzung 406 weiterleiten, insbesondere an den Eingabestrom der Sitzung 406. Die Anwendung 404 kann das Bündel von dem Eingabestrom lesen, es als ein Send_Temp-Befehlspaket erkennen, das dem Anwendungsprotokoll entspricht, und die Temperaturdaten extrahieren.
  • In einigen Ausführungsformen kann eine Zubehörvorrichtung sowohl ein Anwendungsprotokoll als auch Befehle des Zubehörvorrichtungs-Kommunikationsprotokolls verwenden, um mit einer Zubehörvorrichtung zu kommunizieren. 6 zeigt einen Pfad für Befehle des Zubehörvorrichtungs-Kommunikationsprotokolls in der Ausführungsform der 4. Zusätzlich zum Senden von Anwendungsprotokoll-Mitteilungen über eine Sitzung 406 kann die Anwendung 404 Zubehörvorrichtungsprotokoll-Befehle aufrufen durch das Ausführen von geeigneten API-Aufrufen an die Unterstützungsschicht 406, welche den Protokoll-Manager 410 anweisen kann Zubehörvorrichtungsprotokoll-Befehle (hier repräsentiert als „mobile computing deviceProtCmdOut“) zu senden über den Anschluss 414 an die Zubehörvorrichtung 402. Auf gleiche Weise kann ein Zubehörvorrichtungsprotokoll-Befehl, der von der Zubehörvorrichtung 402 empfangen wird (hier als „mobile computing deviceProtCmdIn“ repräsentiert), empfangen werden und durch den Protokoll-Manager 410 verarbeitet werden, und der Protokoll-Manager kann den Befehl an die Unterstützungsschicht 406 kommunizieren. Die Unterstützungsschicht 406 kann wiederum entsprechend auf die Anwendung 404 einwirken.
  • In einigen Anwendungen kann ein Anwendungsprotokoll Sprachen und/oder Befehle umfassen, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll spezifiziert sind. Zum Beispiel kann das Zubehörvorrichtungs-Kommunikationsprotokoll eine Tuner-Sprache definieren, RFTuner, die es einem Benutzer ermöglicht eine Funkfrequenz-Tuner-Zubehörvorrichtung durch die mobile Rechenvorrichtung zu steuern. Zum Beispiel kann die RFTimer-Sprache Befehle enthalten, um den Empfänger an- und auszuschalten, den Sender zu ändern, etc. In einigen Ausführungsformen kann die Radio-Tuner-Anwendung auf der mobilen Rechenvorrichtung ausgeführt werden, und die Radio-Tuner-Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, und die Radio-Tuner-Zubehörvorrichtung können ein Radio-Tuner-Anwendungsprotokoll unterstützen, das es einer Radio-Tuner-Zubehörvorrichtung ermöglicht mit der Radio-Tuner-Anwendung zu kommunizieren. Einige oder alle Befehle der RFTuner-Sprache können mit dem Radio-Tuner-Anwendungsprotokoll verwendet werden, und das Radio-Tuner-Anwendungsprotokoll kann andere Befehle ebenso umfassen (zum Beispiel Befehle, um eine voreingestellte Liste von Sendern zu steuern, die der Benutzer mag). Damit kann die Radio-Tuner-Anwendung die RFTuner-Sprache als Teil des Radio-Tuner-Anwendungsprotokolls verwenden, um mit der Radio-Tuner-Zubehörvorrichtung zu kommunizieren, zum Beispiel zum Ändern des Senders und kann auch andere Befehle des Radio-Tuner-Anwendungsprotokolls für andere Operationen verwenden. Die mobile Rechenvorrichtung kann die RFTuner-Sprache auch als Teil des Zubehörvorrichtungs-Kommunikationsprotokolls verwenden, um mit der Radio-Tuner-Zubehörvorrichtung unabhängig von der Anwendung zu kommunizieren. Damit kann die Radio-Tuner-Zubehörvorrichtung Befehle und/oder Mitteilungen an die mobile Rechenvorrichtung senden mithilfe einer einzigen Sprache in einem der beiden Protokolle.
  • Als ein anderes Beispiel kann die RFTuner-Sprache einen RFSetFreq-Befehl umfassen, der von der mobilen Rechenvorrichtung gesendet wird (zum Beispiel, die Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird), um die Radio-Tuner-Zubehörvorrichtung auf die Frequenz einzustellen, die in dem Befehl enthalten ist. Die Radio-Tuner-Anwendung kann ein Paket erzeugen mit dem geeigneten Header und/oder Abschluss, wie durch das Anwendungsprotokoll definiert, und kann den RFSetFreq-Befehl und die benötigte Frequenz in der Paketnutzlast einschließen. Das Paket kann dann an den Protokoll-Manager gesendet werden, welcher das Paket in ein Zubehörvorrichtungsprotokoll-Paket bündeln kann mit einem Befehl des Zubehörvorrichtungs-Kommunikationsprotokolls, zum Beispiel ein TunnelToAcc-Befehl, wie oben beschrieben. Das Zubehörvorrichtungsprotokoll-Paket kann dann an die Zubehörvorrichtung gesendet werden. Als ein anderes Beispiel kann der RFSetFreq-Befehl benutzt werden, ohne eine Radio-Tuner-Zubehörvorrichtung und ohne getunnelt zu werden. Die mobile Rechenvorrichtung kann ein Paket mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls unter Verwendung des RFSetFreq-Befehls senden, und die zugehörige Frequenz an die Zubehörvorrichtung als ein eigenständiges Paket.
  • Eine Zubehörvorrichtung kann in einem weiteren Beispiel die RFTuner-Sprache verwenden, um mit der mobilen Rechenvorrichtung zu kommunizieren mithilfe entweder des Anwendungsprotokolls und/oder des Zubehörvorrichtungs-Kommunikationsprotokolls. Zum Beispiel kann die Zubehörvorrichtung den TunnelToHost-Befehl verwenden, um RFTuner-Befehle an die mobile Rechenvorrichtung zu tunneln, beim Kommunizieren mit einer spezifischen Anwendung auf der mobilen Rechenvorrichtung. Als ein anderes Beispiel kann die Zubehörvorrichtung RFTuner-Befehle senden, ohne tunneln zu der mobilen Rechenvorrichtung.
  • In einer anderen Ausführungsform kann eine Zubehörvorrichtung, wie ein Lautsprecherdock, eine Fernsteuerung der Medienwiedergabe auf der mobilen Rechenvorrichtung, bereitstellen. Die Fernsteuerungsfunktionen können mithilfe von Befehlen des Zubehörvorrichtungs-Kommunikationsprotokolls implementiert werden; zum Beispiel kann das Zubehörvorrichtungs-Kommunikationsprotokoll einen ButtonStatus-Befehl umfassen, den die Zubehörvorrichtung senden kann, um eine bestimmte Funktion zu identifizieren, die durch dem Benutzer aufgerufen wird (zum Beispiel Wiedergabe, Pause, nächstes Lied, vorhergehendes Lied, etc.). Die mobile Rechenvorrichtung kann eine Wiedergabemaschine haben für gespeicherte Medien, die den ButtonStatus-Befehl verarbeiten kann und entsprechend reagieren kann. Eine Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, kann die Wiedergabe von anderen Medienquellen bereitstellen, zum Beispiel von einem Internetdatenstrom. Für den Benutzer wäre es wünschenswert in der Lage zu sein, die Wiedergabe des gestreamten Inhalts fern zu steuern durch das Bedienen der Zubehörvorrichtung in derselben Weise, wie der Benutzer die Wiedergabe von gespeicherten Medien kontrolliert. Demgemäß kann ein „Streaming-Steuerungs“-Anwendungsprotokoll definiert werden, das Befehle oder andere Steuersignale umfasst, um die Wiedergabe des gestreamten Inhalts zu steuern. Der Benutzer kann die Zubehörvorrichtung in exakt derselben Weise bedienen, um die Wiedergabe von entweder gespeichertem oder gestreamten Medieninhalt zu steuern. Wenn gespeicherter Inhalt wiedergegeben wird, kann die Zubehörvorrichtung die Fernsteuerfunktion an die Wiedergabemaschine kommunizieren mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls (zum Beispiel der ButtonStatus-Befehl). Wenn der gestreamte Inhalt gespielt wird, kann die Zubehörvorrichtung die Fernsteuerinformation an die Anwendung kommunizieren mithilfe des Streaming-Steuerungs-Anwendungsprotokolls. In einer Ausführungsform kann der ButtonStatus-Befehl des Zubehörvorrichtungs-Kommunikationsprotokolls in das Streaming-Steuerungs-Anwendungsprotokoll eingefügt sein.
  • In einer weiteren Ausführungsform könnte die Zubehörvorrichtung Positionsinformation an die mobile Rechenvorrichtung senden. Positionsinformation kann irgendeine Information beinhalten, die die Position der Zubehörvorrichtung und/oder der mobilen Rechenvorrichtung repräsentiert und kann auf verschiedene Weisen bestimmt werden, wie zum Beispiel mithilfe eines Global Positioning Systems (GPS)-Empfängers und/oder Triangulation einer Position, basierend auf Informationen über nahe Mobiltelefon-Netzwerk-Zugriffspunkte. Das Zubehörvorrichtungs-Kommunikationsprotokoll kann eine „Position“-Sprache bereitstellen, die durch eine Zubehörvorrichtung verwendbar ist, um Positionsinformation an die mobile Rechenvorrichtung zu übertragen. Eine Anwendung könnte jedoch Positionsinformation verwenden, die nicht in der Positionssprache bereitgestellt wird. Solche Information kann durch die Zubehörvorrichtung an die Anwendung übertragen werden mithilfe eines zubehörvorrichtungs-spezifischen Protokolls. Damit, abhängig davon, wie die Positionsinformation verwendet wird, kann dieselbe Zubehörvorrichtung Positionsinformation an die mobile Rechenvorrichtung übertragen mithilfe entweder der Positionssprache des Zubehörvorrichtungs-Kommunikationsprotokolls oder des zubehörvorrichtungs-spezifischen Protokolls.
  • Es wird verstanden werden, dass die Kommunikationspfade, die hierin beschrieben sind, beispielhaft sind, und dass Variationen und Modifikationen möglich sind. Zum Beispiel kann ein Pfad mehr oder weniger Schichten an der Zubehörvorrichtung und/oder mobilen Rechenvorrichtungsseite umfassen. In einigen Ausführungsformen wird jedes mobile Rechenvorrichtungs-Tunnel-Paket eine Zubehörvorrichtungsprotokoll-Mitteilung umfassen, aber dies ist nicht notwendig. Zum Beispiel könnte eine einzige Zubehörvorrichtungsprotokoll-Mitteilung mithilfe von mehreren mobilen Rechenvorrichtungs-Tunnel-Paketen gesendet werden, vorausgesetzt, dass der Empfänger (die Zubehörvorrichtung oder Anwendung je nachdem) in der Lage ist eine Mitteilung von mehreren empfangenen Datenbündeln zu rekonstruieren. Auf ähnliche Weise könnte ein einziges mobile Rechenvorrichtungs-Tunnel-Paket erlaubt sein, mehrere Zubehörvorrichtungsprotokoll-Mitteilungen zu umfassen, vorausgesetzt, dass der Empfänger in der Lage ist, das Bündel in mehrere Mitteilungen aufzuteilen. Beim Beschreiben der 4 war es angenommen, dass die Anwendung 404 schon die Sitzung 406 hergestellt hat mit der kompatiblen Zubehörvorrichtung 402. Beispiele von Techniken, die es einer Anwendung ermöglichen, eine kompatible Zubehörvorrichtung zu identifizieren (oder umgekehrt) und eine Sitzung herzustellen, werden nun beschrieben.
  • 7 ist ein Flussdiagramm des Prozesses 700 zum Identifizieren einer Zubehörvorrichtung und einer kompatiblen Anwendung gemäß einer Ausführungsform der vorliegenden Erfindung. Der Prozess 700 kann bei Block 702 beginnen. Die mobile Rechenvorrichtung kann bestimmen, ob eine Zubehörvorrichtung bei Block 704 verbunden worden ist. Zum Beispiel kann die mobile Rechenvorrichtung detektieren, ob eine Zubehörvorrichtung physikalisch mit einem Verbinder gekoppelt wurde, zum Beispiel wie in 1a gezeigt, oder wenn eine Zubehörvorrichtung drahtlos mit der mobilen Rechenvorrichtung gekoppelt wurde, wie in 1b gezeigt. Wie oben bemerkt, kann eine Zubehörvorrichtung als verbunden betrachtet werden, wann immer ein drahtgebundener oder drahtloser Kommunikationskanal zwischen der mobilen Rechenvorrichtung und der Zubehörvorrichtung offen ist, und Block 704 kann das Erfassen des Öffnens solch eines Kanals umfassen. Ein Anwendungsmanager, der auf der mobilen Rechenvorrichtung ausgeführt wird, kann Hardwareverbindungen oder Kommunikationsmodule überwachen, um zu bestimmen, ob ein Kommunikationskanal zwischen der mobilen Rechenvorrichtung und der Zubehörvorrichtung offen ist.
  • Bei Block 706 kann die mobile Rechenvorrichtung Anwendungsprotokoll-Information von der Zubehörvorrichtung empfangen. In einigen Ausführungsformen kann diese Information kommuniziert werden mithilfe von Paketen, die durch das Zubehörvorrichtung-Kommunikationsprotokoll definiert werden. In anderen Ausführungsformen kann die Anwendungsprotokoll-Information auf irgendeine Weise kommuniziert werden, die entweder von der Zubehörvorrichtung oder der mobilen Rechenvorrichtung oder beiden verstanden wird. Zum Beispiel kann die Anwendungsprotokoll-Information mithilfe irgendeines Industriestandard-Kommunikationsprotokolls kommuniziert werden, wie zum Beispiel das USB-Protokoll, Bluetooth-Protokoll oder WiFi-Protokoll. Zum Beispiel kann das Zubehörvorrichtungs-Kommunikationsprotokoll ein oder mehrere Befehle und zugehörige Datenformate spezifizieren, die eine Zubehörvorrichtung an eine mobile Rechenvorrichtung senden kann, um Information über sie und ihre Fähigkeiten bereitzustellen; in einigen Ausführungsformen können diese Befehle Teil der allgemeinen Sprache des Zubehörvorrichtung-Kommunikationsprotokolls sein. Die Information, die durch die Zubehörvorrichtung bereitgestellt wird, kann Text-Zeichenfolgen für den (die) Name(n) des (der) Anwendungs-Kommunikationsprotokolls(e) umfassen, die durch die Zubehörvorrichtung unterstützt werden. Die Namen können beispielsweise spezifiziert werden mithilfe der umgekehrten-Domänen-Namenkonvention, wie oben beschrieben oder mithilfe irgendeiner anderen gewünschten Namenskonvention. Die Zubehörvorrichtung kann auch andere identifizierende Information senden. Zum Beispiel kann die Zubehörvorrichtung Information senden, die ihren Typ identifiziert; den Hersteller, den Modellnamen; die Seriennummer; Hardware-, Software- und/oder Firmware-Versionen; etc. Die Zubehörvorrichtung kann auch Informationen senden, die Fähigkeiten der mobilen Rechenvorrichtung anzeigen, zu denen sie fähig ist oder sie beabsichtigt zu benutzen. Zum Beispiel kann die Zubehörvorrichtung spezifizieren, welche Sprache des Zubehörvorrichtungs-Kommunikationsprotokolls sie verwenden möchte, ob sie Audio und/oder Videosignale von oder zu der mobilen Rechenvorrichtung empfängt oder bereitstellt, bevorzugte initiale Betriebszustände der mobilen Rechenvorrichtung (zum Beispiel, ob ein Audio- und/oder Video-Signalaustausch anfänglich aktiviert oder deaktiviert sein sollte, ein bevorzugtes Format für Audio- und/oder Videosignalisierung), und so weiter.
  • In anderen Ausführungsformen kann das Anwendungsprotokoll durch das Spezifizieren eines Anwendungsladens oder von einem Server über das Internet spezifiziert werden. Zum Beispiel, wenn eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt ist, kann die mobile Rechenvorrichtung Anwendungsprotokoll-Information von dem Anwendungsladen und/oder von einem Server über das Internet anfordern. In einer Ausführungsform kann die mobile Rechenvorrichtung zubehörvorrichtungs-identifizierende Information senden, wie den Zubehörvorrichtungshersteller, Modellnamen, und/oder serielle Nummer, an den Anwendungsladen oder anderen Server und Anwendungsprotokoll-Information in Antwort darauf empfangen. Anwendungsprotokoll-Information, die von der Zubehörvorrichtung gesendet wird, kann, zum Beispiel, den Anwendungsprotokoll-Namen umfassen; eine Datei, die verschiedene Anwendungsprotokoll-Befehle spezifiziert, Mitteilungen und/oder Paketspezifikationen; eine Auflistung von Zubehörvorrichtungen mit denen das Anwendungsprotokoll kompatibel ist; eine Liste von Anwendungen, mit denen das Anwendungsprotokoll kompatibel ist; ein Hinweis auf einen Netzwerk-Ort, wo eine Anwendung oder ein Anwendungsupdate heruntergeladen werden können; etc. Die Anwendungsprotokoll-Information kann in einem Metadatenformat gesendet werden. In einigen Ausführungsformen können verschiedene Versionen des Anwendungsprotokolls verfügbar gemacht werden durch den Anwendungsladen oder durch das Internet. Zum Beispiel können verschiedene Versionen eines Anwendungsprotokolls verschiedene Niveaus an Funktionalität ermöglichen und können zur Verwendung mit einer mobilen Rechenvorrichtung zu unterschiedlichen Preisen bereitgestellt werden. Zum Beispiel können „Lite“-Versionen, freie Versionen, Vollversionen, Demo-Versionen, etc. verfügbar gemacht werden. Zum Beispiel kann eine Vollversion einen Satz an Befehlen definieren, die durch die mobile Rechenvorrichtung und/oder Zubehörvorrichtung verwendbar sind, wohingegen eine „Lite“-Version eine Untergruppe der Befehle definiert, die durch die Vollversion definiert werden.
  • In einigen Ausführungsformen können Anwendungsprotokolle aufgezählt werden, wenn sie zu der mobilen Rechenvorrichtung kommuniziert werden. Die Zubehörvorrichtung kann jedes unterstützte Anwendungsprotokoll mit einer Index-Nummer oder einem anderen Typ von Hinweis identifizieren, der sich auf jede Anwendung bezieht. Zum Beispiel kann die Zubehörvorrichtung eine Mitteilung senden, die anzeigt, dass Index 1 ein Anwendungsprotokoll 1 ist, Index 2 ein Anwendungsprotokoll 2 ist und Index 3 ein Anwendungsprotokoll 3 ist.
  • Jedes Anwendungsprotokoll kann mithilfe irgendeines Typs von Hinweis angezeigt werden, wie zum Beispiel unter Verwendung der umgekehrten-Domänen-Namenkonvention. Später können diese Protokolle mithilfe ihrer Index-Zahl referenziert werden. Solch eine Aufzählung kann in Ausführungsformen verwendet werden, die durchgängig in dieser Offenbarung beschrieben sind.
  • Die mobile Rechenvorrichtung kann die Zubehörvorrichtung authentifizieren mithilfe von Authentifizierungsprozeduren in Übereinstimmung mit dem Zubehörvorrichtungs-Kommunikationsprotokoll bei Block 708. Diese Prozeduren können zum Beispiel Authentifizierungstechniken umfassen, basierend auf öffentlichen Schlüsselzertifikaten, die in der mobilen Rechenvorrichtung gespeichert sind und privaten Schlüsseln, die durch verschiedene Zubehörvorrichtungen gehalten werden und/oder andere Techniken. In einigen Ausführungsformen kann die mobile Rechenvorrichtung jede Zubehörvorrichtung authentifizieren, nach der Verbindung und Identifikation (zum Beispiel nach Block 706). In anderen Ausführungsformen kann die mobile Rechenvorrichtung jede Zubehörvorrichtung authentifizieren vor oder während der Identifikation bei Block 706, und in weiter anderen Ausführungsformen kann die Authentifizierung später in dem Prozess geschehen oder gar nicht. Zum Beispiel erlaubt die mobile Rechenvorrichtung in einigen Ausführungsformen, dass auf bestimmte Funktionen und/oder Operationen, die mit dem Zubehörvorrichtungs-Kommunikationsprotokoll assoziiert sind, nur durch authentifizierte Zubehörvorrichtungen zugegriffen wird; solche „restriktierte Zugriffs“-funktionen können Funktionen sein, die auf die Kommunikation von Zubehörvorrichtungs-Protokollbefehlen bezogen sind (zum Beispiel die Tunnelbefehle, die oben beschrieben sind, können restriktierte Zugriffsbefehle sein). Die mobile Rechenvorrichtung kann damit warten eine Zubehörvorrichtung zu authentifizieren, bis die Zubehörvorrichtung versucht eine zugriffsbeschränkte Funktion zu verwenden, oder die mobile Rechenvorrichtung kann die Zubehörvorrichtung zu jeder Zeit authentifizieren nach dem Empfangen von Information, die anzeigt, dass die Zubehörvorrichtung zugriffsbeschränkte Funktionen benutzen wird oder versuchen könnte zu benutzen.
  • Die mobile Rechenvorrichtung kann dann eine „verbundene“ Anwendungsprotokoll-Liste bei Block 710 erzeugen und/oder aktualisieren mithilfe der Anwendungsprotokoll-Information, die bei Block 706 bereitgestellt wird. Zum Beispiel kann, bezogen auf 3, die Anschlussabbildung 325 und/oder die Zubehörvorrichtungsinformationstabelle 330 aktualisiert werden, um die neuverbundene Zubehörvorrichtung und ihr€ Anwendungsprotokoll(e) mit einem Anschluss zu assoziieren. Jede der zubehörvorrichtungsidentifizierenden Information wird bei Block 706 bereitgestellt und kann in einer Protokoll-Liste für verbundene Anwendungen durch die mobile Rechenvorrichtung gespeichert werden. Ein Beispiel einer verbundene-Protokoll-Liste wird in 8 als Tabelle 820 gezeigt. Die Tabelle 820 listet jedes Anwendungsprotokoll auf, das eine gegenwärtig verbundene Zubehörvorrichtung identifiziert hat, im Zusammenhang mit dem Anschluss, mit dem die Zubehörvorrichtung verbunden ist. (Demgemäß kann die Tabelle 820 ein Beispiel einer Anschlussabbildung 325 von 3 sein). Es sollte verstanden werden, dass das Format und der Informationsinhalt der Tabelle 820, wie gewünscht, variiert werden kann.
  • Wieder 7 betrachtend, kann bei Block 712 die mobile Rechenvorrichtung bestimmen, ob Anwendungen verfügbar sind, die das (die) Anwendungsprotokoll(e), das (die) der Zubehörvorrichtung zugeordnet ist (sind), verfügbar sind (solche Anwendungen werden hierin als „kompatible“ Anwendungen bezeichnet). Zum Beispiel kann die mobile Rechenvorrichtung eine Tabelle von unterstützten Anwendungsprotokollen speichern, wobei jedes Protokoll mit der Anwendung (oder Anwendungen) assoziiert ist, die es unterstützt. Ein Beispiel einer unterstützten Anwendungsprotokoll-Tabelle wird in 8 als Tabelle 810 gezeigt. Die Tabelle 810 beinhaltet eine Liste von Anwendungsprotokoll-Namen, und jeder Anwendungsprotokoll-Name ist mit einem Identifizierer von einer oder mehreren Anwendungen assoziiert. In einigen Ausführungsformen kann die Tabelle 810 als eine Nachschlag-Tabelle implementiert sein, auf die mithilfe des Namens eines Anwendungsprotokolls zugegriffen werden kann, um einen Anwendungs-Identifizierer auszugeben; auf die Tabelle 810 kann auch mithilfe eines Anwendungs-Identifizierers zugegriffen werden, um eine Liste von Anwendungsprotokollen auszugeben, die mit einer bestimmten Anwendung assoziiert sind.
  • In einigen Ausführungsformen kann die Tabelle 810 nur Anwendungsprotokolle umfassen, die mit gerade ausgeführten Anwendungen assoziiert sind. Zum Beispiel, wenn eine Anwendung gestartet wird, kann sie einen Systemprozess der mobilen Rechenvorrichtung (zum Beispiel Unterstützungsschicht 315 von 3) mit einer Liste von jeglichen Anwendungsprotokollen, die sie benötigt und/oder verwenden kann, versorgen. Der Systemprozess der mobilen Rechenvorrichtung kann die Tabelle 810 entsprechend aktualisieren. In anderen Ausführungsformen kann die Tabelle 810 eine permanente Tabelle sein, die für alle Anwendungen, die auf der mobilen Rechenvorrichtung installiert sind, beibehalten wird. Zum Beispiel kann das Installieren (oder Aktualisieren) einer Anwendung das Benachrichtigen eines Systemprozesses der mobilen Rechenvorrichtung (zum Beispiel die Unterstützungsschicht 315) umfassen von jeglichen Anwendungsprotokollen, die die Anwendung benötigt und/oder fähig ist zu verwenden ist; die mobile Rechenvorrichtung kann die Tabelle 810 entsprechend aktualisieren.
  • In einigen Ausführungsformen, wenn eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt ist, kann die Zubehörvorrichtung sich selbst identifizieren durch das Senden von Identifikationsinformation, zum Beispiel, mithilfe einer Zubehörvorrichtungs-Identifikationssprache, die mit dem Zubehörvorrichtungs-Kommunikationsprotokoll assoziiert ist. Die Identifikationsinformation kann durch die mobile Rechenvorrichtung verwendet werden, um ein geeignetes Anwendungs-Kommunikationsprotokoll zu wählen, zum Beispiel durch den Bezug auf die Tabelle 810. In einigen Ausführungsformen kann die mobile Rechenvorrichtung Zubehörvorrichtungs-Identifikationsinformation an einen Anwendungsladen und/oder Server über das Internet senden, um ein Anwendungs-Kommunikationsprotokoll zu identifizieren, das mit der Zubehörvorrichtung kompatibel ist. In einigen Ausführungsformen kann ein Anwendungsladen und/oder Server eine Datei senden, die Details enthält, über ein Anwendungs-Kommunikationsprotokoll, das mit der Zubehörvorrichtung kompatibel ist. In einigen Ausführungsformen muss die Zubehörvorrichtung nicht Anwendungsprotokoll-Information an die mobile Rechenvorrichtung senden, stattdessen kann die Zubehörvorrichtung Zubehörvorrichtungs-Identifikationsinformation senden, die dann durch die mobile Rechenvorrichtung verwendet wird, um das geeignete Anwendungs-Kommunikationsprotokoll zu wählen.
  • Wiederum bezogen auf Block 712 der 7, in einigen Ausführungsformen, in denen eine unterstützte Anwendungsprotokoll-Tabelle (zum Beispiel Tabelle 810 von 8) bereitgestellt wird, kann die mobile Rechenvorrichtung bestimmen, ob eine kompatible Anwendung verfügbar ist durch das Zugreifen auf die unterstützte Protokoll-Tabelle mithilfe des Protokoll-Namens der neuverbundenen Zubehörvorrichtung. Zum Beispiel, wie in 8 gezeigt, wenn die neuverbundene Zubehörvorrichtung protocolString {c} als ihren Anwendungsprotokoll-Identifizierer bereitgestellt hat, kann Block 712 des Prozesses 700 das Nachschlagen des protocolString {c} beinhalten in der unterstützten Protokoll-Tabelle 810 und damit bestimmen, dass eine Anwendung „App8“ mit dem Anwendungsprotokoll assoziiert ist. In diesem Fall würde der Block 712 in einer Bestimmung resultieren, das eine Anwendung verfügbar ist. Wie weiter in 8 gezeigt, wenn die neu verbundene Zubehörvorrichtung protocolString {x} bereitgestellt hat, als ihr Anwendungsprotokoll, kann keine Übereinstimmung in der Tabelle 810 gefunden werden, und der Block 712 des Prozesses 700 würde zu einer Bestimmung führen, das eine kompatible Anwendung nicht verfügbar ist.
  • Wenn eine kompatible Anwendung nicht verfügbar ist, kann der Prozess 700 das Lokalisieren und Erhalten einer kompatiblen Anwendung beim Block 714 ermöglichen. Zum Beispiel, kann die mobile Rechenvorrichtung den Benutzer zu einem Anwendungsladen (zum Beispiel den iTunes Store der durch Apple Inc. bereitgestellt wird) führen oder einer anderen Quelle zum Erwerben und/oder Herunterladen von Anwendungen. Verschiedene Typen von Assistenz können bereitgestellt werden. Zum Beispiel kann, in einigen Ausführungsformen, die Zubehörvorrichtungsinformation, die der mobilen Rechenvorrichtung bei Block 706 bereitgestellt wird, einen Identifizierer der bevorzugten Anwendung zur Verwendung mit der Zubehörvorrichtung umfassen. Diese Identifizierer kann eine URL (uniform resource locator, zum Beispiel eine World Wide Web Seitenadresse) sein, ein einmaliger Produkt-Identifizierer für die bevorzugte Anwendung in einem bestimmten Anwendungsladen, oder ähnliches. Die mobile Rechenvorrichtung kann diese Information verwenden, um die bevorzugte Anwendung zu lokalisieren und den Benutzer auffordern, die Anwendung zu erwerben und/oder herunterzuladen.
  • In anderen Ausführungsformen kann die mobile Rechenvorrichtung die Anwendungsprotokoll-Information verwenden, mit oder ohne andere Zubehörvorrichtungs-Identifizierungsinformation, um nach einer kompatiblen Anwendung zu suchen, zum Beispiel innerhalb eines Anwendungsladens. Zum Beispiel, wie in 9 gezeigt, kann die mobile Rechenvorrichtung eine Abfrage 825 formulieren mithilfe eines oder mehreren der verbundenen Anwendungsprotokolle und/oder eines Identifizierers für die bevorzugte Anwendung, die von der Zubehörvorrichtung bereitgestellt wird (repräsentiert als appCode 830). Die mobile Rechenvorrichtung kann die Anfrage 825 an eine URL 840 senden, die mit dem Suchen in einem Anwendungsladen oder einem anderen Ziel assoziiert ist. In dem gezeigten Beispiel umfasst die Anfrage eine Liste von allen verbundenen Anwendungsprotokollen (die mit einem Logischen „oder“ Operanden verbunden sind), zusammen mit dem appCode 830 für die bevorzugte Anwendung. In dem Fall, das mehrere Anwendungen der Anfrage entsprechen, kann eine bevorzugte Anwendung 830 durch den Anwendungsladen verwendet werden, um die bevorzugte Anwendung hervorzuheben (angenommen, dass sie auf der Liste der Treffer vorhanden ist). Damit, obwohl eine Anzahl von Anwendungen aufgelistet sein kann, die ein oder mehrere Anwendungsprotokolle der verbundenen Protokoll-Liste 820 unterstützen, kann die bevorzugte Anwendung 830 die Standard-Anwendung sein und kann als solche aufgelistet sein, zum Beispiel an der Spitze der Resultateliste und/oder mit einem Symbol markiert, einem Wort oder Logo, das sie als bevorzugt identifiziert. In einigen Ausführungsformen kann mehr als eine Version der bevorzugten Anwendung bereitgestellt werden innerhalb der Rangfolge, sodass dem Benutzer eine geordnete Liste präsentiert werden kann. Zum Beispiel kann eine Pro-Version, eine Standard-Version und/oder eine freie Version der bevorzugten Anwendung bereitgestellt werden.
  • In Antwort auf eine Anfrage kann der Anwendungsladen eine Liste von einer oder mehreren kompatiblen Anwendungen ausgeben, und die mobile Rechenvorrichtung kann den Benutzer auffordern eine kompatible Anwendung zum Herunterladen auszuwählen. In einigen Ausführungsformen können die Anwendungen direkt nach dem Herunterladen installiert werden; in anderen Ausführungsformen kann der Benutzer separat aufgefordert werden, die Anwendung herunterzuladen, und dann zu installieren. In weiter anderen Ausführungsformen kann es nötig sein, dass der Benutzer die Anwendung erwirbt. In einigen Ausführungsformen kann der Erwerb durch einen Anwendungsladen ausgeführt werden mithilfe eines Guthabens und/oder durch ein vorhergehend erstelltes Konto.
  • In weiter anderen Ausführungsformen kann eine kompatible Anwendung auf der Zubehörvorrichtung selbst vorgespeichert sein und das Zubehörvorrichtungs-Kommunikationsprotokoll kann Befehle umfassen, die es der Zubehörvorrichtung ermöglichen, anzuzeigen, das sie eine darauf gespeicherte kompatible Anwendung hat; in Antwort auf solch einen Hinweis kann die mobile Rechenvorrichtung die kompatible Anwendung von der Zubehörvorrichtung hochladen und sie installieren. (In einigen Ausführungsformen kann die mobile Rechenvorrichtung den Benutzer auffordern zur Zustimmung vor dem Herunterladen und/oder Installieren von den von der Zubehörvorrichtung bereitgestellten Anwendungen).
  • Wieder mit Bezug auf 7 wird bei Block 716 bestimmt, ob eine kompatible Anwendung nun verfügbar ist und installiert ist. (Zum Beispiel könnte eine kompatible Anwendung nicht gefunden worden sein oder der Benutzer könnte gewählt haben sie nicht zu kaufen oder herunter zu laden). Wenn nicht, kann der Prozess 700 bei Block 718 enden.
  • Wenn, bei Block 716 eine kompatible Anwendung verfügbar ist (entweder vorhergehend installiert oder gerade installiert über Block 714), dann kann die mobile Rechenvorrichtung bei Block 720 bestimmen, ob die kompatible Anwendung bereits läuft. Wenn nicht, kann die Anwendung bei Block 722 gestartet werden. Abhängig von der Implementierung kann Block 722 das Auffordern des Benutzers umfassen, zu bestätigen, dass die Anwendung gestartet werden sollte.
  • Bei Block 724 kann die Anwendung mit der Zubehörvorrichtung kommunizieren. In einigen Ausführungsformen kann Block 724 das Erzeugen einer Sitzung und Senden und/oder Empfangen von Anwendungsprotokoll-Befehlen, wie bei der Sitzung, wie zum Beispiel oben beschrieben, umfassen. Der Block 724 kann auch das Senden und/oder Empfangen von Befehlen und anderer Information umfassen mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. Damit kann dieselbe Anwendung und Zubehörvorrichtung Funktionen verwenden, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll unterstützt werden, und kann andere Informationen, Steuersignale, Daten, etc. austauschen mithilfe eines Anwendungsprotokolls, die mit den Funktionen, die durch das Zubehörvorrichtungs-Kommunikationsprotokoll unterstützt werden, überlappen könnten oder nicht überlappen könnten. Die Kommunikation kann unendlich lange bestehen, zum Beispiel, bis die Zubehörvorrichtung von der mobilen Rechenvorrichtung getrennt wird und/oder die Anwendung existiert. An diesem Punkt kann der Prozess 700 enden (Block 718).
  • Der Prozess 700 kann implementiert werden mithilfe von Hardware, Software und/oder Firmware auf einer mobilen Rechenvorrichtung. Zum Beispiel können Systemprozesse und/oder Anwendungen ausgeführt werden zum Steuern der Funktionalität der mobilen Rechenvorrichtung, um die oben beschriebenen Aktionen auszuführen.
  • In einigen Ausführungsformen kann die mobile Rechenvorrichtung eine dauerhafte Liste von allen oder einer Anzahl von Anwendungsprotokollen führen, die durch irgendeine Zubehörvorrichtung unterstützt werden, die jemals mit der mobilen Rechenvorrichtung verbunden wurde, selbst nachdem die Zubehörvorrichtung getrennt wird. Wenn die mobile Rechenvorrichtung mit einem Anwendungsladen kommuniziert, kann die mobile Rechenvorrichtung einige oder alle der Protokolle auf der dauerhaften Liste an den Anwendungsladen bereitstellen (zum Beispiel als eine Suchanfrage an einen Server, der den Anwendungsladen beherbergt), und der Anwendungsladen kann Anwendungen vorschlagen, die dem Benutzer interessieren könnten, basierend auf der Liste. Zum Beispiel kann der Anwendungsladen andere Anwendungen identifizieren, die das (die) selbe(n) Anwendungsprotokoll(e) verwenden. Wenn die dauerhafte Liste auch Information umfasst, die bestimmte Zubehörvorrichtungen identifizieren, die mit jedem Anwendungsprotokoll assoziiert sind, kann die Information, die durch den Anwendungsladen bereitgestellt wird, bestimmte Zubehörvorrichtungen als kompatibel mit den identifizierten Anwendungen identifizieren. Dies kann dem Benutzer helfen beim Auswählen von zu erwerbenden und/oder herunterzuladenden Anwendungen.
  • 10 ist ein Flussdiagramm des Prozesses 1000, der durch eine Anwendung ausgeführt werden kann, zum Initiieren einer Kommunikation mit einer Zubehörvorrichtung, gemäß einer Ausführungsform der vorliegenden Erfindung. Der Prozess 1000 kann beginnen (Block 1002), zum Beispiel wenn die Anwendung auf der mobilen Rechenvorrichtung gestartet wird. Zum Beispiel kann der Benutzer manuell die Anwendung starten, oder die Anwendung kann automatisch durch die mobile Rechenvorrichtung gestartet werden, in Antwort auf das Verbinden einer Zubehörvorrichtung (zum Beispiel, wie oben mit Bezug auf 7 beschrieben).
  • Bei Block 1004 prüft die Anwendung, um zu bestimmen, ob eine kompatible Zubehörvorrichtung verbunden ist. (Wie hierin verwendet, ist eine Zubehörvorrichtung „kompatibel“ mit einer bestimmten Anwendung, wenn die Zubehörvorrichtung ein Anwendungsprotokoll unterstützt, das von der Anwendung benötigt wird und/oder verwendet werden kann.) Zum Beispiel, in Ausführungsformen, in denen die mobile Rechenvorrichtung eine Tabelle mit verbundenen Zubehörvorrichtungen führt, wie Tabelle 820 von 8, kann die Anwendung die Tabelle abfragen mithilfe des Namens eines gewünschten Anwendungsprotokolls, um zu bestimmen, ob eine kompatible Zubehörvorrichtung verbunden ist. Diese Abfrage kann zum Beispiel das Aufrufen eines API-Funktionsaufrufes beinhalten zum Kommunizieren mit einer Unterstützungsschicht (zum Beispiel Unterstützungsschicht 315 von 3).
  • Wenn, bei Block 1006, eine kompatible Zubehörvorrichtung nicht verbunden ist, kann die Anwendung bei Block 1008 für eine bestimmte Zeitdauer warten und es dann erneut versuchen. Zum Beispiel, wenn eine Zeitüberschreitung erreicht wird, endet der Prozess 1000 bei Block 1020. In einigen Ausführungsformen beim Warten bei Block 1008, kann die Anwendung eine Mitteilung an den Benutzer erzeugen, die den Benutzer auffordert, eine kompatible Zubehörvorrichtung zu verbinden. In einigen Ausführungsformen kann die Anwendung sich bei einem mobilen Rechenvorrichtungssystemdienst registrieren und eine Benachrichtigung erbeten, wenn eine kompatible Zubehörvorrichtung verfügbar wird, anstelle dem wiederholten Prüfen. In weiter anderen Ausführungsformen kann die Anwendung beendet werden, wenn eine kompatible Zubehörvorrichtung nicht verbunden wird, und kann den Benutzer darauf hinweisen, dass die Anwendung nicht laufen wird, bis eine kompatible Zubehörvorrichtung verbunden ist, oder dass die Anwendung mit reduzierter Funktionalität laufen kann.
  • Wenn eine kompatible Zubehörvorrichtung beim Block 1010 erfasst wird, kann die Anwendung eine Sitzung mit dieser Zubehörvorrichtung initiieren. Zum Beispiel kann die Zubehörvorrichtung einen API-Aufruf von Unterstützungsschicht 408 (siehe 4) oder eines Anwendungsmanagers (siehe 14) aufrufen, um eine Sitzung zu erzeugen, die mit einer bestimmten Zubehörvorrichtung und Anwendungsprotokoll (zum Beispiel Sitzung 406 von 4) assoziiert ist. Die Sitzung, die in 10 durch Block 1012 repräsentiert ist, kann unendlich fortdauern. Wie oben beschrieben, kann die Anwendung während der Sitzung Mitteilungen senden und/oder empfangen (zum Beispiel Steuersignale, Daten, Status und/oder andere Information) mithilfe des Anwendungsprotokolls, das mit der Sitzung assoziiert ist, und die Anwendung kann auch Mitteilungen senden und/oder empfangen mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls, in dem Umfang, indem die gewünschte Funktionalität innerhalb des Zubehörvorrichtungs-Kommunikationsprotokolls unterstützt wird.
  • Eine Sitzung kann schlussendlich enden. Zum Beispiel kann die Anwendung bei Block 1014 bestimmen, das die Sitzung enden sollte (zum Beispiel in Antwort auf eine Benutzeranweisung, wie das Beenden der Anwendung oder dem Hinweisen, dass die Zubehörvorrichtung nicht länger zu verwenden ist) und kann die Sitzung bei Block 1016 beenden in Antwort auf solch ein Bestimmen. Als ein anderes Beispiel kann die Anwendung bei Block 1018 darauf hingewiesen werden, dass die Zubehörvorrichtung getrennt worden ist; dies kann auch in der Sitzungsbeendigung bei Block 1016 resultieren. Die Sitzungsbeendigung bei Block 1016 kann umfassen, zum Beispiel das Aufrufen eines API-Aufrufs, um das Sitzungsobjekt zu zerstören oder zu schließen und zugeordnete Ressourcen freizugeben. Zum Beispiel, in Ausführungsformen, in denen nur eine Sitzung zu einer Zeit erlaubt ist für eine gegebene Kombination von Zubehörvorrichtung und Anwendungsprotokoll kann die Sitzungsbeendigung der mobilen Rechenvorrichtung signalisieren, dass die Zubehörvorrichtung und ihr Protokoll jetzt frei sind zur Verwendung in einer anderen Sitzung, zum Beispiel mit einer anderen Anwendung. In einigen Ausführungsformen kann die Beendigung der Sitzung in dem Trennen der Zubehörvorrichtung resultieren (zum Beispiel, die mobile Rechenvorrichtung kann den Anschluss schließen); in anderen Ausführungsformen kann die Zubehörvorrichtung verbunden bleiben, nachdem die Sitzung endet; und in weiter anderen Ausführungsformen kann die Anwendung die mobile Rechenvorrichtungssystemdienste anweisen, dass die Zubehörvorrichtung zu trennen ist, wenn die Sitzung endet.
  • Sobald die Sitzung endet, kann der Prozess 1000 enden. In einigen Ausführungsformen, wenn die Anwendung noch ausgeführt wird, nach dem Sitzungsbeendigungsprozess, kann 1000 wieder zum Block 1004 zurückkehren, um nach einer kompatiblen Zubehörvorrichtung zu suchen und eine neue Sitzung zu starten. Es wird verstanden werden, dass das hierin beschriebene Zubehörvorrichtungskommunikationsprotokoll beispielhaft ist, und dass Variationen und Modifikationen möglich sind. Handlungen, die als sequenziell beschrieben sind, können parallel ausgeführt werden, die Reihenfolge von Handlungen kann modifiziert werden und/oder Handlungen können hinzugefügt, weggelassen oder kombiniert werden.
  • In einigen Ausführungsformen kann eine mobile Rechenvorrichtung gleichzeitige Verbindungen zu mehreren Zubehörvorrichtungen und/oder die gleichzeitige Ausführung von mehreren Anwendungen unterstützen. Damit kann eine einzelne Anwendung gleichzeitig mit mehreren Zubehörvorrichtungen interagieren, oder eine einzelne Zubehörvorrichtung kann gleichzeitig mit mehreren Anwendungen interagieren.
  • Zum Beispiel zeigt 11 eine Anwendung 1100 auf der mobilen Rechenvorrichtung 1102, die gleichzeitig mit einer Zubehörvorrichtung A 1106 und Zubehörvorrichtung B 1108 interagiert, gemäß einigen Ausführungsformen der Erfindung. Die Zubehörvorrichtungen A 1106 und Zubehörvorrichtung B 1108 können unterschiedliche Typen von Zubehörvorrichtungen sein, oder sie können ähnliche oder sogar identische Zubehörvorrichtungen sein. In diesem Beispiel wird jede Zubehörvorrichtung mit einem anderen Anschluss verbunden; d.h. die Zubehörvorrichtung A 1106 wird mit dem Anschluss 1110 verbunden und die Zubehörvorrichtung B 1106 wird mit dem Anschluss 1112 verbunden. Die Anwendung 1100 hat zwei Sitzungen 1114, 1116 erzeugt Die Sitzung 1112 ist mit der Zubehörvorrichtung 1104 assoziiert und verwendet ein Anwendungsprotokoll A1, wohingegen die Sitzung 1114 mit einer Zubehörvorrichtung A 1106 assoziiert ist und ein Anwendungsprotokoll B1 verwendet. Die Sitzungen 1112 und 1114 sind unabhängig voneinander; jede kann initiiert, verwendet und/oder beendet werden, ohne die andere zu beeinflussen. In einigen Ausführungsformen kann die Sitzung protokollspezifisch sein. Der Anschluss 1110 kann das Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um einen „Tunnel“ für Mitteilungen bereitzustellen, die dem Protokoll A1 entsprechen, zum Austausch zwischen der mobilen Rechenvorrichtung 1102 und der Zubehörvorrichtung 1106, und der Anschluss 1112 kann das (selbe) Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um ein separaten Tunnel für Mitteilungen bereitzustellen, die dem Protokoll B1 entsprechen, zum Weiterreichen zwischen der mobilen Rechenvorrichtung 1102 und der Zubehörvorrichtung 1108. Es wird verstanden, dass die Anwendungsprotokolle A1 und B1 unterschiedliche Protokolle sein können oder dasselbe Protokoll, falls gewünscht. Weiterhin, während zwei Zubehörvorrichtungen und zwei Sitzungen gezeigt sind, kann jede Anzahl von Zubehörvorrichtungen und Sitzungen mit einer bestimmten Anwendung verbunden werden, in der hierin beschriebenen Weise, nur vorausgesetzt, dass ausreichende Hardware- und/oder Softwareressourcen (zum Beispiel Anschlüsse und/oder Sitzungen) auf der mobilen Rechenvorrichtung verfügbar sind.
  • 12 zeigt zwei Anwendungen; Anwendung 1 1200 und Anwendung 2 1202, die auf der mobilen Rechenvorrichtung 1204 ausgeführt werden und gleichzeitig mit der Zubehörvorrichtung A 1206 und Zubehörvorrichtung B 1208 interagieren, gemäß einigen Ausführungsformen der Erfindung. Die Zubehörvorrichtungen A 1206 und B 1208 können unterschiedliche Typen von Zubehörvorrichtungen sein, oder sie können gleiche oder sogar identische Zubehörvorrichtungen sein. In diesem Beispiel wird jede Zubehörvorrichtung an einen anderen Anschluss verbunden; d.h. die Zubehörvorrichtung A 1206 wird mit dem Anschluss 1210 verbunden und die Zubehörvorrichtung B 1208 wird mit dem Anschluss 1212 verbunden. Die Anwendung 1 1200 hat eine Sitzung 1214 erzeugt, die mit der Zubehörvorrichtung A 1206 und Anwendungsprotokoll A1 assoziiert ist, und die Anwendung 2 1202 hat eine Sitzung 1216 erzeugt, die mit der Zubehörvorrichtung B 1208 und dem Anwendungsprotokoll B1 assoziiert ist. Die Sitzungen 1212 und 1214 sind voneinander unabhängig; jede kann initiiert, verwendet und/oder beendet werden, ohne die andere zu beeinflussen. Der Anschluss 1210 kann das Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um einen Tunnel für Mitteilungen bereitzustellen, die dem Anwendungsprotokoll A1 entsprechen, zum Weiterreichen zwischen der mobilen Rechenvorrichtung 1204 und der Zubehörvorrichtung 1106, und der Anschluss 1212 kann das (selbe) Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um einen separaten Tunnel für Mitteilungen bereitzustellen, die dem Anwendungsprotokoll B1 entsprechen zum Weiterreichen zwischen der mobilen Rechenvorrichtung 1204 und der Zubehörvorrichtung 1208. Wie bei 11 wird es verstanden werden, dass die Anwendungsprotokolle A1 und B1 unterschiedliche Protokolle oder dasselbe Protokoll sein können, falls gewünscht. Weiterhin, während zwei Zubehörvorrichtungen, zwei Anwendungen und zwei Sitzungen gezeigt werden, kann jede Anzahl von Zubehörvorrichtungen, Sitzungen und/oder Anwendungen gleichzeitig in der hierin beschriebenen Weise unterstützt werden, nur vorausgesetzt, das ausreichende Hardware und/oder Softwareressourcen (zum Beispiel Anschlüsse und/oder Sitzungen) auf der mobilen Rechenvorrichtung verfügbar sind.
  • 13 zeigt zwei Anwendungen, Anwendung 1 1300 und Anwendung 2 1302, die auf der mobilen Rechenvorrichtung 1304 ausgeführt werden und gleichzeitig mit einer Zubehörvorrichtung 1306 interagieren, gemäß einigen Ausführungsformen der Erfindung. In diesem Beispiel unterstützt die Zubehörvorrichtung 1306 zwei verschiedene Anwendungsprotokolle (A1 und A2). Die Protokolle A1 und A2 können sich nur vom Namen her unterscheiden oder sie können zwei unterschiedliche und potenziell inkompatible Protokolle sein. Die Zubehörvorrichtung 1306 ist mit der mobilen Rechenvorrichtung 1304 auf dem Anschluss 1310 verbunden, welcher mit dem Protokoll A1 assoziiert ist und ist auch mit der mobilen Rechenvorrichtung 1304 auf dem Anschluss 1312 verbunden, welcher mit dem Protokoll A2 assoziiert ist. Die Anwendung 1 1300 hat eine Sitzung 1314 erzeugt, die mit der Zubehörvorrichtung 1306 und dem Anwendungsprotokoll A1 assoziiert ist und kann damit mit der Zubehörvorrichtung 1306 über den Anschluss 1310 kommunizieren. Auf ähnliche Weise hat die Anwendung 2 1302 eine Sitzung 1316 erzeugt, die mit der Zubehörvorrichtung 1306 und dem Anwendungsprotokoll A2 assoziiert ist, und kann dann deshalb mit der Zubehörvorrichtung 1306 über den Anschluss 1312 kommunizieren. Die Sitzungen 1312 und 1314 sind voneinander unabhängig; jede kann initiiert, verwendet und/oder beendet werden, ohne die andere zu beeinflussen. Der Anschluss 1310 kann das Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um einen Tunnel für Mitteilungen bereitzustellen, die dem Anwendungsprotokoll A1 entsprechen, zum Austausch zwischen der mobilen Rechenvorrichtung 1304 und der Zubehörvorrichtung 1306, und der Anschluss 1312 kann (dasselbe) Zubehörvorrichtungs-Kommunikationsprotokoll verwenden, um einen separaten Tunnel für Mitteilungen bereitzustellen, die dem Anwendungsprotokoll A2 entsprechen, zum Weiterreichen zwischen der mobilen Rechenvorrichtung 1304 und der Zubehörvorrichtung 1306. Während zwei Anwendungen und zwei Sitzungen gezeigt wird, kann jede Anzahl von Zubehörvorrichtungen, Sitzungen und/oder Anwendungen gleichzeitig mit derselben Zubehörvorrichtung in der hierin beschriebenen Weise verbunden werden, nur vorausgesetzt, dass ausreichende Hardware-und/oder Softwareressourcen (zum Beispiel Anschlüsse und/oder Sitzungen) auf der mobilen Rechenvorrichtung verfügbar sind.
  • Es wird verstanden werden, dass die Systemkonfigurationen von 11 bis 13 lediglich beispielhaft sind, und das Variationen und Modifikationen möglich sind. Zum Beispiel kann jede Anzahl von Anwendungen und jede Anzahl von Zubehörvorrichtungen verbunden werden mithilfe irgendeiner Anzahl von Sitzungen und Anschlüssen. Wie oben beschrieben, kann die Sitzung eine Softwareeinheit sein, die die Details der physikalischen Verbindungen (zum Beispiel Anschlüsse und ähnliches) vor der Anwendung versteckt. Damit muss die Anwendung nicht wissen, zu welchem Anschluss eine kompatible Zubehörvorrichtung verbunden ist, um mit ihr zu kommunizieren. Weiterhin kann der Kommunikationspfad auch andere Zwischenschichten umfassen (zum Beispiel einen Protokoll-Manager und/oder eine Protokoll-Dämon-Schicht, wie unten beschrieben).
  • Ein Anwendungsmanager kann verwendet werden, um eine Kommunikationsverbindung zwischen einer Anwendung und einem Kommunikations-Port zu abstrahieren, um die Details eines Kommunikationsprotokolls für die Anwendungsprogramme transparent zu machen. In einigen Ausführungsformen, wenn eine Kommunikationsverbindung abstrahiert wird, kann das Anwendungsprogramm mit einer Zubehörvorrichtung kommunizieren, durch das Schreiben von Daten in einen Ausgabestrom und das Lesen von Daten von einem Eingangsstrom, ohne irgendwelche Details der Zubehörvorrichtung zu kennen, mit der sie kommuniziert. Dies kann mit einem Anwendungsmanager ausgeführt werden.
  • In einigen Ausführungsformen kann ein Anwendungsmanager Teile von der Unterstützungsschicht 408 oder dem Protokoll-Manager 410, der in 4 gezeigt ist, umfassen oder durch diese implementiert sein. Die 14 zeigt ein Beispiel solch einer Abstrahierung. Die Figur zeigt den Fluss von Daten zwischen der Anwendungsschicht 1402, dem Anwendungsmanager 1404 und der Hardware-Transportschicht 1406 einer mobilen Rechenvorrichtung, gemäß einigen Ausführungsformen der Erfindung. Die Anwendungsschicht 1402 kann jede Art von Prozess sein, die auf der mobilen Rechenvorrichtung läuft. Die Hardware-Transportschicht 1402 kann jeden Typ von Hardware-Schnittstelle oder Software-Schnittstelle zwischen der mobilen Rechenvorrichtung und der Zubehörvorrichtung umfassen. Der Anwendungsmanager 1404 kann eine Kommunikationsschnittstelle zwischen den Zubehörvorrichtungen durch die Hardware-Transportschicht 1406 und durch die Anwendungsschicht 1402 bereitstellen. Dadurch kann die Kommunikation so abstrahiert werden, dass die Anwendung 1402 nicht die Details der Zubehörvorrichtung kennt, mit der sie kommuniziert, oder die Details des Anschlusses, mit dem die Zubehörvorrichtung gekoppelt ist. Der Anwendungsmanager 1404 kann ein Hintergrund-Prozess sein, der Teil des Betriebssystems der mobilen Rechenvorrichtung ist oder ein anderer Hintergrundprozess, der auf der mobilen Rechenvorrichtung ausgeführt wird. Der Anwendungsmanager 1404 kann Eingabe- und Ausgabeströme an eine Anwendung bereitstellen, die verwendet werden können, um mit einer Zubehörvorrichtung zu kommunizieren.
  • In einigen Ausführungsformen kann der Anwendungsmanager 1404 verbundene Zubehörvorrichtungen verwalten, die mit der mobilen Rechenvorrichtung gekoppelt sind, und auf die durch die Hardwaretransportschicht 1406 zugegriffen werden kann. Der Anwendungsmanager 1404 kann auch Zubehörvorrichtungs-Kommunikationsmerkmale von Anwendungen verwalten, die auf der mobilen Rechenvorrichtung ausgeführt werden oder installiert sind. In beiden Fällen kann der Anwendungsmanager 1404 Anwendungsprotokoll-Information speichern, die mit Zubehörvorrichtungen und/oder Anwendungen assoziiert sind. Die 15 bis 18 zeigen verschiedene Prozesse, die implementiert werden können, um Sitzungen zu etablieren und Kommunikation zwischen einer Anwendung und einer Zubehörvorrichtung bereitzustellen mithilfe des Anwendungsmanagers.
  • 15 ist ein Flussdiagramm des Prozesses 1500, der durch einen Anwendungsmanager auf einer mobilen Rechenvorrichtung ausgeführt werden kann, um eine Sitzung zu erstellen und zu verwalten, gemäß einigen Ausführungsformen der Erfindung. Der Prozess 1500 kann bei Block 1502 beginnen. Bei Block 1504 überwacht der Anwendungsmanager die Kommunikationsanschlüsse, um zu bestimmen, ob eine Zubehörvorrichtung verbunden wurde (d.h. in Kommunikation ist) mit der mobilen Rechenvorrichtung. In einigen Ausführungsformen kann der Anwendungsmanager den Hardware-Zustand eines physikalischen Verbinders überwachen, um zu bestimmen, ob eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt wird. In einigen Ausführungsformen kann der Anwendungsmanager einen Hinweis von einem WiFi- oder Bluetooth-Modul empfangen, der anzeigt, dass eine drahtlose Verbindung hergestellt worden ist. Unabhängig von dem Typ des Anschlusses kann der Anwendungsmanager bestimmen, ob ein Kommunikationskanal mit der Zubehörvorrichtung hergestellt worden ist. Bei Block 1506 fährt der Prozess 1500 fort zu überwachen, ob eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt wird.
  • Sobald ein Kommunikationskanal hergestellt worden ist, wie bei Block 1506 bestimmt, kann der Prozess 1500 dann Authentifizierungsprozesse bei Block 1508 ausführen. Die Authentifizierung kann durch das Senden verschiedener Mitteilungen zwischen der mobilen Rechenvorrichtung und der Zubehörvorrichtung fortfahren mithilfe des Zubehörvorrichtungs-Protokolls. Sobald die Zubehörvorrichtung authentifiziert ist, und ihr die Erlaubnis gegeben ist, mit der mobilen Rechenvorrichtung zu kommunizieren, kann die Zubehörvorrichtungsfähigkeitsinformation bei Block 1510 empfangen werden. Die Fähigkeitsinformation kann Information umfassen, die ein oder mehrere Anwendungsprotokolle anzeigt, mit welchen die Zubehörvorrichtung kompatibel ist. Die Anwendungsprotokolle können angezeigt werden mithilfe zum Beispiel einer umgekehrten-Domänen-Namenkonvention, wie oben beschrieben, oder irgendeiner anderen Konvention, um das Anwendungsprotokoll anzuzeigen. Einige oder alle der Informationen können im Speicher bei der mobilen Rechenvorrichtung bei Block 1512 gespeichert werden. Insbesondere können die Anwendungsprotokolle in einer Nachschlag-Tabelle gespeichert werden (zum Beispiel die Protokoll-Tabelle für verbundene Anwendungen 820 von 8), die Anwendungsprotokolle mit dem Kommunikationsanschluss assoziiert, an den die Zubehörvorrichtung gekoppelt ist.
  • Bei Block 1514 kann der Anwendungsmanager bestimmen, ob Kommunikation zwischen der Zubehörvorrichtung und der mobilen Rechenvorrichtung oder einer Anwendung erlaubt wird, die auf der mobilen Rechenvorrichtung ausgeführt wird, mithilfe eines Anwendungsprotokolls, das durch die Zubehörvorrichtung unterstützt wird. In einigen Ausführungsformen kann die Kommunikation erlaubt werden, wenn eine Anwendung (oder anderer Prozess) auf der mobilen Rechenvorrichtung ausgeführt wird, der ein Anwendungsprotokoll unterstützt, das durch die Zubehörvorrichtung unterstützt wird. Zum Beispiel kann der Anwendungsmanager Anwendungsprotokolle vergleichen, die durch Anwendungen unterstützt werden, die auf der mobilen Rechenvorrichtung ausgeführt werden, mit Anwendungsprotokollen, die in der Nachschlag-Tabelle gespeichert sind. Die Kommunikation zwischen der Zubehörvorrichtung und Anwendung kann mithilfe des Anwendungsprotokolls geschehen. In einigen Ausführungsformen kann eine Anwendungsprotokoll-Mitteilung getunnelt werden, oder in eine Zubehörvorrichtungsprotokoll-Mitteilung miteingebettet werden (zum Beispiel durch das Einhüllen der Anwendungsprotokoll-Mitteilung in eine Zubehörvorrichtungsprotokoll-Mitteilung). Solange wie die Zubehörvorrichtung nicht von der mobilen Rechenvorrichtung bei Block 1516 getrennt wird, und/oder die Ausführung der Anwendung bei Block 1518 beendet wird, kann die Kommunikation fortfahren. Ansonsten können Anwendungsprotokolle, in einigen Ausführungsformen, die in der Nachschlagtabelle gespeichert sind, bei Block 1520 entfernt werden, und der Prozess 1500 kann bei Block 1522 enden.
  • 16 ist ein anderes Flussdiagramm eines Prozesses, der durch einen Anwendungsmanager auf der mobilen Rechenvorrichtung ausgeführt werden kann, um die Kommunikation zwischen einer Zubehörvorrichtung und einer Anwendung zu koordinieren, die auf der mobilen Rechenvorrichtung ausgeführt wird, gemäß einigen Ausführungsformen der Erfindung. Der Prozess 1600 kann bei Block 1605 beginnen. Bei Block 1610 kann der Anwendungsmanager eine Anfrage für Zubehörvorrichtungsinformation von einer Anwendung erhalten, die auf der mobilen Rechenvorrichtung ausgeführt wird. Wenn eine Zubehörvorrichtung nicht bei Block 1615 angeschlossen ist, kann eine Mitteilung an die Anwendung gesendet werden, die dies anzeigt, und der Prozess 1600 kann zu Block 1610 zurückkehren und warten, bis eine Zubehörvorrichtung mit der MCD gekoppelt ist, oder der Prozess 1600 kann in einigen Ausführungsformen enden. Wenn eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt ist, dann kann der Anwendungsmanager die Anwendung mit Zubehörvorrichtungsinformation versorgen, die einen Hinweis einschließt, auf jedes Anwendungsprotokoll, das von jeder Zubehörvorrichtung unterstützt wird, die mit der mobilen Rechenvorrichtung bei Block 1620 gekoppelt ist. Der Anwendungsmanager kann eine beliebige oder alle der Anwendungsprotokoll-Informationen senden, was die Anwendungsprotokolle einschließt, die durch die Zubehörvorrichtung unterstützt werden, als Metadaten, zum Beispiel mithilfe der umgekehrten-Domänen-Namenkonvention. Jedes Anwendungsprotokoll kann mit einem Anwendungsprotokoll-Identifizier assoziiert sein. In einigen Ausführungsformen kann die Anwendung Anwendungsprotokolldaten an den Anwendungsmanager senden, anstelle des Abfragens von Zubehörvorrichtungsinformation. Und der Anwendungsmanager kann ein Anwendungsprotokoll von einer Nachschlagtabelle auswählen (zum Beispiel die Protokoll-Tabelle 820 für verbundene Anwendungen), das mit den Anwendungsprotokoll-Daten kompatibel ist, die von der Anwendung gesendet werden, falls eine existiert.
  • Bei Block 1625 kann die Anwendung eine Kommunikationssitzung für ein Anwendungsprotokoll öffnen und das Protokoll an den Anwendungsmanager anzeigen; zum Beispiel mithilfe des Anwendungsprotokolls-Identifizierers. Dadurch kann die Anwendung eine Anfrage tätigen, ohne irgendetwas über die Zubehörvorrichtung oder den Anschluss zu spezifizieren. In Antwort auf das Öffnen der Kommunikationssitzung kann der Anwendungsmanager einen Ausgabestrom und ein Eingabestrom bereitstellen, der mit der Sitzung assoziiert ist, an die Anwendung bei Block 1630. In einigen Ausführungsformen wird die Kommunikationssitzung für ein bestimmtes Protokoll geöffnet, das mit einer bestimmten Zubehörvorrichtung assoziiert ist. Auf diese Weise können mehrere Sitzungen erzeugt werden mithilfe mehrerer Protokolle zur Kommunikation mit einer oder mehreren Zubehörvorrichtungen.
  • Bei Block 1635 kann der Anwendungsmanager eine Anwendungsprotokoll-Mitteilung von der Anwendung empfangen mithilfe des Anwendungsprotokolls, das mit der Kommunikationssitzung assoziiert ist. Die Anwendungsprotokoll-Mitteilung kann an dem Anwendungsmanager empfangen werden mithilfe des Ausgabestroms, der bei Block 1630 bereitgestellt wird. Der Anwendungsmanager kann die Anwendungsprotokollnachricht einpacken mit einem Zubehörvorrichtungs-Protokoll-Einpacker (wrapper) bei Block 1640. In einigen Ausführungsformen kann dieses Einpacken das Einbetten der Anwendungsprotokoll-Mitteilung in einer Zubehörvorrichtungs-Protokoll-Mitteilung umfassen (zum Beispiel, wie in 5a, 5b und 5c gezeigt). In einigen Ausführungsformen kann dieses Einpacken die Anwendungsprotokoll-Mitteilung tunneln mithilfe des Zubehörvorrichtungs-Protokolls. Bei Block 1645 kann die eingepackte Anwendungsprotokoll-Mitteilung an die Zubehörvorrichtung gesendet werden. Der Prozess 1600 kann dann zu Block 1650 fortschreiten. Zurückkehrend zu Block 1635, wenn der Anwendungsmanager eine Anwendungsprotokoll-Mitteilung bei Block 1635 nicht empfängt, kann der Prozess 1600 dann zu Block 1650 fortschreiten. Bei Block 1650 kann der Anwendungsmanager eine Zubehörvorrichtungsprotokoll-Mitteilung von der Zubehörvorrichtung empfangen. Die Zubehörvorrichtungsprotokoll-Mitteilung kann eine Anwendungsprotokoll-Mitteilung umfassen, die in eine Zubehörvorrichtungsprotokoll-Mitteilung eingepackt ist. Bei Block 1655 kann der Zubehörvorrichtungsprotokoll-Einpacker von der Anwendungsprotokoll-Mitteilung abgestreift werden; und die Anwendungsprotokoll-Mitteilung kann an die Anwendung bei Block 1660 gesendet werden.
  • Wenn entweder die Zubehörvorrichtung von der mobilen Rechenvorrichtung 1670 getrennt wird oder die Anwendung aufhört auf der mobilen Rechenvorrichtung 1665 ausgeführt zu werden, dann kann der Prozess 600 bei Block 1675 enden. Ansonsten kehrt der Prozess zu Block 1635 zurück.
  • Ein Prozess, der an einer Zubehörvorrichtung ausgeführt werden kann, die mit einer mobilen Rechenvorrichtung gekoppelt ist, wird in 17 gezeigt. Der Prozess 1700 kann bei Block 1712 starten, wenn eine Zubehörvorrichtung mit der mobilen Rechenvorrichtung verbunden wird. Bei Block 1704 kann die Zubehörvorrichtung eine Mitteilung an die mobile Rechenvorrichtung senden, die die Anwendungsprotokolle anzeigt, die von der Zubehörvorrichtung unterstützt werden. Diese Mitteilung kann Teil der Zubehörvorrichtungsfähigkeiten sein, die mit Bezug auf Block 1510 von 15 beschrieben werden. Diese Mitteilung kann in Übereinstimmung mit dem Zubehörvorrichtungsprotokoll gesendet werden. Die Zubehörvorrichtung kann die Anwendungsprotokolle anzeigen, mithilfe einer umgekehrten-Domänen-Namenkonvention (zum Beispiel wie oben beschrieben). Wenn eine Kommunikationssitzung mit dem Anwendungsmanager hergestellt wurde, bei Block 1706, kann die mobile Rechenvorrichtung der Zubehörvorrichtung eine Mitteilung senden mithilfe des Zubehörvorrichtungs-Protokolls, die anzeigt, dass eine Kommunikationssitzung erzeugt wurde. Die Mitteilung, oder eine nachfolgende Mitteilung, kann das Anwendungsprotokoll anzeigen, das verwendet wurde, um die Sitzung zu erzeugen, wie in Block 1708 angezeigt. In einigen Ausführungsformen kann, bei Block 1708 eine Sitzungsidee kommuniziert werden, anstelle von oder zusätzlich zu dem Anwendungsprotokoll. Bei Block 1710 kann eine Empfangsbestätigungsmitteilung an die mobile Rechenvorrichtung von der Zubehörvorrichtung gesendet werden, mithilfe des Zubehörvorrichtungs-Protokolls vor dem Kommunizieren mit der mobilen Rechenvorrichtung mithilfe des Anwendungsprotokolls bei Block 1712. Der Prozess 1700 kann bei Block 1714 enden. Der Prozess 1700 kann zum Beispiel enden, wenn die Anwendung durch den Benutzer oder das Betriebssystem geschlossen wird, wenn die Anwendung oder das Betriebssystem die Sitzung schließt, und/oder wenn die Zubehörvorrichtung getrennt wird.
  • 18 ist ein Flussdiagramm eines Prozesses 1800, der durch eine Anwendung auf einer mobilen Rechenvorrichtung ausgeführt wird, um eine Kommunikation mit einer Zubehörvorrichtung zu öffnen, gemäß einigen Ausführungsformen der Erfindung. Der Prozess 1800 kann bei Block 1805 beginnen. Bei Block 1810 kann die Anwendung Information über die verbundenen Zubehörvorrichtungen von dem Anwendungsmanager abfragen. Der Anwendungsmanager kann antworten durch das Senden von Zubehörvorrichtungsinformation an die Anwendung, welche durch die Anwendung bei Block 1815 empfangen werden kann. Eine Antwort von dem Anwendungsmanager kann bei Block 1815 empfangen werden, die Zubehörvorrichtungsinformation umfasst. Die Zubehörvorrichtungsinformation kann Information umfassen, die Zubehörvorrichtungen anzeigt, die mit der mobilen Rechenvorrichtung gekoppelt sind, das (die) Anwendungsprotokoll(e), die mit der Zubehörvorrichtung kompatibel sind, und/oder Identifizierer, die mit dem (den) Anwendungsprotokoll(en) assoziiert sind. In einigen Ausführungsformen kann der Zubehörvorrichtungsmanager die Anwendung zu dem Speicherort leiten, wo eine Liste oder Tabelle der verbundenen Anwendungsprotokolle lokalisiert sein kann.
  • Bei Block 1820 kann die Anwendung (oder die mobile Vorrichtung) bestimmen, ob irgendeins der Anwendungsprotokolle oder ein einzelnes Anwendungsprotokoll, das mit der verbundenen Zubehörvorrichtung kompatibel ist, einem Anwendungsprotokoll entspricht, das mit der Anwendung kompatibel ist. Wenn eine Übereinstimmung gefunden wird, fahrt der Prozess 1800 mit Block 1835 fort. Wenn es keine Übereinstimmungen gibt, kann nach einer Anwendung gesucht werden, die mit einem Anwendungsprotokoll kompatibel ist, das mit der Zubehörvorrichtung assoziiert ist, im Internet (zum Beispiel bei einem Online-Anwendungsladen) oder auf der mobilen Rechenvorrichtung bei Block 1825. In einigen Ausführungsformen kann die Zubehörvorrichtungsinformation Information umfassen, die eine bevorzugte Anwendung zur Verwendung mit der Zubehörvorrichtung anzeigt. In einigen Ausführungsformen kann eine Anwendung heruntergeladen und ausgeführt werden, auf der mobilen Rechenvorrichtung bei Block 1830, und der Prozess 1800 kann zu Block 1835 fortschreiten. In einigen Ausführungsformen kann ein Anwendungs-Add-on oder Patch von einer Netzwerkstelle heruntergeladen werden (zum Beispiel ein Online-Anwendungsladen), das Kompatibilität mit einem Anwendungsprotokoll bereitstellt, das mit der Zubehörvorrichtung auch kompatibel ist. Wenn eine neue Anwendung nicht heruntergeladen wird und keine kompatiblen Anwendungen gefunden werden, dann kann der Prozess 1800 bei Block 1865 enden.
  • In einigen Ausführungsformen, bei Block 1820, in dem Fall, dass keine kompatiblen Anwendungen gefunden werden oder auf der mobilen Rechenvorrichtung verfügbar sind, kann eine von drei Optionen ausgeführt werden. Erstens, der Benutzer wird gefragt, ob er nach einer kompatiblen Anwendung suchen und/oder herunterladen möchte von einer Netzwerkstelle oder einem Anwendungsladen. Der Prozess kann dann in Übereinstimmung mit der Auswahl des Benutzers fortfahren. Zweitens, die mobile Rechenvorrichtung kann eine kompatible Anwendung suchen und/oder herunterladen, ohne den Benutzer zu fragen. Drittens, die mobile Rechenvorrichtung kann den Benutzer weder fragen noch nach einer kompatiblen Anwendung suchen. In einigen Ausführungsformen kann die Zubehörvorrichtung eine Mitteilung senden, die anzeigt, welche der obigen drei Optionen durch die mobile Rechenvorrichtung verfolgt werden sollte. Diese Mitteilung kann vor dem Block 1810 oder 815 gesendet werden. In anderen Ausführungsformen kann ein System, das die mobile Rechenvorrichtung einstellt, durch den Benutzer eingestellt werden, durch das Anzeigen, welche der obigen Optionen für alle Zubehörvorrichtungen verfolgt werden sollte.
  • Bei Block 1835 kann die Anwendung eine Kommunikationssitzung öffnen, die an ein kompatibles Anwendungsprotokoll gebunden ist. Sobald eine Sitzung erzeugt ist, kann der Anwendungsmanager Eingabe- und Ausgabeströme an die Anwendung bei Block 1840 bereitstellen. Bei Block 1845 kann die Anwendung mit der Zubehörvorrichtung kommunizieren durch das Schreiben von Daten, die gemäß dem Anwendungsprotokoll formatiert sind, in den Ausgabestrom und durch Lesen von Anwendungsprotokolldaten von dem Eingabestrom.
  • Solange wie die Zubehörvorrichtung mit der mobilen Rechenvorrichtung gekoppelt ist, wie bei Block 1850 bestimmt, beendet die Anwendung nicht die Sitzung bei Block 1855, die Anwendung kann mit der Zubehörvorrichtung kommunizieren mithilfe der Eingabe-/Ausgabeströme, die durch den Anwendungsmanager bereitgestellt werden. Ansonsten kann die Sitzung bei Block 1860 beendet werden, und der Prozess 1800 kann bei Block 1855 enden.
  • In einigen Ausführungsformen der Erfindung, wenn eine Zubehörvorrichtung sich mit einer mobilen Rechenvorrichtung verbindet, kann die Zubehörvorrichtung Zubehörvorrichtungsinformation senden, die Metadaten enthält, die eine bevorzugte Anwendung spezifizieren. Diese Information kann zum Beispiel, während einer Identifizierungsphase gesendet werden, Authentifizierungsphase oder Fähigkeiten-Phase. In einigen Ausführungsformen, wenn die bevorzugte Anwendung nicht ausgeführt wird und in dem Speicher bei der mobilen Rechenvorrichtung gespeichert ist, kann die Anwendung automatisch gestartet werden. In einigen Ausführungsformen kann die mobile Rechenvorrichtung eine Notiz an den Benutzer bereitstellen, die fragt, ob der Benutzer die bevorzugte Anwendung starten möchte, und die Anwendung starten, wenn der Benutzer bestätigend antwortet.
  • In einigen Ausführungsformen, wenn irgendeine der bevorzugten Anwendungen (d.h. durch die Zubehörvorrichtung bevorzugte Anwendung) auf die mobile Rechenvorrichtung geladen wird, kann die mobile Rechenvorrichtung ein Icon hervorheben, das auf eine oder jede der bevorzugten Anwendungen bezogen ist, auf einem Heimbildschirm der Benutzerschnittstelle. Damit kann ein Benutzer einfach kompatible Anwendung zur Verwendung mit der Zubehörvorrichtung lokalisieren. Zum Beispiel, beim Hervorheben des Anwendungs-Icons, kann die mobile Rechenvorrichtung die Farbe oder die Schattierung des Icons ändern, schütteln oder das Icon vibrieren, das Icon vergrößern, die Gestalt des Icons verändern, das Bild des Icons verändern, etc. Jeder Aspekt des Icons kann verändert werden. In anderen Ausführungsformen der Erfindung, wenn die bevorzugte Anwendung nicht auf der mobilen Rechenvorrichtung gespeichert oder geladen ist, kann die mobile Rechenvorrichtung zu einer Netzwerkstelle geleitet werden, wie ein Anwendungsladen, um die bevorzugte Anwendung herunterzuladen. In einigen Ausführungsformen können Metadaten gespeichert werden und die bevorzugte Anwendung kann von einer Netzwerkstelle zu einer späteren Zeit heruntergeladen werden. Zum Beispiel kann die Anwendung heruntergeladen werden, wenn ein Benutzer einen Webbrowser oder Anwendungsladen an eine bestimmte Netzwerkstelle führt, wo die bevorzugte Anwendung heruntergeladen werden kann. Als ein anderes Beispiel kann die Anwendung heruntergeladen werden, wenn der Benutzer das geeignete Niveau von drahtloser Verbindung hat, um die bevorzugte Anwendung herunterzuladen. In einigen Ausführungsformen kann die bevorzugte Anwendung heruntergeladen werden, wenn die mobile Rechenvorrichtung mit einem Host-Computer verbunden ist.
  • Weiterhin, in einigen Ausführungsformen, können die Metadaten, die von der Zubehörvorrichtung an die mobile Rechenvorrichtung gesendet werden, auch einen Hinweis umfassen, der spezifiziert, wie sich zu verhalten ist, wenn die bevorzugte Anwendung nicht mit einer Anwendung übereinstimmt, die auf die mobile Rechenvorrichtung geladen ist. Dieser Hinweis kann Teil eines Befehls oder einer Mitteilung sein. Zum Beispiel kann die Zubehörvorrichtung spezifizieren, dass die bevorzugte Anwendung mit einer Anwendung auf der mobilen Rechenvorrichtung übereinstimmen muss, und dass die bevorzugte Anwendung heruntergeladen werden muss, um mit der Zubehörvorrichtung zu interagieren. Als ein anderes Beispiel kann die Zubehörvorrichtung eine bevorzugte Anwendung spezifizieren, aber wird mit jeder Anwendung mit einem kompatiblen Anwendungsprotokoll interagieren. In diesem Fall kann die mobile Rechenvorrichtung die bevorzugte Anwendung herunterladen, dies ist aber nicht notwendig. Weiterhin kann die mobile Rechenvorrichtung in einigen Fällen eine Rückmeldung von dem Benutzer erfragen, ob die bevorzugte Anwendung herunterzuladen ist oder eine kompatible Anwendung zu verwenden ist. Als ein weiteres Beispiel kann die Zubehörvorrichtung spezifizieren, dass die mobile Rechenvorrichtung niemals eine Anwendung von einer Netzwerkstelle oder einem Anwendungsladen herunterladen soll oder danach suchen soll. Weiterhin kann die Zubehörvorrichtung in einigen Situationen spezifizieren, dass der Benutzer niemals zu fragen ist, ob die Anwendung herunterzuladen ist. In diesem Szenario kann die Zubehörvorrichtung betrieben werden, ohne Interaktion mit einer Anwendung auf der mobilen Rechenvorrichtung.
  • In einer weiteren Ausführungsform der Erfindung kann eine Zubehörvorrichtung mit einer mobilen Rechenvorrichtung gekoppelt werden, und eine erste Anwendung kann auf der mobilen Rechenvorrichtung ausgeführt werden. Die erste Anwendung kann mit einem Anwendungsprotokoll assoziiert sein, das mit der Zubehörvorrichtung kompatibel sein kann oder nicht, und die Anwendung kann mit der Zubehörvorrichtung kommunizieren oder nicht. Die Zubehörvorrichtung kann einen Befehl an die mobile Rechenvorrichtung senden, der eine zweite Anwendung zur Ausführung spezifiziert. Dies kann in Antwort auf eine Interaktion mit einem Benutzer initiiert werden; zum Beispiel durch das Drücken eines Knopfes auf der Zubehörvorrichtung durch den Benutzer. Die mobile Rechenvorrichtung kann dann die zweite Anwendung in Antwort auf das Empfangen des Befehls ausführen. In einigen Ausführungsformen kann die erste Anwendung parallel mit der zweiten Anwendung laufen. In einigen Ausführungsformen kann die erste Anwendung geschlossen werden und die zweite Anwendung geladen werden. In einigen Ausführungsformen kann der Befehl die Anwendung durch eine serielle Nummer und/oder einen Namen anzeigen. In einigen Ausführungsformen kann der Befehl eine Netzwerkstelle spezifizieren, wo die Anwendung heruntergeladen und dann ausgeführt werden kann. Weiterhin kann in einigen Ausführungsformen die Zubehörvorrichtung anfragen, dass die zweite Anwendung ausgeführt wird, wenn keine Anwendung auf der mobilen Rechenvorrichtung ausgeführt wird, oder wenn das Betriebssystem auf der mobilen Rechenvorrichtung ausgeführt wird.
  • Obwohl diese Erfindung mit Bezug auf spezifische Ausführungsformen beschrieben worden ist, wird der Fachmann verstehen, dass verschiedene Modifikationen möglich sind. Zum Beispiel ist ein Anschluss in bestimmten hierin beschriebenen Ausführungsformen höchstens mit einem Anwendungsprotokoll zu einem Zeitpunkt assoziiert. In anderen Ausführungsformen können Kommunikationen mithilfe von verschiedenen Anwendungsprotokollen auf demselben Anschluss gemultiplext werden, und/oder Kommunikationen mit verschiedenen Anwendungen mithilfe desselben Anwendungsprotokolls können auf demselben Anschluss gemultiplext werden. In solchen Ausführungsformen können Protokollbefehle für mobile Rechenvorrichtungen, die zum Tunneln von Zubehörvorrichtungsprotokoll-Mitteilungen (in jeder Richtung) verwendet werden, einen Sitzungs- und/oder Anwendungsprotokoll-Identifizierer umfassen, um die richtige Handhabung der Zubehörvorrichtungsprotokoll-Mitteilungen zu ermöglichen. In einer solchen Ausführungsform, wenn eine Anwendung eine Sitzung erstellt, die mit einer bestimmten Zubehörvorrichtung und einem bestimmten Anwendungsprotokoll assoziiert ist, kann ein Identifizierer dieser Sitzung an die Zubehörvorrichtung bereitgestellt werden, mithilfe eines Befehls des Zubehörvorrichtungs-Kommunikationsprotokolls. Nachfolgend können Pakete des mobilen Rechenvorrichtungsprotokolls (zum Beispiel Tunnelbefehlspakete), die mit der Sitzung assoziiert sind, den Sitzungs-Identifizierer umfassen. Damit kann die Zubehörvorrichtung irgendwelche Zubehörvorrichtungsprotokoll-Mitteilungen, die sie senden oder empfangen kann, mit einer bestimmten Sitzung assoziieren, selbst wenn mehrere Sitzungen gleichzeitig im Vorgang sind und selbst wenn Kommunikationen, die sich auf verschiedene Sitzungen beziehen, auf denselben Anschluss gemultiplext werden. Die Zubehörvorrichtung kann dann separate Zustandsinformation für mehrere Sitzungen vorhalten, selbst wenn die Kommunikationen für mehrere Sitzungen auf einen einzelnen Anschluss gemultiplext werden. Ausführungsformen der Erfindung sind beschrieben worden, die ein Beispiel bereitstellen, wie ein Anwendungs-Kommunikationsprotokoll zur Kommunikation zwischen einer Anwendung und einer Zubehörvorrichtung verwendet werden können. In vielen Fällen kann die mobile Rechenvorrichtung unbeeindruckt bezüglich des Anwendungs-Kommunikationsprotokolls sein. Einige Ausführungsformen beschreiben Schemen, in denen die Zubehörvorrichtung und/oder die Anwendung Informationen kommunizieren, die das Anwendungs-Kommunikationsprotokoll spezifizieren. Verschiedene andere Techniken können verwendet werden, sodass die Zubehörvorrichtung und/oder die Anwendung wissen, welches Anwendungsprotokoll zu verwenden ist. Zum Beispiel kann die mobile Rechenvorrichtung eine Tabelle umfassen mit allen bekannten Anwendungsprotokollen. Die Zubehörvorrichtung und/oder Anwendung kann das Anwendungsprotokoll spezifizieren durch das Zeigen auf den Tabelleneintrag. Als ein anderes Beispiel kann die Anwendung Anwendungsprotokoll-Information von der Zubehörvorrichtung anfragen mithilfe irgendeiner Anzahl von Kommunikationsprotokollen. Als ein anderes Beispiel kann die Anwendung der Zubehörvorrichtung irgendwelche Protokolle spezifizieren, die durch die Anwendung unterstützt werden, und die Zubehörvorrichtung kann das zu verwendende Anwendungsprotokoll wählen. Als ein weiteres Beispiel kann eine Bit-Maske verwendet werden, wo vorbestimmte unterschiedliche Bit-Masken verwendet werden können, um verschiedene Anwendungsprotokolle zu spezifizieren. Verschiedene andere Mittel zum Identifizieren des Anwendungsprotokolls können auch verwendet werden.
  • Verschiedene andere Ausführungsformen werden auch offenbart. Zum Beispiel, ein Verfahren zum Kommunizieren zwischen einer Zubehörvorrichtung und einer Anwendung, die auf einer mobilen Rechenvorrichtung ausgeführt wird, wird offenbart, das die Zubehörvorrichtung betreibt. Das Verfahren kann ein Kommunizieren von Information umfassen, die zumindest ein Anwendungs-Kommunikationsprotokoll zu der mobilen Vorrichtung spezifiziert mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls; und/oder Kommunizieren mit einer Anwendung, die auf der mobilen Vorrichtung ausgeführt wird, mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann das Verfahren auch ein Kommunizieren mit einem Betriebssystem umfassen, das auf der mobilen Rechenvorrichtung ausgeführt wird, mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls.
  • In einigen Ausführungsformen kann ein Anwendungskommunikationsprotokoll-Paket innerhalb eines Zubehörvorrichtungs-Kommunikationsprotokoll-Pakets getunnelt werden. In einigen Ausführungsformen kann das Verfahren ein Empfangen von Anwendungs-Kommunikationsprotokoll-Befehlen von der Anwendung umfassen, die auf der mobilen Kommunikationsvorrichtung ausgeführt wird, und ein Ändern des Zustands der Zubehörvorrichtung in Antwort darauf. In einigen Ausführungsformen kann das Verfahren ein Senden von Daten an die Anwendung umfassen, die auf der mobilen Rechenvorrichtung ausgeführt wird, in Antwort auf einen Befehl von einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, wobei die Daten gesendet werden können mithilfe des Anwendungs-Kommunikationsprotokolls und der Befehl kann mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls empfangen werden. In einigen Ausführungsformen kann die Information, die zumindest ein Anwendungs-Kommunikationsprotokoll spezifiziert, in einer umgekehrten Domänen-Namenkonvention bereitgestellt werden. In einigen Ausführungsformen kann das Verfahren ein Steuern einer Funktionalität der mobilen Rechenvorrichtung durch die Zubehörvorrichtung umfassen mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls.
  • Eine Zubehörvorrichtung wird offenbart, die ein Gehäuse umfassen kann; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist und dazu konfiguriert ist Befehle und Daten mit einer mobilen Rechenvorrichtung auszutauschen, wobei die Kommunikationsschnittstelle zumindest einen Anschluss aufweist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und kommunikativ mit der Kommunikationsschnittstelle gekoppelt ist. Die Steuerlogik kann dazu konfiguriert sein mit einem Betriebssystem zu kommunizieren, das auf der mobilen Rechenvorrichtung ausgeführt wird durch die Kommunikationsschnittstelle mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. Die Steuerlogik kann dazu konfiguriert sein mit einer Anwendung zu kommunizieren, die auf der mobilen Rechenvorrichtung ausgeführt wird durch die Kommunikationsschnittstelle mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls.
  • In einigen Ausführungsformen kann die Steuerlogik auch dazu konfiguriert sein Information zu kommunizieren, die das Anwendungs-Kommunikationsprotokoll spezifiziert mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann die Steuerlogik auch dazu konfiguriert sein Information, die das Anwendungs-Kommunikationsprotokoll spezifiziert mithilfe eines Standard-Kommunikationsprotokolls, das anders ist als das Zubehörvorrichtungs-Kommunikationsprotokoll. In einigen Ausführungsformen kann die Anwendungs-Kommunikationsprotokoll-Information zu der mobilen Rechenvorrichtung kommuniziert werden mithilfe einer umgekehrten Domänen-Namenkonvention. In einigen Ausführungsformen kann die Kommunikationsschnittstelle eine drahtlose Kommunikationsschnittstelle umfassen.
  • Ein Verfahren zum Kommunizieren zwischen einer Zubehörvorrichtung und einer Anwendung, die auf einer mobilen Rechenvorrichtung ausgeführt wird, wobei das Verfahren auf der Zubehörvorrichtung betrieben wird. Das Verfahren kann ein Kommunizieren von Zubehörvorrichtungsinformation an die mobilen Rechenvorrichtung umfassen mithilfe eines Zubehörvorrichtungsinformations-Kommunikationsprotokolls; Empfangen von zumindest einem Sitzungs-Identifizierers, eines Anwendungsprotokoll-Identifizierers oder eines Befehls zum Öffnen einer Verbindung von einer mobilen Rechenvorrichtung; und/oder danach Kommunizieren mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, mithilfe eines Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann das Anwendungs-Kommunikationsprotokoll ein Protokoll sein, das mit der Anwendungsprotokoll-Zeichenfolge assoziiert ist, der zu der mobilen Rechenvorrichtung kommuniziert wurde. In einigen Ausführungsformen kann die Zubehörvorrichtungsinformation zumindest eines von einer Anwendungsprotokoll-Zeichenfolge, einem Anwendungsprotokoll-Index, der der Anwendungsprotokoll-Zeichenfolge entspricht, bevorzugte Anwendungsinformation oder Zubehörvorrichtungs-Kommunikationsprotokoll-Information umfassen. In einigen Ausführungsformen spezifiziert die bevorzugte Anwendungsinformation eine Anwendung, welche die Kommunikation unterstützt mithilfe eines Anwendungs-Kommunikationsprotokolls, das mit den Anwendungsprotokoll-Zeichenfolgen assoziiert ist, die zu der mobilen Rechenvorrichtung kommuniziert werden. In einigen Ausführungsformen kann das Kommunizieren das Steuern der Funktionalität der mobilen Rechenvorrichtung durch die Zubehörvorrichtung umfassen. In einigen Ausführungsformen kann die Anwendungs-Kommunikationsprotokoll-Zeichenkette in einer umgekehrten-Domänen-Namenkonvention sein.
  • Eine andere Zubehörvorrichtung ist auch offenbart. Die Zubehörvorrichtung kann ein Gehäuse umfassen; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist und/oder dazu konfiguriert ist, kommunikativ mit einer mobilen Rechenvorrichtung zu koppeln; Zubehörvorrichtungs-Hardware; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und kommunikativ mit der Kommunikationsschnittstelle und der zubehörvorrichtungs-spezifischen Hardware gekoppelt ist. Die Steuerlogik kann dazu konfiguriert sein Anwendungs-Kommunikationsprotokoll-Informationen an eine mobile Rechenvorrichtung zu kommunizieren durch die Kommunikationsschnittstelle mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. Die Steuerlogik kann dazu konfiguriert sein eine Kommunikationssitzung mit einer Anwendung herzustellen, die auf der mobilen Rechenvorrichtung ausgeführt wird, durch die Kommunikationsschnittstelle, wobei die Kommunikationssitzung das Anwendungskommunikationsprotokoll verwendet, um zwischen der Zubehörvorrichtung und der Anwendung zu kommunizieren, die auf der mobilen Rechenvorrichtung ausgeführt wird. Die Steuerlogik kann dazu konfiguriert sein Daten von der Anwendung zu empfangen, die auf der mobilen Rechenvorrichtung ausgeführt wird, mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. Die Steuerlogik kann dazu konfiguriert sein den Betrieb der Zubehörvorrichtungs-Hardware zu steuern, in Antwort auf die Daten, die von der Anwendung empfangen werden, die auf der mobilen Rechenvorrichtung ausgeführt wird.
  • In einigen Ausführungsformen kann die Kommunikationsschnittstelle eine drahtlose Kommunikationsschnittstelle umfassen. In einigen Ausführungsformen kann die Steuerlogik weiter dazu konfiguriert sein Hardwaredaten von der Zubehörvorrichtungshardware zu empfangen und/oder die Hardwaredaten zu der Anwendung zu senden, die auf der mobilen Rechenvorrichtung ausgeführt wird mithilfe des Anwendungskommunikationsprotokolls. In einigen Ausführungsformen kann die Zubehörvorrichtungshardware umfassen, und die Hardwaredaten können umfassen Daten, die mithilfe des Sensors gesammelt wurden. In einigen Ausführungsformen kann die Zubehörvorrichtungshardware eine Hardware-Schnittstelle mit einer elektrischen Vorrichtung umfassen und die Hardwaredaten können Daten umfassen, die von der elektrischen Vorrichtung empfangen werden durch die Hardware-Schnittstelle. In einigen Ausführungsformen kann die Zubehörvorrichtungshardware eine Hardware-Schnittstelle mit einer elektrischen Vorrichtung umfassen, und die Daten von der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt werden, umfassen Daten zum Steuern der elektrischen Vorrichtung mithilfe einer Hardware-Schnittstelle. In einigen Ausführungsformen kann die Zubehörvorrichtungshardware eine Anzeige umfassen, und die Daten von der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt werden, können anzeigbare Information umfassen.
  • Ein anderes Verfahren zum Kommunizieren zwischen einer Zubehörvorrichtung und einer Anwendung, die auf einer mobilen Vorrichtung ausgeführt wird, wird offenbart. Dieses Verfahren kann auf der mobilen Vorrichtung arbeiten. Das Verfahren kann ein Identifizieren einer Zubehörvorrichtung umfassen, wobei die Identifikation ein Zubehörvorrichtungs-Kommunikationsprotokoll verwendet; Empfangen von Information von der Zubehörvorrichtung, die ein Anwendungs-Kommunikationsprotokoll spezifiziert, wobei die Information empfangen wird mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls; Ausführen einer Anwendung auf der mobilen Rechenvorrichtung; und/oder Kommunizieren mit der Zubehörvorrichtung von der Anwendung mithilfe des Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann das Verfahren auch ein Bestimmen umfassen, ob ein Anwendungsprotokoll in einer Protokoll-Tabelle auf der mobilen Rechenvorrichtung gelistet werden kann, wobei die Protokoll-Tabelle Protokolle umfassen kann, die von Anwendungen auf der mobilen Rechenvorrichtung unterstützt werden.
  • In einigen Ausführungsformen kann das Verfahren ein Herunterladen einer Anwendung umfassen, die das Anwendungsprotokoll unterstützt, indem Fall, dass die Protokoll-Tabelle kein Anwendungsprotokoll umfasst. In einigen Ausführungsformen spezifiziert die Information von der Zubehörvorrichtung, die ein Anwendungsprotokoll spezifiziert, das eine Anwendungs-Kommunikationsprotokoll mithilfe der umgekehrten Domänen-Namenkonvention. In einigen Ausführungsformen kann die Information von der Zubehörvorrichtung, die das Anwendungs-Kommunikationsprotokoll spezifiziert, auch einen Identifizierer umfassen, der mit dem Anwendungs-Kommunikationsprotokoll assoziiert ist. In einigen Ausführungsformen kann die Kommunikation mit der Zubehörvorrichtung mithilfe des Anwendungs-Kommunikationsprotokolls weiter ein Einkapseln von Anwendungs-Kommunikationsprotokoll-Paketen in Zubehörvorrichtungs-Kommunikationsprotokoll-Pakete umfassen. In einigen Ausführungsformen kann das Anwendungs-Kommunikationsprotokoll Befehle umfassen, die innerhalb des Zubehörvorrichtungs-Kommunikationsprotokolls umfasst sind.
  • Eine mobile Rechenvorrichtung wird auch offenbart, die umfassen kann ein Gehäuse; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet sein kann und/oder dazu konfiguriert sein kann Befehle und Daten mit einer Zubehörvorrichtung auszutauschen, wobei die Kommunikationsschnittstelle zumindest einen Anschluss hat; Speicher, der innerhalb des Gehäuses angeordnet ist, und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. Die Steuerlogik kann dazu konfiguriert sein einen Hinweis zu empfangen, der ein Anwendungs-Kommunikationsprotokoll spezifiziert, von einer Zubehörvorrichtung durch die Kommunikationsschnittstelle mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. Die Steuerlogik kann dazu konfiguriert sein eine Anwendung auszuführen, die in dem Speicher gespeichert ist. Die Steuerlogik kann dazu konfiguriert sein eine Kommunikation zwischen der Zubehörvorrichtung und der Anwendung herzustellen, mithilfe des Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann zumindest ein Anschluss ein drahtgebundener oder drahtloser Anschluss sein. In einigen Ausführungsformen kann die Steuerlogik weiter dazu konfiguriert sein zu bestimmen, ob ein Anwendungs-Kommunikationsprotokoll, das durch die Anwendung spezifiziert ist, mit einem Anwendungs-Kommunikationsprotokoll assoziiert werden kann, das in dem Speicher gespeichert ist. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein Anwendungs-Kommunikationsprotokolldaten an die Zubehörvorrichtung zu tunneln mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann die Steuerlogik weiter dazu konfiguriert sein ein Anwendungs-Kommunikationsprotokoll-Paket in ein Zubehörvorrichtungs-Kommunikationsprotokoll-Paket einzukapseln und das Zubehörvorrichtungs-Kommunikationsprotokoll-Paket an den Anschluss bereitzustellen.
  • Eine andere mobile Rechenvorrichtung wird offenbart, die ein Gehäuse umfassen kann; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet sein kann und/oder dazu konfiguriert sein kann Befehle und Daten mit einer Zubehörvorrichtung auszutauschen; Speicher, der innerhalb des Gehäuses angeordnet ist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. Die Steuerlogik kann dazu konfiguriert sein Anwendungs-Kommunikationsprotokoll-Information von einer Zubehörvorrichtung zu empfangen durch die Kommunikationsschnittstelle, wobei die Anwendungs-Kommunikationsprotokoll-Information eine Identifikation eines Anwendungs-Kommunikationsprotokolls umfassen kann, das von der Zubehörvorrichtung unterstützt wird und/oder wobei die Anwendungs-Kommunikationsprotokoll-Information von der Zubehörvorrichtung empfangen werden kann mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. Die Steuerlogik kann dazu konfiguriert sein eingekapselte Pakete zu erzeugen durch das Einkapseln von Anwendungs-Kommunikationsprotokoll-Paketen innerhalb von Zubehörvorrichtungs-Kommunikationsprotokoll-Pakten. Die Steuerlogik kann dazu konfiguriert sein die eingekapselten Pakete an die Zubehörvorrichtung zu senden über die Kommunikationsschnittstelle. In einigen Ausführungsformen kann die Kommunikationsschnittstelle eine drahtlose Kommunikationsschnittstelle sein. In einigen Ausführungsformen kann die mobile Rechenvorrichtung eine Protokoll-Tabelle umfassen, die in dem Speicher gespeichert ist, wobei die Protokoll-Tabelle eine Liste von Anwendungsprotokollen umfassen kann, die von den Anwendungen unterstützt werden, die auf der mobilen Rechenvorrichtung installiert sind.
  • Ein computerlesbares Medium wird offenbart, dass Programmanweisungen umfassen kann, die, wenn sie durch einen Prozessor auf einer mobilen Rechenvorrichtung ausführt werden, den Prozessor veranlassen ein Verfahren auszuführen. Dieses Verfahren kann ein Empfangen von Anwendungs-Kommunikationsprotokoll-Information von einer Zubehörvorrichtung umfassen mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls, Empfangen von Daten von der Zubehörvorrichtung mithilfe des Anwendungs-Kommunikationsprotokolls und/oder Manipulieren der Daten, die von der Zubehörvorrichtung empfangen werden. In einigen Ausführungsformen kann das Verfahren auch umfassen, anzeigen zumindest eines Teils der manipulierten Daten auf eine Anzeige der mobilen Rechenvorrichtung. In einigen Ausführungsformen kann das Verfahren auch das Steuern der Funktionalität der Zubehörvorrichtung umfassen durch das Senden von Befehlen an die Zubehörvorrichtung mithilfe des Anwendungs-Kommunikationsprotokolls.
  • Ein anderes Verfahren wird bereitgestellt zum Herstellen einer Kommunikationssitzung zwischen einer Zubehörvorrichtung und einer Anwendung, die auf einer mobilen Vorrichtung installiert ist. Das Verfahren kann auf der mobilen Vorrichtung betrieben werden und kann ein Vergleichen einer Liste von unterstützten Anwendungsprotokollen mit einer Liste von gesammelten Anwendungsprotokollen umfassen; in dem Fall, dass eine Übereinstimmung zwischen einem Anwendungsprotokoll in der unterstützten Anwendungsprotokoll-Liste und einem Anwendungsprotokoll in der gesammelten Anwendungsprotokoll-Liste gefunden wird, Kommunizieren von Information, die das übereinstimmende Anwendungsprotokoll spezifiziert, an die Zubehörvorrichtung; und/oder in dem Fall, dass keine Übereinstimmung zwischen einem Anwendungsprotokoll in der unterstützten Anwendungsprotokoll-Liste und einem Anwendungsprotokoll in der gesammelten Anwendungsprotokoll-Liste gefunden wird, Leiten eines Benutzers der mobilen Vorrichtung zu einem Anwendungsladen, wo eine Anwendung, die zumindest einem Anwendungsprotokoll innerhalb der gesammelten Anwendungsprotokoll-Liste assoziiert ist, verfügbar ist, herunterzuladen ist. In einigen Ausführungsformen kann die Liste von unterstützten Anwendungsprotokollen ein oder mehrere Kommunikationsprotokolle umfassen, die durch die Anwendung unterstützt werden und/oder die Liste von gesammelten Anwendungsprotokollen kann ein oder mehr Kommunikationsprotokolle umfassen, die von einer oder mehreren Zubehörvorrichtungen empfangen wurden, die mit der mobilen Rechenvorrichtung gekoppelt sind. In einigen Ausführungsformen, in dem Fall, dass eine Übereinstimmung zwischen einem Anwendungsprotokoll in der unterstützten Anwendungsprotokoll-Liste und einem Anwendungsprotokoll in der gesammelten Anwendungsprotokoll-Liste gefunden wird, anfragen einer Kommunikationssitzung mit der Zubehörvorrichtung. In einigen Ausführungsformen, in dem Fall, dass die Kommunikationsinformation, die das übereinstimmende Anwendungsprotokoll spezifiziert, einen Sitzungs-Identifizierer umfassen kann. In einigen Ausführungsformen, wenn eine Übereinstimmung zwischen einem Anwendungsprotokoll in der unterstützten Anwendungsprotokoll-Liste und einen Anwendungsprotokoll in der gesammelten Anwendungsprotokoll-Liste gefunden wird, kommunizieren mit der Zubehörvorrichtung mithilfe des übereinstimmenden Anwendungsprotokolls. In einigen Ausführungsformen kann der Anwendungsladen ein internetbasierter Anwendungsladen sein.
  • Ein computerlesbares Medium wird bereitgestellt, das Programmanweisungen umfasst, die, wenn sie durch einen Prozessor auf einer mobilen Vorrichtung ausgeführt werden, den Prozessor dazu veranlassen ein Verfahren auszuführen. Das Verfahren kann ein Bestimmen umfassen, ob ein unterstützter Anwendungsprotokoll-Identifizierer in einer unterstützten Protokoll-Liste mit einem Anwendungsprotokoll-Identifizier in einer gesammelten Protokoll-Liste übereinstimmt; und/oder in Antwort auf das Finden einer Übereinstimmung zwischen dem unterstützten Anwendungsprotokoll und einem Anwendungsprotokoll in der Liste von gesammelten Anwendungsprotokollen, Ausführen eines Unterverfahrens. Das Unterverfahren umfasst Initiieren einer Kommunikationssitzung zwischen der mobilen Rechenvorrichtung und einer Zubehörvorrichtung, die mit der mobilen Rechenvorrichtung gekoppelt ist; Kommunizieren an die Zubehörvorrichtung von Information, die das unterstützte Anwendungsprotokoll spezifiziert; und/oder Kommunizieren mit der Zubehörvorrichtung von der mobilen Rechenvorrichtung mithilfe des unterstützten Anwendungsprotokolls. In einigen Ausführungsformen kann die gesammelte-Protokoll-Liste ein oder mehrere Kommunikationsprotokoll-Identifizierer umfassen, die Anwendungsprotokolle repräsentieren, die mit der Zubehörvorrichtung kompatibel sind, und/oder die unterstützte Protokoll-Liste kann ein oder mehrere Kommunikationsprotokoll-Identifizierer umfassen, die Anwendungsprotokolle repräsentieren, die mit einer Anwendung kompatibel sind, die auf der mobilen Rechenvorrichtung installiert ist. In einigen Ausführungsformen kann das unterstützte Anwendungsprotokoll sich von einem Zubehörvorrichtungs-Kommunikationsprotokoll unterscheiden. In einigen Ausführungsformen können die Programmanweisungen dem Prozessor weiter veranlassen eine Anwendung herunterzuladen, die ein Protokoll unterstützt, das mit dem Anwendungsprotokoll in der gesammelten Protokoll-Liste übereinstimmt, in Antwort auf das Nichtfinden einer Übereinstimmung zwischen dem unterstützten Anwendungsprotokolls und einem Anwendungsprotokoll in der Liste von gesammelten Anwendungsprotokollen.
  • Ein anderes Verfahren, das auf einer mobilen Rechenvorrichtung betrieben wird, wird bereitgestellt, das umfassen kann: Empfangen eines Anwendungsprotokoll-Identifizierers von einer Zubehörvorrichtung, wobei der empfangene Anwendungsprotokoll-Identifizierer einen Datenstrang umfassen kann in einem umgekehrten-Domänen-Namenformat und mit einem Anwendungs-Kommunikationsprotokoll assoziiert sein kann; und/oder Bestimmen ob der empfangene Anwendungsprotokoll-Identifizierer mit einem Anwendungsprotokoll-Identifizierer übereinstimmt, der innerhalb einer Protokoll-Tabelle gelistet ist, die in einem Speicher auf der mobilen Rechenvorrichtung gespeichert ist, danach Kommunizieren mit der Zubehörvorrichtung mithilfe des Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann die Protokoll-Tabelle ein oder mehrere Anwendungsprotokoll-Identifizierer umfassen, die mit Anwendungen assoziiert sind, die auf der mobilen Rechenvorrichtung ausführbar sind. In einigen Ausführungsformen kann das Verfahren auch ein Ausführen der Anwendung umfassen, die mit einem Anwendungsprotokoll-Identifizierer in der Protokoll-Tabelle assoziiert ist, in dem Fall, dass der empfangene Protokoll-Identifizierer mit einem Anwendungsprotokoll-Identifizierer in der Protokoll-Tabelle übereinstimmt. In einigen Ausführungsformen kann das Verfahren auch das Herunterladen eines Anwendungsprotokolls mit einem assoziierten Anwendungsprotokoll-Identifizierer umfassen, der mit dem empfangenen Anwendungsprotokoll-Identifizierer übereinstimmt.
  • Eine mobile Rechenvorrichtung wird auch offenbart, die ein Gehäuse umfasst; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist, und/oder dazu konfiguriert ist, Befehle und Daten mit einer Zubehörvorrichtung auszutauschen; Speicher, der innerhalb des Gehäuses angeordnet ist, wobei der Speicher dazu konfiguriert ist eine unterstützte Anwendungsprotokoll-Liste zu führen; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein Information, die ein Anwendungs-Kommunikationsprotokoll identifiziert, das von der Zubehörvorrichtung unterstützt wird, von der Zubehörvorrichtung zu empfangen durch die Kommunikationsschnittstelle. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein zu bestimmen, ob ein Anwendungs-Kommunikationsprotokoll, das durch die Zubehörvorrichtung unterstützt wird, einem Protokoll entspricht, das in einer Liste von unterstützten Anwendungsprotokollen identifiziert wird, wobei die Liste von unterstützten Anwendungsprotokollen ein oder mehrere Protokolle umfasst, die durch die Anwendung unterstützt werden, die auf der mobilen Vorrichtung installiert sind. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein Information zu kommunizieren, die das übereinstimmende Anwendungsprotokoll spezifiziert, an die Zubehörvorrichtung mithilfe eines mobilen Rechenvorrichtungsprotokolls, in dem Fall, dass eine Entsprechung zwischen dem Anwendungsprotokoll, das durch die Zubehörvorrichtung unterstützt wird und einem Protokoll, das in einer Liste von unterstützten Anwendungsprotokoll identifiziert wird, bestimmt wird. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein mit der Zubehörvorrichtung zu kommunizieren mithilfe des übereinstimmenden Anwendungsprotokolls.
  • Ein anderes Verfahren wird auch bereitgestellt, dass ein Empfangen von Anwendungsprotokoll-Information von einer Zubehörvorrichtung umfasst mithilfe eines mobilen Rechenvorrichtungsprotokolls, wobei die Anwendungsprotokoll-Information zumindest ein Anwendungsprotokoll identifiziert, das mit der Zubehörvorrichtung kompatibel ist. Das Verfahren umfasst auch ein Bestimmen, ob das Anwendungsprotokoll mit einem Protokoll übereinstimmt, das innerhalb einer unterstützten Protokoll-Liste gelistet ist, wobei die unterstützte Protokoll-Liste ein oder mehrere Kommunikationsprotokolle umfassen kann, die zumindest durch eine Anwendung unterstützt werden, die auf der mobilen Vorrichtung installiert ist, und/oder wobei jedes Protokoll, das innerhalb der unterstützten Protokoll-Liste aufgelistet ist, mit einer Anwendung assoziiert sein kann. Und in dem Fall, dass ein Anwendungsprotokoll mit einem Protokoll in der unterstützten Protokoll-Liste übereinstimmt, kann das Verfahren weiter umfassen ein Ausführen der Anwendung, die mit dem übereinstimmenden Protokoll in der unterstützten Liste assoziiert ist. In einigen Ausführungsformen, in dem Fall, dass ein Anwendungsprotokoll nicht mit einem Protokoll in der unterstützten Protokoll-Liste übereinstimmt, Herunterladen einer Anwendung, die mit dem Protokoll in der unterstützten Protokoll-Liste assoziiert ist, von dem Internet.
  • Ein anderes Verfahren wird bereitgestellt, das das Empfangen von Information an einer mobilen Rechenvorrichtung von einer Zubehörvorrichtung umfasst, wobei die Information eine Identifikation eines Anwendungsprotokolls umfassen kann; Vergleichen des Anwendungsprotokolls mit Protokollen, die in einer unterstützten Protokoll-Tabelle gelistet sind, die in einem Speicher auf der mobilen Rechenvorrichtung gespeichert ist, wobei die unterstützte Protokoll-Tabelle zumindest ein Anwendungsprotokoll umfassen kann, das mit einer Anwendung assoziiert ist; und/oder in dem Fall, dass das Anwendungsprotokoll mit einem Protokoll übereinstimmt, das in der unterstützten Protokoll-Tabelle gelistet ist, Ausführen der Anwendung, die mit dem Anwendungsprotokoll auf der mobilen Rechenvorrichtung assoziiert ist. In einigen Ausführungsformen kann die Information eine Identifikation einer bevorzugten Anwendung umfassen, die das Anwendungsprotokoll unterstützt und/oder in dem Fall, dass das Anwendungsprotokoll nicht mit einem Protokoll übereinstimmt, das in der unterstützten Protokoll-Tabelle gelistet ist, Herunterladen der bevorzugten Anwendung. In einigen Ausführungsformen identifiziert die Information, die ein Anwendungsprotokoll identifiziert, das Anwendungsprotokoll mithilfe eines umgekehrten Domänen-Namenformat. In einigen Ausführungsformen kann das Verfahren auch ein Kommunizieren mit der Zubehörvorrichtung umfassen mithilfe des Anwendungsprotokolls. In einigen Ausführungsformen kann die Information, die ein Anwendungsprotokoll identifiziert, formatiert werden, gemäß einem mobilen Rechenvorrichtungsprotokoll.
  • Eine mobile Rechenvorrichtung wird bereitgestellt, die ein Gehäuse umfasst; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist und/oder dazu konfiguriert ist Befehle und Daten mit einer Zubehörvorrichtung auszutauschen; Speicher, der innerhalb des Gehäuses angeordnet ist, wobei der Speicher eine unterstützte Anwendungsprotokoll-Liste umfasst, die Protokolle auflistet, die mit einer Anwendung kompatibel sind, wobei ein unterstütztes Anwendungsprotokoll ein Anwendungsprotokoll umfassen kann, das durch eine Anwendung unterstützt wird, die auf einer mobilen Rechenvorrichtung installiert ist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. Wobei die Steuerlogik dazu konfiguriert ist eine Mitteilung von einer Zubehörvorrichtung zu empfangen, die ein Anwendungsprotokoll identifiziert, das durch die Zubehörvorrichtung unterstützt wird; Bestimmen, ob das Anwendungsprotokoll mit einem unterstützten Anwendungsprotokoll übereinstimmt, das innerhalb der unterstützten Anwendungsprotokoll-Liste gespeichert ist; und/oder in dem Fall, dass ein Übereinstimmung gefunden wird, Ausführen einer Anwendung, die mit der unterstützten Zubehörvorrichtung assoziiert ist, die mit dem Anwendungsprotokoll übereinstimmt. In einigen Ausführungsformen kann die Mitteilung von der Zubehörvorrichtung empfangen werden, identifiziert eine Internetbasierte Adresse, wo eine Anwendung gefunden werden kann, die das Anwendungsprotokoll unterstützt. In einigen Ausführungsformen kann das Verfahren auch ein Herunterladen einer Anwendung von der Internetbasierten Adresse umfassen. In einigen Ausführungsformen kann das Verfahren auch ein Installieren der Anwendung auf der mobilen Rechenvorrichtung umfassen und das Ausführen der Anwendung.
  • Eine mobile Kommunikationsvorrichtung wird offenbart, die ein Gehäuse umfasst; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist und/oder dazu konfiguriert ist Befehle und Daten mit einer Zubehörvorrichtung auszutauschen, wobei die Kommunikationsschnittstelle einen ersten Kommunikationsanschluss und einen zweiten Kommunikationsanschluss aufweist; Speicher, der innerhalb des Gehäuses angeordnet ist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. Die Steuerlogik kann dazu konfiguriert sein mit einer ersten Zubehörvorrichtung zu kommunizieren durch den ersten Kommunikationsanschluss mithilfe eines ersten Anwendungskommunikationsprotokolls; und/oder mit einer zweiten Zubehörvorrichtung zu kommunizieren durch den zweiten Kommunikationsanschuss mithilfe eines zweiten Anwendungskommunikationsprotokolls. In einigen Ausführungsformen kann zumindest einer von dem ersten Kommunikationsanschluss und dem zweiten Kommunikationsanschluss einen drahtlosen Kommunikationsanschluss umfassen. In einigen Ausführungsformen sind das erste Anwendungskommunikationsprotokoll und das zweite Anwendungskommunikationsprotokoll unterschiedlich. In einigen Ausführungsformen kann die Steuerlogik weiterhin dazu konfiguriert sein mit der ersten Zubehörvorrichtung zu kommunizieren durch den ersten Kommunikationsanschluss und die zweite Zubehörvorrichtung durch den zweiten Zubehörvorrichtungskommunikationsanschluss mithilfe eines Zubehörvorrichtungskommunikationsprotokolls. In einigen Ausführungsformen kann die Steuerlogik weiter dazu konfiguriert sein eine erste Kommunikationssitzung herzustellen zum Kommunizieren mit der ersten Zubehörvorrichtung durch den ersten Anschluss. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein eine zweite Kommunikationssitzung herzustellen zum Kommunizieren mit der zweiten Zubehörvorrichtung durch den ersten Anschluss. In einigen Ausführungsformen kann die Kommunikationsschnittstelle einen dritten Kommunikationsanschluss umfassen und die Steuerlogik kann weiter dazu konfiguriert sein mit einer dritten Zubehörvorrichtung zu kommunizieren durch den dritten Kommunikationsanschluss mithilfe eines dritten Anwendungs-Kommunikationsprotokolls.
  • Ein computerlesbares Medium, das Programmanweisungen umfasst, die, wenn sie durch einen Prozessor auf einer mobilen Rechenvorrichtung ausgeführt werden, dem Prozessor dazu veranlassen ein Verfahren auszuführen. Dieses Verfahren kann das Anfragen einer ersten Kommunikationssitzung zur Kommunikation mit einer ersten Zubehörvorrichtung umfassen; Empfangen eines Sitzungs-Identifizierers für die erste Kommunikationssitzung; Kommunizieren mit der ersten Zubehörvorrichtung durch die erste Kommunikationssitzung mithilfe eines ersten Anwendungsprotokolls; Anfragen einer zweiten Kommunikationssitzung zu Kommunikation mit einer zweiten Zubehörvorrichtung; Empfangen eines Sitzungs-Identifizierers für die zweite Kommunikationssitzung; und/oder Kommunizieren mit der zweiten Zubehörvorrichtung durch die zweite Kommunikationssitzung mithilfe eines zweiten Anwendungsprotokolls. In einigen Ausführungsformen sind das erste Anwendungsprotokoll und das zweite Anwendungsprotokoll unterschiedlich. In einigen Ausführungsformen sind das erste Anwendungsprotokoll und das zweite Anwendungsprotokoll dieselben. In einigen Ausführungsformen veranlassen die Programmanweisungen den Prozessor weiterhin dazu zu bestimmen, ob die erste Zubehörvorrichtung oder die zweite Zubehörvorrichtung kommunikativ mit der mobilen Rechenvorrichtung gekoppelt sind.
  • Eine mobile Rechenvorrichtung, die ein Gehäuse umfasst; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist, und/oder dazu konfiguriert ist Befehle und Daten mit einer ersten Zubehörvorrichtung und einer zweiten Zubehörvorrichtung auszutauschen, wobei die Kommunikationsschnittstelle einen ersten Kommunikationsanschluss und einen zweiten Kommunikationsanschluss hat; Speicher, der innerhalb des Gehäuses angeordnet ist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist. Wobei die Steuerlogik dazu konfiguriert ist eine erste Kommunikationssitzung zwischen dem ersten Kommunikationsanschluss und einer ersten Anwendung herzustellen, die durch die Steuerlogik ausgeführt wird; mit einer ersten Zubehörvorrichtung zu kommunizieren durch die erste Kommunikationssitzung mithilfe eines ersten Anwendungsprotokolls; eine zweite Kommunikationssitzung herzustellen zwischen dem zweiten Kommunikationsanschluss und einer zweiten Anwendung, die durch die Steuerlogik ausgeführt wird; und/oder mit einer zweiten Zubehörvorrichtung zu kommunizieren durch die zweite Kommunikationssitzung mithilfe eines zweiten Anwendungsprotokolls. In einigen Ausführungsformen kann die Steuerlogik weiter dazu konfiguriert sein einen Tunnel für erste Anwendungs-Kommunikationsprotokoll-Mitteilungen bereitzustellen mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann das Zubehörvorrichtungs-Kommunikationsprotokoll sich von dem ersten Anwendungs-Kommunikationsprotokoll unterscheiden. In einigen Ausführungsformen kann die Steuerlogik dazu konfiguriert sein einen Tunnel für zweite Anwendungs-Kommunikationsprotokoll-Mitteilungen bereitzustellen mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann das Zubehörvorrichtungs-Kommunikationsprotokoll sich von dem zweiten Anwendungs-Kommunikationsprotokoll unterscheiden.
  • Ein anderes Verfahren, das auf einer mobilen Rechenvorrichtung ausgeführt wird, wird bereitgestellt. Das Verfahren kann das Empfangen eines Hinweises umfassen, dass eine Zubehörvorrichtung kommunikativ mit der mobilen Rechenvorrichtung an einen Kommunikationsanschluss gekoppelt werden kann; Bestimmen, dass die Zubehörvorrichtung Kommunikation mit der mobilen Rechenvorrichtung unterstützt mithilfe sowohl eines Zubehörvorrichtungsprotokolls als auch eines Anwendungsprotokolls; Herstellen einer Kommunikationssitzung zwischen der Zubehörvorrichtung durch den Kommunikationsanschluss und einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, durch den Kommunikationsanschluss; und/oder Senden von Mitteilungen von der Anwendung an die Zubehörvorrichtung mithilfe der Kommunikationssitzung, wobei die Mitteilungen Anwendungsprotokoll-Mitteilungen sind. In einigen Ausführungsformen unterscheiden sich das Zubehörvorrichtungsprotokoll und das Anwendungsprotokoll. In einigen Anwendungen kann das Verfahren das Empfangen eines Hinweises von der Zubehörvorrichtung umfassen, dass die Zubehörvorrichtung das Anwendungsprotokoll unterstützt. In einigen Ausführungsformen kann das Verfahren auch ein Einkapseln von Anwendungsprotokoll-Mitteilungen in Zubehörvorrichtungsprotokoll-Mitteilungen umfassen.
  • Ein Verfahren zum Herstellen einer Kommunikationssitzung zwischen einer Anwendung, die auf einer mobilen Rechenvorrichtung ausgeführt wird und einer Zubehörvorrichtung, die in Kommunikation mit der mobilen Rechenvorrichtung ist, wird bereitgestellt. Das Verfahren kann auf der mobilen Rechenvorrichtung ausgeführt werden und kann das Empfangen einer Anfrage von der Anwendung nach Information umfassen, die sich auf die Zubehörvorrichtung bezieht; Bereitstellen von Zubehörvorrichtungsinformation an die Anwendung, wobei die Zubehörvorrichtungsinformation einen Identifizierer umfassen kann von zumindest einem Anwendungs-Kommunikationsprotokoll, mit dem die Zubehörvorrichtung kompatibel sein kann; Empfangen einer Anfrage nach einer Kommunikationssitzung zwischen der Zubehörvorrichtung und der Anwendung zur Kommunikation mithilfe des Anwendungskommunikationsprotokolls; Empfangen einer Mitteilung von der Anwendung, wobei die Mitteilung formatiert sein kann, gemäß dem Anwendungs-Kommunikationsprotokoll; Einpacken der Mitteilung mit einem Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker; und/oder Kommunizieren der Mitteilung an die Zubehörvorrichtung, wobei die Mitteilung kommuniziert werden kann, gemäß einem Zubehörvorrichtungs-Kommunikationsprotokoll; das sich von dem Anwendungs-Kommunikationsprotokoll unterscheiden kann. In einigen Ausführungsformen kann der Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker einen Tunnelbefehl umfassen. In einigen Ausführungsformen kann der Identifizierer des zumindest einen Anwendungs-Kommunikationsprotokolls den Identifizierer umfassen, der in einem umgekehrten Domänen-Namenformat bereitgestellt wird. In einigen Ausführungsformen kann das Verfahren auch ein Empfangen einer Mitteilung von der Zubehörvorrichtung umfassen, wobei die Mitteilung gemäß eines Zubehörvorrichtungs-Kommunikationsprotokolls formatiert sein kann, Abstreifen des Zubehörvorrichtungs-Kommunikationsprotokoll-Einpackers von der Mitteilung und/oder Senden der Mitteilung an die Anwendung, wobei die Mitteilung gemäß dem Anwendungs-Kommunikationsprotokoll kommuniziert werden kann. In einigen Ausführungsformen kann das Verfahren auch das Überwachen einer Kommunikationsschnittstelle nach Zubehörvorrichtungsverbindbarkeit umfassen; und/oder in dem Fall, das eine Zubehörvorrichtung kommunikativ mit der Kommunikationsschnittstelle gekoppelt werden kann, Empfangen einer Fähigkeiten-Mitteilung, die Zubehörvorrichtungsfähigkeiten umfasst, wobei die Mitteilung einen Identifizier umfassen kann für zumindest ein Anwendungs-Kommunikationsprotokoll, mit welchem die Zubehörvorrichtung kompatibel sein kann. In einigen Ausführungsformen kann die Fähigkeiten-Mitteilung formatiert sein, gemäß dem Zubehörvorrichtungs-Kommunikationsprotokoll.
  • Eine mobile Rechenvorrichtung kann ein Gehäuse umfassen; eine Kommunikationsschnittstelle, die zumindest teilweise innerhalb des Gehäuses angeordnet ist und /oder dazu konfiguriert ist Befehle und Daten mit einer Zubehörvorrichtung auszutauschen mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls; Speicher, der innerhalb des Gehäuses angeordnet ist; und/oder Steuerlogik, die innerhalb des Gehäuses angeordnet ist und/oder kommunikativ mit dem Speicher und der Kommunikationsschnittstelle gekoppelt ist, wobei die Steuerlogik dazu konfiguriert ist einen Zubehörvorrichtungs-Manager als einen Hintergrundprozess und eine Anwendung auszuführen. Die Steuerlogik, die als ein Zubehörvorrichtungsmanager ausgeführt wird, kann dazu konfiguriert sein die Kommunikationsschnittstelle für eine Zubehörvorrichtung zu überwachen, die mit der Kommunikationsschnittstelle gekoppelt wird; in dem Fall, dass eine Zubehörvorrichtung mit der Kommunikationsschnittstelle gekoppelt wird, Empfangen von Zubehörvorrichtungs-Fähigkeitsinformation, die kompatible Anwendungsprotokolle umfasst, von der Zubehörvorrichtung mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls; Empfangen von der Zubehörvorrichtung, Anwendungs-Kommumkationsprotokoll formatierte Mitteilungen, die mit einem Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker eingepackt sind; Entfernen des Zubehörvorrichtungs-Kommunikationsprotokoll-Einpackers von den Mitteilungen; und/oder Kommunizieren von Mitteilungen an die Anwendung. In einigen Ausführungsformen werden die Zubehörvorrichtungsfähigkeiten empfangen, mithilfe des Zubehörvorrichtungs-Kommunikationsprotokolls. In einigen Ausführungsformen kann die Steuerlogik, die als ein Zubehörvorrichtungs-Manager ausgeführt wird, weiter dazu konfiguriert sein einen Eingabedatenstrom herzustellen, so dass Daten von dem Eingabedatenstrom gelesen werden können. In einigen Ausführungsformen kommuniziert die Steuerlogik, die als ein Zubehörvorrichtungs-Manager ausgeführt wird, Mitteilungen, die von der Zubehörvorrichtung empfangen wurden, an die Anwendung mithilfe des Eingabedatenstroms. In einigen Ausführungsformen kann die Steuerlogik, die als ein Zubehörvorrichtungs-Manager ausgeführt wird, weiterhin konfiguriert sein zum: Empfangen von der Anwendung, Anwendungs-Kommunikationsprotokoll formatierte Mitteilungen, Einpacken der Zubehörvorrichtungs-Kommunikationsprotokoll-Mitteilungen mit einen Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker und/oder Kommunizieren der Mitteilungen an die Zubehörvorrichtung. In einigen Ausfiihrungsformen kann die Steuerlogik, die als ein Zubehörvorrichtungs-Manager ausgeführt wird, weiter dazu konfiguriert sein einen Ausgabedatenstrom zu erstellen, so dass Daten zu dem Ausgabedatenstrom geschrieben werden können durch die Anwendung und an die Zubehörvorrichtung gesendet werden können. In einigen Ausführungsformen kommuniziert die Steuerlogik, die als ein Zubehörvorrichtungs-Manager ausgeführt wird, Mitteilungen, die von dem Ausgabedatenstrom empfangen werden, an die Zubehörvorrichtung.
  • Ein anderes Verfahren wird bereitgestellt. Dieses Verfahren kann das Überwachen einer Zubehörvorrichtungsschnittstelle der mobilen Rechenvorrichtung nach einem Hinweis umfassen, dass eine Zubehörvorrichtung kommunikativ mit der Zubehörvorrichtungs-Schnittstelle gekoppelt wurde; in dem Fall, dass eine Zubehörvorrichtung kommunikativ mit der Zubehörvorrichtungs-Schnittstelle gekoppelt werden kann, Empfangen von Fähigkeitsinformation von der Zubehörvorrichtung, wobei die Fähigkeitsinformation mithilfe eines Zubehörvorrichtungs-Kommunikationsprotokolls empfangen werden kann und/oder die Fähigkeitsinformation kann Information umfassen, die eine oder mehrere Anwendungs-Kommunikationsprotokolle anzeigen, die kompatibel mit der Zubehörvorrichtung sind; Herstellen eines Eingabedatenstroms für eine Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, wobei eine Anwendungs-Mitteilung, die von der Zubehörvorrichtung empfangen wird, in einen Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker eingepackt ist, von dem Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker befreit werden kann und zu der Anwendung geschrieben werden kann mithilfe des Eingabe-Datenstroms; und/oder Herstellen eines Ausgabedatenstroms für die Anwendung, wobei eine Anwendungsmitteilung, die zu dem Ausgabedatenstrom geschrieben wird, von der Anwendung, in einen Zubehörvorrichtungs-Kommunikationsprotokoll-Einpacker eingepackt werden kann und an die Zubehörvorrichtung durch die Zubehörvorrichtung-Schnittstelle gesendet werden kann. In einigen Ausführungsformen kann die Zubehörvorrichtungs-Schnittstelle eine drahtlose Kommunikationsschnittstelle umfassen. In einigen Ausführungsformen kann die Information, die ein oder mehrere Anwendungs-Kommunikationsprotokolle anzeigt, bereitgestellt werden unter Verwendung eines umgekehrten Domänen-Namenformats.
  • Ein Verfahren, das auf einer mobilen Rechenvorrichtung ausgeführt wird, wird auch bereitgestellt. Das Verfahren kann ein Empfangen von einer Anwendung umfassen, die auf der mobilen Rechenvorrichtung ausgeführt wird, einer Anfrage nach einer Kommunikationssitzung zwischen der mobilen Rechenvorrichtung und einer externen Zubehörvorrichtung mithilfe eines Anwendungsprotokolls; Bestimmen, ob das Anwendungsprotokoll durch die Zubehörvorrichtung unterstützt werden kann; in dem Fall, dass das Anwendungsprotokoll durch die Zubehörvorrichtung unterstützt werden kann, Bereitstellen eines Eingabestroms und eines Ausgabestroms zu der Anwendung zur Kommunikation mit der Zubehörvorrichtung mithilfe des Anwendungsprotokolls; Empfangen einer Mitteilung von der Anwendung durch den Ausgabestrom, wobei die Mitteilung formatiert sein kann, gemäß dem Protokoll; Einpacken der Mitteilung in eine Zubehörvorrichtungsprotokoll-Mitteilung; und/oder Senden der Mitteilung an die Zubehörvorrichtung.
  • In einigen Ausführungsformen kann das Bestimmen weiter umfassen Nachschlagen des Anwendungsprotokolls in einer Nachschlagtabelle. In einigen Ausführungsformen kann das Verfahren weiter ein Empfangen einer Mitteilung von der Zubehörvorrichtungen umfassen, wobei die Mitteilung eine Anwendungsprotokoll-Mitteilung sein kann, die in eine Zubehörvorrichtungsprotokoll-Mitteilung eingepackt ist; Auspacken des Anwendungsprotokoll-Einpackers von der Anwendungsprotokoll-Mitteilung; und/oder Schreiben der Anwendungsprotokoll-Mitteilung in den Eingabestrom der Anwendung.
  • Ein anderes Verfahren, das auf einer mobilen Rechenvorrichtung ausgeführt wird, wird bereitgestellt. Das Verfahren umfasst Öffnen einer ersten Kommunikationssitzung zwischen einer ersten Anwendung und einer ersten Zubehörvorrichtung, wobei die Kommunikationssitzung Kommunikation zwischen der ersten Anwendung und der ersten Zubehörvorrichtung bereitstellt mithilfe eines ersten Kommunikationsprotokolls; Empfangen einer ersten Mitteilung von der ersten Anwendung; Senden der ersten Mitteilung an die Zubehörvorrichtung, die mit einem Zubehörvorrichtungsprotokoll-Einpacker eingepackt ist; Öffnen einer zweiten Kommunikationssitzung zwischen einer zweiten Anwendung und der ersten Zubehörvorrichtung, wobei die Kommunikationssitzung Kommunikation zwischen der ersten Anwendung und der ersten Zubehörvorrichtung bereitstellt mithilfe eines zweiten Kommunikationsprotokolls, wobei das erste und das zweite Anwendungsprotokoll unterschiedlich sind; und/oder Empfangen einer zweiten Mitteilung von der zweiten Anwendung, und Senden der zweiten Mitteilung an die Zubehörvorrichtung, die mit dem Zubehörvorrichtungsprotokoll-Einpacker eingepackt ist.
  • Ein computerlesbares Medium, das Programmanweisungen umfasst, die, wenn sie durch einen Prozessor einer mobilen Rechenvorrichtung ausgeführt werden, den Prozessor dazu veranlassen ein bereitgestelltes Verfahren auszuführen. Das Verfahren kann umfassen Abfragen von Zubehörvorrichtungsinformation von einem Zubehörvorrichtungs-Manager, wobei der Zubehörvorrichtungs-Manager ein Hintergrundprozess sein kann, der auf der mobilen Rechenvorrichtung ausgeführt wird, und Kommunikationsverbindung zwischen Anwendungen bereitstellt, die auf der mobilen Rechenvorrichtung ausgeführt werden, und eine Zubehörvorrichtung, die kommunikativ mit der mobilen Rechenvorrichtung gekoppelt ist; in dem Fall, dass eine Zubehörvorrichtung kommunikativ mit der mobilen Rechenvorrichtung gekoppelt werden kann, Empfangen von dem Zubehörvorrichtungs-Manager eines Zubehörvorrichtungs-Identifizierers und eines oder mehrerer Protokoll-Identifizierer, die zumindest ein Anwendungs-Kommunikationsprotokoll spezifizieren, das mit der Zubehörvorrichtung kompatibel ist; Bestimmen, ob eine Anwendung mit zumindest einem Anwendungsprotokoll kompatibel sein kann; in dem Fall, dass die Anwendung kompatibel sein kann, Öffnen einer Sitzung zur Kommunikation mit der Zubehörvorrichtung durch den Zubehörvorrichtungs-Manager mithilfe des Anwendungs-Kommunikationsprotokolls und/oder Kommunizieren mit der Zubehörvorrichtung mithilfe des Anwendungs-Kommunikationsprotokolls. In einigen Ausführungsformen, kann ein Protokoll-Identifizierer mithilfe von umgekehrter Domänen-Namenkonvention formatiert werden. In einigen Ausführungsformen kann das Kommunizieren mit der Zubehörvorrichtung ein Empfangen eines Ausgabestroms von dem Zubehörvorrichtungs-Manager umfassen und/oder das Schreiben von Daten, gemäß dem Anwendungs-Kommunikationsprotokoll zu dem Eingabestrom. In einigen Ausführungsformen kann das Kommunizieren mit der Zubehörvorrichtung ein Empfangen eines Eingabestroms von dem Zubehörvorrichtungs-Manager umfassen; und/oder Empfangen von Daten, die gemäß dem Anwendungs-Kommunikationsprotokoll formatiert sind, von dem Eingabestrom.
  • Ein Verfahren für eine Anwendung, um eine Kommunikation mit einer Zubehörvorrichtung herzustellen mithilfe eines Anwendungsmanagers. Das Verfahren kann umfassen, Empfangen eines Hinweises von dem Anwendungsmanager, der ein Anwendungsprotokoll spezifiziert, das mit der Zubehörvorrichtung kompatibel ist; Empfangen eines Eingabestroms und eines Ausgabestroms von dem Anwendungsmanager zur Kommunikation mit der Zubehörvorrichtung, mithilfe des Anwendungsprotokolls; und/oder danach Schreiben von einer Anwendungsprotokoll-Mitteilung für die Zubehörvorrichtung in den Ausgabestrom. In einigen Ausführungsformen kann das Verfahren umfassen, Senden von Anwendungsprotokoll-Information an den Anwendungsmanager, wobei die Anwendungsprotokoll-Information einen Hinweis die Anwendungsprotokolle umfassen kann, die durch die Anwendung unterstützt werden. In einigen Ausführungsformen kann das Anwendungsprotokoll, das mit der Zubehörvorrichtung kompatibel ist, ein Anwendungsprotokoll sein, das durch die Anwendungsprotokoll-Information angezeigt wird, die durch die Anwendung gesendet wird. In einigen Ausführungsformen zeigt das Anwendungsprotokoll, das durch die Anwendungsprotokoll-Information angezeigt wird, ein Anwendungsprotokoll an mithilfe einer umgekehrten Domänen-Namenkonvention.
  • Ein Verfahren, das durch die Anwendung ausführt, die auf einer mobilen Rechenvorrichtung ausführt wird, wird offenbart. Das Verfahren beinhaltet das Anfragen von Zubehörvorrichtungs-Information von einem Anwendungsmanager, wobei die Zubehörvorrichtungsinformation Information umfassen kann, die ein oder mehrere Anwendungsprotokolle anzeigt, die durch eine Zubehörvorrichtung unterstützt werden, die kommunikativ mit einer mobilen Rechenvorrichtung gekoppelt ist; Bestimmen, ob ein Anwendungsprotokoll, das durch die Zubehörvorrichtung unterstützt wird, einem Anwendungsprotokoll entspricht, dass durch die Anwendung unterstützt wird; in dem Fall, dass die Anwendungsprotokolle übereinstimmen, Anfragen eines Eingabestroms und eines Ausgabestroms zur Kommunikation mit der Zubehörvorrichtung mithilfe des Anwendungsprotokolls; Empfang eines Eingabestroms und eines Ausgabestroms; und/oder danach, Schreiben von Anwendungsprotokoll-Mitteilungen für die Zubehörvorrichtung in den Ausgabestrom. In einigen Ausführungsformen kann das Verfahren umfassen, Lesen von Anwendungsprotokoll-Mitteilungen von der Zubehörvorrichtung mithilfe des Eingabestroms. In einigen Ausführungsformen zeigt die Zubehörvorrichtungsinformation Anwendungsprotokolle an, mithilfe der umgekehrten Domänen-Namenkonvention. In einigen Ausführungsformen kann die Zubehörvorrichtungsinformation in einer Tabelle gespeichert werden und die Zubehörvorrichtungsinformation kann ein Zeiger auf den Speicherort von Metadaten sein, die mit der Zubehörvorrichtungsinformation assoziiert sind.
  • Ein Verfahren, das durch eine Anwendung ausgeführt wird, die auf einer mobilen Rechenvorrichtung ausgeführt wird, wird bereitgestellt. Das Verfahren beinhaltet Zugreifen auf eine Tabelle, die Information umfasst, die ein Anwendungsprotokoll anzeigen, das durch eine Zubehörvorrichtung unterstützt wird, die mit der mobilen Rechenvorrichtung gekoppelt ist; Bestimmen, ob ein Anwendungsprotokoll, das durch die Anwendung unterstützt wird, dem Anwendungsprotokoll in der Tabelle entspricht; in dem Fall, dass die Anwendungsprotokolle übereinstimmen, Öffnen einer Kommunikationssitzung zu Kommunikation mit der Zubehörvorrichtung mithilfe der übereinstimmenden Anwendung; Empfangen eines Eingabestroms und eines Ausgabestroms; und/oder danach, Schreiben einer Anwendungsprotokoll-Mitteilung für die Zubehörvorrichtung in den Ausgabestrom. In einigen Ausführungsformen kann die Tabelle eine Mehrzahl von Anwendungsprotokollen umfassen, die mit der Zubehörvorrichtung assoziiert sind, und/oder die Anwendung bestimmt, ob ein Anwendungsprotokoll, das durch die Anwendung unterstützt wird, mit irgendeinem der Anwendungsprotokolle in der Tabelle übereinstimmt. In einigen Ausführungsformen kann das Verfahren auch ein Lesen einer Anwendungsprotokoll-Mitteilung von der Zubehörvorrichtung mithilfe des Eingabestroms umfassen. In einigen Ausführungsformen zeigt die Zubehörvorrichtungsinformation Anwendungsprotokolle an, die mit Hilfe der umgekehrten Domänen-Namenkonvention formiert sind.
  • Schaltkreise, Logikmodule, Prozessoren und/oder andere Komponenten können hierin als „konfiguriert“ beschrieben sein, um verschiedene Operationen auszuführen. Fachleute werden verstehen, dass abhängig von der Implementierung, solche Konfigurationen durch den Entwurf, Set-Up, Verbindung und/oder Programmieren der bestimmten Komponenten erreicht werden kann und das wiederum abhängig von der Implementierung eine konfigurierte Komponente rekonfiguriert werden kann für eine unterschiedliche Operation oder nicht. Zum Beispiel kann ein programmierbarer Prozessor durch das Bereitstellen von geeigneten ausführbaren Code konfiguriert sein; ein dedizierter Logikschaltkreis kann durch das geeignete Verbinden von logischen Gattern und anderen Schaltkreiselementen konfiguriert werden; usw.
  • Während die oben beschriebenen Ausführungsformen Bezug auf spezifische Hardware und Softwarekomponenten machen, werden jene Fachleute verstehen, dass unterschiedliche Kombinationen von Hardware- und/oder SoftwareKomponenten verwendet werden können, und dass bestimmte Operationen, die als in Hardware-Implementiert beschrieben sind, auch in Software implementiert sein können und umgekehrt.
  • Computerprogramme, die die verschiedene Eigenschaften der vorliegenden Erfindung einschließen, können auf verschiedenen computerlesbaren Speichermedien codiert sein; geeignete Medien umfassend magnetische Scheiben oder Bänder, optische Speichermedien wie Compact Disc (CD) oder DVD (digital versatile disc), Flash-Speicher und ähnliches. Compuerlesbare Speichermedien, auf denen der Programmcode codiert ist, können mit einer kompatiblen Vorrichtung eingepackt sein oder separate von anderen Vorrichtungen bereitgestellt werden. Zusätzlich kann Programmcode codiert und übertragen werden über drahtgebundene optische und/oder drahtlose Netzwerke, die mit einer Vielzahl von Protokollen kompatibel sind, darunter das Internet, wodurch die Verteilung ermöglicht wird, zum Beispiel über einen Internetdownload.
  • Während Beispiele und/oder Details in dieser Offenbarung mit Bezug auf eine einzige Ausführungsform beschrieben sind, können solche Beispiele oder Details in Verbindung mit jeder Ausführungsform, die hierin beschrieben ist, verwendet werden.
  • Damit, obwohl die Erfindung mit Bezug auf spezifische Ausführungsformen beschrieben wurde, wird es verstanden werden, dass die Erfindung beabsichtigt alle Modifikationen und Äquivalente abzudecken, die in dem Umfang der folgenden Ansprüche fallen.

Claims (19)

  1. Verfahren umfassend: Kommunizieren, durch eine Zubehörvorrichtung, mit einem Betriebssystem, das auf einer mobilen Rechenvorrichtung ausgeführt wird, mit Hilfe eines Zubehörvorrichtungskommunikationsprotokolls; Kommunizieren, durch die Zubehörvorrichtung, an die mobile Rechenvorrichtung, von Information, die durch die mobile Rechenvorrichtung verwendbar ist, um ein Anwendungskommunikationsprotokoll zu identifizieren, das durch die Zubehörvorrichtung unterstützt wird, um mit einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, zu kommunizieren, wobei die Information mit Hilfe des Zubehörvorrichtungskommunikationsprotokolls kommuniziert wird, und wobei sich das Anwendungskommunikationsprotokoll von dem Zubehörvorrichtungskommunikationsprotokoll unterscheidet; und Kommunizieren, durch die Zubehörvorrichtung, mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird mit Hilfe des Anwendungs-kommunikationsprotokolls wobei das Kommunizieren mit dem Betriebssystem, das auf der mobilen Rechenvorrichtung ausgeführt wird, ein Senden an das Betriebssystem der mobilen Rechenvorrichtung einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht über einen Anschluss der mobile Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und wobei das Kommunizieren mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, umfasst: Erzeugen einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, wobei die zweite Mitteilung eine dritte Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht; und Senden der zweiten Mitteilung an das Betriebssystem der mobilen Rechenvorrichtung über den Anschluss der mobile Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, wobei das Betriebssystem der mobilen Rechenvorrichtung die dritte Mitteilung an die Anwendung weiterleitet und die dritte Mitteilung durch die Anwendung interpretiert wird.
  2. Verfahren nach Anspruch 1, in welchem die Information, die durch die mobile Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information beinhaltet, die das Anwendungskommunikationsprotokoll spezifiziert.
  3. Verfahren nach Anspruch 2, in welchem die Information, die das Anwendungskommunikationsprotokoll spezifiziert, in einer umgekehrten Domainnamenkonvention bzw. Reverse Domain Name Convention bereitgestellt wird.
  4. Verfahren nach Anspruch 1, in welchem die Information, die durch die mobile Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information beinhalten, die die Zubehörvorrichtung identifiziert.
  5. Verfahren nach Anspruch 1, in welchem das Kommunizieren mit dem Betriebssystem ein Senden einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, an einen Anschluss der mobilen Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und das Kommunizieren mit der Anwendung ein Senden einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, an den Anschluss der mobilen Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, umfasst, wobei die zweite Mitteilung eine Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht.
  6. Verfahren nach Anspruch 1, weiter umfassend: Empfangen eines Befehls, der dem Anwendungskommunikationsprotokoll entspricht, von der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird; und Ändern eines Zustands der Zubehörvorrichtung in Antwort auf das Empfangen des Befehls.
  7. Eine Zubehörvorrichtung umfassend: Steuerlogik, die konfiguriert ist zum: Kommunizieren mit einem Betriebssystem, das auf einer mobilen Rechenvorrichtung ausgeführt wird, mit Hilfe eines Zubehörvorrichtungskommunikationsprotokolls; Kommunizieren, an das Betriebssystem der mobilen Rechenvorrichtung, von Information, die von der mobilen Rechenvorrichtung verwendbar ist, um ein Anwendungskommunikationsprotokoll zu identifizieren, das von der Zubehörvorrichtung unterstützt wird, um mit einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, zu kommunizieren, wobei die Information kommuniziert wird mit Hilfe des Zubehörvorrichtungskommunikationsprotokolls und wobei sich das Anwendungskommunikationsprotokoll von dem Zubehörvorrichtungskommunikationsprotokoll unterscheidet; und Kommunizieren mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, mit Hilfe des Anwendungskommunikationsprotokolls, wobei das Kommunizieren mit dem Betriebssystem, das auf der mobilen Rechenvorrichtung ausgeführt wird, ein Senden an das Betriebssystem der mobilen Rechenvorrichtung einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht über einen Anschluss der mobile Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und wobei das Kommunizieren mit der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, umfasst: Erzeugen einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, wobei die zweite Mitteilung eine dritte Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht; und Senden der zweiten Mitteilung an das Betriebssystem der mobilen Rechenvorrichtung über den Anschluss der mobile Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, wobei das Betriebssystem der mobilen Rechenvorrichtung die dritte Mitteilung an die Anwendung weiterleitet und die dritte Mitteilung durch die Anwendung interpretiert wird.
  8. Zubehörvorrichtung nach Anspruch 7, in welcher die Information, die von der mobilen Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die das Anwendungskommunikationsprotokoll spezifiziert.
  9. Zubehörvorrichtung nach Anspruch 7, in welcher die Information, die von der mobilen Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die die Zubehörvorrichtung identifiziert.
  10. Zubehörvorrichtung nach Anspruch 9, in welcher die Information, die die Zubehörvorrichtung identifiziert, einen Hersteller der Zubehörvorrichtung und ein Modell der Zubehörvorrichtung umfasst.
  11. Verfahren umfassend: Kommunizieren, durch ein Betriebssystem, das auf einer mobilen Rechenvorrichtung ausgeführt wird, mit einer Zubehörvorrichtung mit Hilfe eines Zubehörvorrichtungskommunikationsprotokolls; Empfangen von Information von der Zubehörvorrichtung, durch das Betriebssystem der mobilen Rechenvorrichtung, , wobei die Information durch die mobile Rechenvorrichtung verwendbar ist, um ein Anwendungskommunikationsprotokoll zu identifizieren, das durch die Zubehörvorrichtung unterstützt wird, um mit einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, zu kommunizieren, wobei die Information empfangen wird mit Hilfe des Zubehörvorrichtungskommunikationsprotokolls und wobei sich das Anwendungskommunikationsprotokoll von dem Zubehörvorrichtungskommunikationsprotokoll unterscheidet; und Ermöglichen, durch die mobile Rechenvorrichtung, von Kommunikation zwischen der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, und der Zubehörvorrichtung mit Hilfe des Anwendungskommunikationsprotokolls, wobei das Kommunizieren mit der Zubehörvorrichtung ein Senden durch das Betriebssystem der mobilen Rechenvorrichtung einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, an einen Anschluss der mobilen Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und das Ermöglichen der Kommunikation zwischen der Anwendung und der Zubehörvorrichtung umfasst: ein Empfangen durch das Betriebssystem der mobilen Rechenvorrichtung einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, über den Anschluss der mobilen Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, wobei die zweite Mitteilung eine dritte Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht; und Weiterleiten durch das Betriebssystem der mobilen Vorrichtung der dritten Mitteilung an die Anwendung, wobei die dritte Mitteilung durch die Anwendung interpretiert wird.
  12. Verfahren nach Anspruch 11, in welchem die Information, die von der mobilen Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die das Anwendungskommunikationsprotokoll spezifiziert.
  13. Verfahren nach Anspruch 11, in welchem die Information, die von der mobilen Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die die Zubehörvorrichtung identifiziert.
  14. Verfahren nach Anspruch 11, weiter umfassend: Bestimmen, ob das Anwendungskommunikationsprotokoll in einer Protokolltabelle gespeichert ist, die auf der mobilen Rechenvorrichtung gespeichert ist, wobei die Protokolltabelle Anwendungskommunikationsprotokolle identifiziert, die durch Anwendungen unterstützt werden, die sich auf der mobilen Rechenvorrichtung befinden; und falls das Anwendungskommunikationsprotokoll in der Protokolltabelle enthalten ist: Bestimmen einer Anwendung, die mit dem Anwendungskommunikationsprotokoll in der Protokolltabelle assoziiert ist; und Ausführen der bestimmten Anwendung.
  15. Verfahren nach Anspruch 14, in welchem die Information, die durch die mobile Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, eine Internet-basierte Adresse umfasst, wo eine oder mehrere Anwendungen, die das Anwendungskommunikationsprotokoll unterstützen, gefunden werden können.
  16. Verfahren nach Anspruch 15, weiter umfassend, falls das Anwendungskommunikationsprotokoll nicht in der Protokolltabelle enthalten ist: Herunterladen der einen oder mehreren Anwendungen von der Internetbasierten Adresse zu der mobilen Rechenvorrichtung; und Aktualisieren der Protokolltabelle um das Anwendungskommunikationsprotokoll zu umfassen.
  17. Mobile Rechenvorrichtung, umfassend: einen Prozessor, der konfiguriert ist zum: Ausführen eines Betriebssystems und Kommunizieren, durch das Betriebssystem, mit einer Zubehörvorrichtung mit Hilfe eines Zubehörvorrichtungskommunikationsprotokolls; Empfangen, von der Zubehörvorrichtung, von Information, die durch die mobile Rechenvorrichtung verwendbar ist, um ein Anwendungskommunikationsprotokoll zu identifizieren, das durch die Zubehörvorrichtung unterstützt wird, um mit einer Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, zu kommunizieren, wobei die Information empfangen wird mit Hilfe des Zubehörvorrichtungskommunikationsprotokolls und wobei sich das Anwendungskommunikationsprotokoll von dem Zubehörvorrichtungskommunikationsprotokoll unterscheidet; und Ermöglichen von Kommunikation zwischen der Anwendung, die auf der mobilen Rechenvorrichtung ausgeführt wird, und der Zubehörvorrichtung mit Hilfe des Anwendungskommunikationsprotokolls wobei das Kommunizieren mit der Zubehörvorrichtung ein Senden durch das Betriebssystem der mobilen Rechenvorrichtung einer ersten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, an einen Anschluss der mobilen Rechenvorrichtung, der einen bestimmten Kommunikationskanal unterstützt, umfasst; und das Ermöglichen der Kommunikation zwischen der Anwendung und der Zubehörvorrichtung umfasst: ein Empfangen durch das Betriebssystem der mobilen Rechenvorrichtung einer zweiten Mitteilung, welche dem Zubehörvorrichtungskommunikationsprotokoll entspricht, über den Anschluss der mobilen Rechenvorrichtung, der den bestimmten Kommunikationskanal unterstützt, wobei die zweite Mitteilung eine dritte Mitteilung durch Einkapseln, Umschlagen oder Einpacken enthält, die dem Anwendungskommunikationsprotokoll entspricht; und Weiterleiten durch das Betriebssystem der mobilen Vorrichtung der dritten Mitteilung an die Anwendung, wobei die dritte Mitteilung durch die Anwendung interpretiert wird.
  18. Mobile Rechenvorrichtung nach Anspruch 17, in welcher die Information, die durch die mobile Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die das Anwendungskommunikationsprotokoll spezifiziert.
  19. Mobile Rechenvorrichtung nach Anspruch 17, in welcher die Information, die durch die mobile Rechenvorrichtung verwendbar ist, um das Anwendungskommunikationsprotokoll zu identifizieren, Information umfasst, die die Zubehörvorrichtung identifiziert.
DE112010001170.2T 2009-03-16 2010-03-11 Zubehörvorrichtung und mobile Rechenvorrichtungskommunikation mit Hilfe eines Anwendungskommunikationsprotokolls Active DE112010001170B4 (de)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US16060109P 2009-03-16 2009-03-16
US16064409P 2009-03-16 2009-03-16
US61/160,644 2009-03-16
US61/160,601 2009-03-16
US12/720,400 2010-03-09
US12/720,489 2010-03-09
US12/720,446 2010-03-09
US12/720,349 US8700789B2 (en) 2009-03-16 2010-03-09 Accessory and mobile computing device communication using an application communication protocol
US12/720,375 2010-03-09
US12/720,489 US8341318B2 (en) 2009-03-16 2010-03-09 Techniques for facilitating communication between an accessory and a mobile computing device using application specific protocols
US12/720,375 US9069908B2 (en) 2009-03-16 2010-03-09 Accessory and mobile computing device communication using an application communication protocol
US12/720,423 2010-03-09
US12/720,446 US8402145B2 (en) 2009-03-16 2010-03-09 Application communication with external accessories
US12/720,400 US8639733B2 (en) 2009-03-16 2010-03-09 Automatic identification of compatible applications and accessories
US12/720,423 US8554924B2 (en) 2009-03-16 2010-03-09 Connection to multiple accessories with multiple accessory-specific protocols
US12/720,349 2010-03-09
PCT/US2010/027058 WO2010107660A1 (en) 2009-03-16 2010-03-11 Accessory and mobile computing device communication using an application communication protocol

Publications (2)

Publication Number Publication Date
DE112010001170T5 DE112010001170T5 (de) 2012-05-31
DE112010001170B4 true DE112010001170B4 (de) 2019-02-28

Family

ID=42153714

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010001170.2T Active DE112010001170B4 (de) 2009-03-16 2010-03-11 Zubehörvorrichtung und mobile Rechenvorrichtungskommunikation mit Hilfe eines Anwendungskommunikationsprotokolls

Country Status (12)

Country Link
US (10) US8639733B2 (de)
EP (4) EP2230605B1 (de)
JP (2) JP4842383B2 (de)
KR (1) KR101346541B1 (de)
CN (2) CN102428665B (de)
AU (1) AU2010226111B2 (de)
BR (1) BRPI1009309B1 (de)
DE (1) DE112010001170B4 (de)
GB (1) GB2481349B (de)
HK (1) HK1164584A1 (de)
MX (1) MX2011009737A (de)
WO (1) WO2010107660A1 (de)

Families Citing this family (249)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI617936B (zh) 2007-09-24 2018-03-11 蘋果公司 於電子設備中嵌入鑑認系統
US8600120B2 (en) 2008-01-03 2013-12-03 Apple Inc. Personal computing device control using face detection and recognition
US8630684B2 (en) * 2008-12-08 2014-01-14 Verizon Patent And Licensing Inc. Accessory devices for mobile phones
US8082312B2 (en) 2008-12-12 2011-12-20 Event Medical, Inc. System and method for communicating over a network with a medical device
US20120081207A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Application launching in conjunction with an accessory
US8639733B2 (en) 2009-03-16 2014-01-28 Apple Inc. Automatic identification of compatible applications and accessories
US20110029864A1 (en) * 2009-07-30 2011-02-03 Aaron Michael Stewart Touch-Optimized Approach for Controlling Computer Function Using Touch Sensitive Tiles
US20110055380A1 (en) * 2009-09-03 2011-03-03 Yockey Robert F Network providing automatic connections between devices based on user task
US8719112B2 (en) * 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
US8364745B2 (en) 2009-11-24 2013-01-29 International Business Machines Corporation Service oriented architecture enterprise service bus with universal ports
US7865629B1 (en) * 2009-11-24 2011-01-04 Microsoft Corporation Configurable connector for system-level communication
US8171094B2 (en) 2010-01-19 2012-05-01 Event Medical, Inc. System and method for communicating over a network with a medical device
US8346310B2 (en) * 2010-02-05 2013-01-01 Ford Global Technologies, Llc Method and apparatus for communication between a vehicle based computing system and a remote application
US8433828B2 (en) * 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility
US8886709B2 (en) * 2010-05-21 2014-11-11 Blackberry Limited System and method for efficient image and document upload
US8726266B2 (en) * 2010-05-24 2014-05-13 Abbott Diabetes Care Inc. Method and system for updating a medical device
US8347014B2 (en) * 2010-06-04 2013-01-01 Apple Inc. Class-based compatibility testing and notification
US9098548B1 (en) * 2010-06-14 2015-08-04 Open Invention Network, Llc Method and apparatus for accessing a data source from a client using a driver
US9022279B2 (en) 2010-06-15 2015-05-05 Apple Inc. Method and system for locating an accessory and an application for use with a user device
EP3147373B1 (de) 2010-07-27 2019-05-15 Genomic Health, Inc. Verfahren zur verwendung von genexpression zur bestimmung der prognose von prostatakrebs
US8648970B2 (en) * 2010-08-02 2014-02-11 Chip Goal Electronics Corporation, Roc Remote controllable video display system and controller and method therefor
US9363348B2 (en) * 2010-10-13 2016-06-07 Plantronics, Inc. Device and process for customizing a headset or other audio device
US8412235B1 (en) * 2010-11-08 2013-04-02 West Corporation Method and apparatus of requesting customized location information at a mobile station
WO2012062955A1 (en) * 2010-11-12 2012-05-18 Maximilian Leroux Mobile device control with external device
US20120123222A1 (en) * 2010-11-15 2012-05-17 Pensiero Medical Electronics Corp. Biomedical devcie capable of using an earphone and microphone plug to transmit data and method for transmitting data
EP2641424B1 (de) * 2010-11-16 2019-08-14 Google LLC Kooperativer tablet-computer und mobilkommunikationsvorrichtung
US9141780B2 (en) * 2010-11-22 2015-09-22 Smsc Holdings S.A.R.L. Method and system for authenticating communication
FR2971657A1 (fr) * 2011-02-11 2012-08-17 Alcatel Lucent Determination d'objets reels actifs pour mise en œuvre d'une application logicielle
US20120254329A1 (en) * 2011-03-31 2012-10-04 Majeti Venkata C Selectable activation/deactivation of features of applications on end user communication devices
US8566842B2 (en) 2011-04-01 2013-10-22 International Business Machines Corporation Identification of a protocol used in a message
US9692611B1 (en) * 2011-04-06 2017-06-27 Google Inc. Context-based sensor selection
FR2974260B1 (fr) * 2011-04-13 2013-09-06 Ingenico Sa Procede de multiplexage de message, dispositif et programme correspondant
US8819448B2 (en) * 2011-04-29 2014-08-26 Georgetown University Method and system for managing information on mobile devices
EP2710487A4 (de) 2011-05-09 2015-06-17 Google Inc Erzeugung von anwendungsempfehlungen auf der basis von benutzerinstallierten anwendungen
WO2012154856A1 (en) 2011-05-09 2012-11-15 Google Inc. Identifying applications of interest based on application metadata
WO2012154848A1 (en) 2011-05-09 2012-11-15 Google Inc. Recommending applications for mobile devices based on installation histories
EP2710465A1 (de) 2011-05-09 2014-03-26 Google, Inc. Ermittlung von interessanten anwendungen basierend auf anwendungsmarktprotokolldaten
US9157953B2 (en) 2011-05-13 2015-10-13 Apple Inc. Test systems with cables that support multiple communications buses
US8806583B2 (en) * 2011-05-17 2014-08-12 GM Global Technology Operations LLC Remote video source authentication protocol
WO2012162687A1 (en) * 2011-05-26 2012-11-29 Candi Controls, Inc. System
US20120307078A1 (en) * 2011-06-03 2012-12-06 Microsoft Corporation Automatic sharing and replacement of content based on network connectivity
US8838261B2 (en) * 2011-06-03 2014-09-16 Apple Inc. Audio configuration based on selectable audio modes
US20120309289A1 (en) * 2011-06-06 2012-12-06 Apple Inc. Techniques for facilitating interoperation between an accessory and multiple devices
KR101769798B1 (ko) * 2011-06-08 2017-08-21 삼성전자 주식회사 액세서리 특성 설정 방법 및 이를 지원하는 액세서리 운용 시스템
US9325378B2 (en) * 2011-06-14 2016-04-26 Broadcom Corporation Computing device multiple display topology detection over radio
US9529752B2 (en) 2011-07-25 2016-12-27 Ford Global Technologies, Llc Method and apparatus for communication between a vehicle based computing system and a remote application
US10067747B2 (en) * 2011-08-12 2018-09-04 Emmoco, Inc. Embedded device application development
US20130045677A1 (en) * 2011-08-17 2013-02-21 Ho-Sung Chien Telematics System and Related Mobile Device and Method
US20130052946A1 (en) * 2011-08-23 2013-02-28 Manjirnath Chatterjee Home automation using a mobile device
US8909149B2 (en) * 2011-08-26 2014-12-09 Hewlett-Packard Development Company, L.P. Media module of a device
US20130060574A1 (en) * 2011-09-07 2013-03-07 Lee H. Perlman Provision of a mobile health product
US20130066650A1 (en) * 2011-09-07 2013-03-14 Happtique, Inc. Provision of a Mobile Health Product
TW201312340A (zh) * 2011-09-09 2013-03-16 Askey Technology Jiangsu Ltd 手持式電子裝置的測試系統及方法
US20140207869A1 (en) * 2011-09-12 2014-07-24 Nokia Corporation Method and apparatus for launching an application identified by a sensor
US8838845B2 (en) * 2011-09-23 2014-09-16 Qualcomm Incorporated Multimedia interface with content protection in a wireless communication device
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8494585B2 (en) * 2011-10-13 2013-07-23 The Boeing Company Portable communication devices with accessory functions and related methods
US8930492B2 (en) 2011-10-17 2015-01-06 Blackberry Limited Method and electronic device for content sharing
US9071740B1 (en) 2011-10-28 2015-06-30 Google Inc. Modular camera system
US9182965B2 (en) * 2011-10-31 2015-11-10 Nokia Technologies Oy Method and apparatus for developing socially suitable applications and devices
US8989094B2 (en) * 2011-11-22 2015-03-24 Wifiname, Inc. Systems and methods for generating and displaying application information on a wireless station
KR101908947B1 (ko) * 2011-11-23 2018-10-17 삼성전자주식회사 외장 기기 연결을 위한 방법 및 장치
US9134969B2 (en) 2011-12-13 2015-09-15 Ipar, Llc Computer-implemented systems and methods for providing consistent application generation
US20130191575A1 (en) * 2011-12-21 2013-07-25 Hendricks Investment Holdings, Llc Methods and systems for providing alternative storage resources
KR101978305B1 (ko) * 2011-12-30 2019-08-29 삼성전자주식회사 디스플레이장치, 업그레이드장치, 디스플레이 시스템 및 그 제어방법
EP2610857A1 (de) * 2011-12-30 2013-07-03 Samsung Electronics Co., Ltd. Anzeigevorrichtung, Aktualisierungsvorrichtung, Anzeigesystem und Steuerungsverfahren dafür
US9537968B1 (en) * 2012-01-06 2017-01-03 Google Inc. Communication of socket protocol based data over a storage protocol based interface
US9197686B1 (en) 2012-01-06 2015-11-24 Google Inc. Backfill of video stream
US20140195582A1 (en) * 2013-01-10 2014-07-10 Packetvideo Corporation System and method for providing an inter-application communication framework
EP2615806B8 (de) 2012-01-16 2017-11-22 GN Audio A/S Anrufverwaltung durch eine freihändige Kommunikationsvorrichtung
US20130198029A1 (en) * 2012-01-26 2013-08-01 Microsoft Corporation Application recommendation and substitution
US9083546B2 (en) 2012-01-31 2015-07-14 Rajendra Padma Sadhu System and method for communicating health parameters of an occupant in an automobile and a dynamic operation of the automobile and home automation
US9026563B2 (en) 2012-02-02 2015-05-05 Salesforce.Com, Inc. Mechanism for facilitating dynamic social media-based management of assets in an on-demand services environment
US8996588B2 (en) * 2012-02-02 2015-03-31 Salesforce.Com, Inc. Mechanism for facilitating dynamic management of assets in an on-demand services environment
CN103246834B (zh) * 2012-02-07 2016-08-17 联想(北京)有限公司 控制方法和电子设备
CN103257780A (zh) * 2012-02-20 2013-08-21 联想(北京)有限公司 显示屏幕旋转方法和电子设备
US9207713B1 (en) * 2012-03-15 2015-12-08 Amazon Technologies, Inc. Location-based device docking
US8910147B2 (en) * 2012-04-17 2014-12-09 Asustek Computer Inc. Application installation method and mobile device
US8755404B2 (en) 2012-04-25 2014-06-17 Gainspan Corporation Facilitating communication between resource-constrained devices and wireless communication terminals
US11216854B2 (en) 2012-04-27 2022-01-04 Blackberry Limited Software distribution accounting
EP4224327A3 (de) 2012-05-02 2023-09-13 Invisio A/S Kabelchipsystem
WO2013169245A2 (en) * 2012-05-09 2013-11-14 Google Inc. Generating application recommendations based on user feedback
US8832750B2 (en) * 2012-05-10 2014-09-09 Time Warner Cable Enterprises Llc Media synchronization within home network using set-top box as gateway
US20140092108A1 (en) * 2012-05-24 2014-04-03 Popslate Media, Inc. Dynamically Changeable Decorative-Protective Accessory for a Mobile Computing Device
US9014183B2 (en) * 2012-05-24 2015-04-21 Apple Inc. Buffer transfer service
US20130332632A1 (en) * 2012-06-08 2013-12-12 Apple Inc. Holistic identification of an electronic device
US9306879B2 (en) * 2012-06-08 2016-04-05 Apple Inc. Message-based identification of an electronic device
US20140006276A1 (en) * 2012-06-28 2014-01-02 Bank Of America Corporation Mobile wallet account number differentiation
GB2503707A (en) * 2012-07-05 2014-01-08 Martin Richard Lambert A smartphone based remote monitoring and control system including a microcontroller unit to which are coupled one or more sensors and/or actuators
CN102779540A (zh) * 2012-08-08 2012-11-14 深圳乐投卡尔科技有限公司 基于Android平台控制iPod播放的方法
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
KR101358352B1 (ko) 2012-12-26 2014-02-07 주식회사 옥타컴 Usb 인터페이스 장치 및 usb 데이터 송수신 방법
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US9477483B2 (en) 2013-01-03 2016-10-25 Tapjoy, Inc. Tracking mobile app installations
JP2016507970A (ja) 2013-01-04 2016-03-10 ヴァジックス コーポレーションVuzix Corporation 双方向型ウェアラブルポータブルスマート装置
US9954987B2 (en) 2013-02-06 2018-04-24 Analogix Semiconductor, Inc. Remote controller utilized with charging dock for controlling mobile device
US9887911B2 (en) 2013-02-28 2018-02-06 Xaptum, Inc. Systems, methods, and devices for adaptive communication in a data communication network
KR101503770B1 (ko) * 2013-03-04 2015-03-18 주식회사 코런 개방형 스마트 앱세서리
US20140259028A1 (en) * 2013-03-05 2014-09-11 Google Inc. Mechanism for establishing temporary background communication between applications
CN103186319A (zh) * 2013-03-11 2013-07-03 北京小米科技有限责任公司 桌面的显示方法和装置
US10357606B2 (en) 2013-03-13 2019-07-23 Tandem Diabetes Care, Inc. System and method for integration of insulin pumps and continuous glucose monitoring
US20140280451A1 (en) * 2013-03-14 2014-09-18 Ford Global Technologies, Llc Method and Apparatus for Mobile Device Connectivity Compatibility Facilitation
US9242043B2 (en) 2013-03-15 2016-01-26 Tandem Diabetes Care, Inc. Field update of an ambulatory infusion pump system
US10204331B2 (en) 2013-03-15 2019-02-12 Worldpay, Llc Conducting a transaction at a mobile POS terminal using a defined structure
US20140351832A1 (en) * 2013-05-21 2014-11-27 Samsung Electronics Co., Ltd. Electronic device using framework interface for communication
KR102163357B1 (ko) 2013-05-21 2020-10-08 삼성전자주식회사 애플리케이션 관리 방법 및 장치
US10205769B2 (en) * 2013-05-31 2019-02-12 Itron, Inc. Distributed applications across platforms
US11328344B2 (en) 2013-05-31 2022-05-10 Itron, Inc. Utility application delivery platform
US9342288B2 (en) * 2013-05-31 2016-05-17 Itron, Inc. Surfacing cross platform applications
US9331894B2 (en) * 2013-05-31 2016-05-03 International Business Machines Corporation Information exchange in data center systems
MA20150009A1 (fr) * 2013-06-06 2015-01-30 Univ Internationale De Rabat Privee Uir Systeme de localisation du telephone portable en mode off
US9730268B2 (en) 2013-06-07 2017-08-08 Apple Inc. Communication between host and accessory devices using accessory protocols via wireless transport
US9720467B2 (en) * 2013-08-09 2017-08-01 Qualcomm Incorporated Thermal mitigation adaptation for a mobile electronic device
US9378723B2 (en) 2013-08-22 2016-06-28 Qualcomm Incorporated Apparatus and method for acquiring configuration data
US9584601B2 (en) * 2013-08-29 2017-02-28 Telenav, Inc. Communication system with transport link mechanism and method of operation thereof
KR102088018B1 (ko) * 2013-09-03 2020-05-27 삼성전자주식회사 전자 기기간 연동 방법 및 장치
US9898642B2 (en) 2013-09-09 2018-02-20 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs
US9497221B2 (en) 2013-09-12 2016-11-15 The Boeing Company Mobile communication device and method of operating thereof
US10064240B2 (en) 2013-09-12 2018-08-28 The Boeing Company Mobile communication device and method of operating thereof
US9819661B2 (en) 2013-09-12 2017-11-14 The Boeing Company Method of authorizing an operation to be performed on a targeted computing device
US9588591B2 (en) 2013-10-10 2017-03-07 Google Technology Holdings, LLC Primary device that interfaces with a secondary device based on gesture commands
CA2964854A1 (en) * 2013-10-22 2015-04-30 Kindara, Inc. Integrated wireless fertility tracking system
KR102129594B1 (ko) 2013-10-30 2020-07-03 애플 인크. 관련 사용자 인터페이스 객체를 표시
US10289219B2 (en) * 2013-10-31 2019-05-14 Hewlett-Packard Development Company, L.P. Communicating with an unsupported input device
US9251109B2 (en) 2013-12-20 2016-02-02 EXILANT Technologies Private Limited Communication with accessories
EP3087548A4 (de) 2013-12-26 2017-09-13 Tandem Diabetes Care, Inc. Sicherheitsprozessor zur drahtlosen steuerung einer arzneimittelabgabevorrichtung
US10324987B2 (en) * 2013-12-31 2019-06-18 Samsung Electronics Co., Ltd. Application search using device capabilities
US9577902B2 (en) 2014-01-06 2017-02-21 Ford Global Technologies, Llc Method and apparatus for application launch and termination
CN103796080B (zh) * 2014-01-06 2018-08-31 联想(北京)有限公司 一种数据处理方法与电子设备
US10849502B2 (en) 2014-02-10 2020-12-01 Samsung Electronics Co., Ltd. System and method for providing health data of peripheral device
US20150271307A1 (en) 2014-03-21 2015-09-24 Motorola Mobility Llc Modular Device and Methods Therefor
KR102233378B1 (ko) 2014-04-07 2021-03-29 삼성전자주식회사 이동 단말과 연결된 착용형 기기의 동작 방법 및 그 착용형 기기
US20150293918A1 (en) * 2014-04-11 2015-10-15 Wesley W. Whitmyer, Jr. Web Searching Software Promoting Results Of Websites Formatted For Mobile Devices
WO2015157910A1 (zh) * 2014-04-15 2015-10-22 华为技术有限公司 共享应用信息方法和装置
WO2015163894A1 (en) * 2014-04-24 2015-10-29 Hewlett-Packard Development Company, L.P. Mobile device support for sensors in peripherals
US9483763B2 (en) 2014-05-29 2016-11-01 Apple Inc. User interface for payments
JP6482578B2 (ja) 2014-06-24 2019-03-13 アップル インコーポレイテッドApple Inc. ユーザインタフェースにおけるナビゲートのためのカラムインタフェース
WO2016021743A1 (ko) * 2014-08-04 2016-02-11 에스피테크놀러지주식회사 공통 프로토콜을 이용하는 통신 단말기 및 그 제어방법
JP6035387B2 (ja) 2014-08-05 2016-11-30 三菱樹脂株式会社 積層多孔フィルム、非水電解液二次電池用セパレータ、非水電解液二次電池、スラリー、及び塗工液
US9420087B2 (en) 2014-09-02 2016-08-16 Apple Inc. Notifications with custom user interface
WO2016036552A1 (en) 2014-09-02 2016-03-10 Apple Inc. User interactions for a mapping application
US9769301B2 (en) * 2014-09-02 2017-09-19 Apple Inc. Accessory device application bundling
US10592187B2 (en) * 2014-09-02 2020-03-17 Apple Inc. Accessory device operation with user mobile device over network connection
US10602082B2 (en) 2014-09-17 2020-03-24 Fluke Corporation Triggered operation and/or recording of test and measurement or imaging tools
US9568368B2 (en) 2014-09-17 2017-02-14 Fluke Corporation Mobile device used with isolated test and measurement input block
US10271020B2 (en) 2014-10-24 2019-04-23 Fluke Corporation Imaging system employing fixed, modular mobile, and portable infrared cameras with ability to receive, communicate, and display data and images with proximity detection
US9572104B2 (en) * 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
CN104778143B (zh) * 2015-03-20 2018-06-01 飞天诚信科技股份有限公司 主动与苹果设备连接并进行通信的方法和苹果设备附件
KR102335913B1 (ko) * 2015-04-02 2021-12-06 삼성전자주식회사 전자 장치의 보조 입력 장치 및 그의 기능 실행 방법
US10280386B2 (en) * 2015-04-03 2019-05-07 Ecolab Usa Inc. Enhanced peroxygen stability in multi-dispense TAED-containing peroxygen solid
US9763024B2 (en) * 2015-04-09 2017-09-12 Yahoo Holdings, Inc. Mobile ghosting
US11080744B2 (en) 2015-05-13 2021-08-03 Abl Ip Holding, Llc Systems and methods for dynamically transmitting content to potential customers
US9544485B2 (en) 2015-05-27 2017-01-10 Google Inc. Multi-mode LED illumination system
US20160358133A1 (en) 2015-06-05 2016-12-08 Apple Inc. User interface for loyalty accounts and private label accounts for a wearable device
US9940637B2 (en) 2015-06-05 2018-04-10 Apple Inc. User interface for loyalty accounts and private label accounts
US9886620B2 (en) 2015-06-12 2018-02-06 Google Llc Using a scene illuminating infrared emitter array in a video monitoring camera to estimate the position of the camera
US9613423B2 (en) 2015-06-12 2017-04-04 Google Inc. Using a depth map of a monitored scene to identify floors, walls, and ceilings
US9386230B1 (en) 2015-06-12 2016-07-05 Google Inc. Day and night detection based on one or more of illuminant detection, lux level detection, and tiling
US9235899B1 (en) 2015-06-12 2016-01-12 Google Inc. Simulating an infrared emitter array in a video monitoring camera to construct a lookup table for depth determination
US9554063B2 (en) 2015-06-12 2017-01-24 Google Inc. Using infrared images of a monitored scene to identify windows
US9626849B2 (en) 2015-06-12 2017-04-18 Google Inc. Using scene information from a security camera to reduce false security alerts
US9489745B1 (en) 2015-06-12 2016-11-08 Google Inc. Using depth maps of a scene to identify movement of a video camera
US9454820B1 (en) 2015-06-12 2016-09-27 Google Inc. Using a scene illuminating infrared emitter array in a video monitoring camera for depth determination
KR102495549B1 (ko) * 2015-07-07 2023-02-06 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 복수의 장치의 제어
US10863562B2 (en) 2015-08-20 2020-12-08 Hewlett-Packard Development Company, L.P. Peripheral device pairing
US20170078544A1 (en) 2015-09-16 2017-03-16 Fluke Corporation Electrical isolation for a camera in a test and measurement tool
WO2017070629A1 (en) 2015-10-23 2017-04-27 Fluke Corporation Imaging tool for vibration and/or misalignment analysis
US10980911B2 (en) 2016-01-21 2021-04-20 Global Plasma Solutions, Inc. Flexible ion generator device
US10926756B2 (en) 2016-02-23 2021-02-23 Deka Products Limited Partnership Mobility device
US11399995B2 (en) 2016-02-23 2022-08-02 Deka Products Limited Partnership Mobility device
US10908045B2 (en) 2016-02-23 2021-02-02 Deka Products Limited Partnership Mobility device
US10893028B2 (en) * 2017-05-20 2021-01-12 Deka Products Limited Partnership System and method for secure remote control of a medical device
US10541987B2 (en) 2016-02-26 2020-01-21 Tandem Diabetes Care, Inc. Web browser-based device communication workflow
US10055368B2 (en) * 2016-02-26 2018-08-21 Sandisk Technologies Llc Mobile device and method for synchronizing use of the mobile device's communications port among a plurality of applications
US10749986B2 (en) 2016-04-11 2020-08-18 Samsung Electronics Co., Ltd. Platform for interaction via commands and entities
US10621581B2 (en) 2016-06-11 2020-04-14 Apple Inc. User interface for transactions
CN114693289A (zh) 2016-06-11 2022-07-01 苹果公司 用于交易的用户界面
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10346457B2 (en) * 2016-07-27 2019-07-09 Microsoft Technology Licensing, Llc Platform support clusters from computer application metadata
WO2018022312A1 (en) * 2016-07-29 2018-02-01 CIS Secure Computing, Inc. Positive disconnect unit
US11283245B2 (en) 2016-08-08 2022-03-22 Global Plasma Solutions, Inc. Modular ion generator device
US11695259B2 (en) 2016-08-08 2023-07-04 Global Plasma Solutions, Inc. Modular ion generator device
US10564803B2 (en) 2016-08-18 2020-02-18 Samsung Electronics Co., Ltd. Selecting application that can handle data content
US10624019B2 (en) * 2016-08-30 2020-04-14 Hyungkoo Lee Wireless transceiver system
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US11188947B2 (en) 2016-10-05 2021-11-30 Abl Ip Holding, Llc Analyzing movement of data collectors/gateways associated with retail displays
US10496808B2 (en) 2016-10-25 2019-12-03 Apple Inc. User interface for managing access to credentials for use in an operation
US11966560B2 (en) 2016-10-26 2024-04-23 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
US10180615B2 (en) 2016-10-31 2019-01-15 Google Llc Electrochromic filtering in a camera
CN106603860A (zh) * 2016-12-30 2017-04-26 百度在线网络技术(北京)有限公司 通信连接建立方法及系统、移动终端与车载设备
JP6719120B2 (ja) * 2017-01-25 2020-07-08 株式会社ルースヒースガーデン 防犯システム、防犯方法、および、防犯プログラム
CN107241485A (zh) * 2017-04-19 2017-10-10 太仓诚泽网络科技有限公司 一种采用网关自动识别多媒体格式的方法
TWI637314B (zh) * 2017-05-10 2018-10-01 趙平 智慧型耳機裝置個人化系統及其使用方法
US11270348B2 (en) 2017-05-19 2022-03-08 Abl Ip Holding, Llc Systems and methods for tracking products transported in shipping containers
JP2020523832A (ja) * 2017-06-05 2020-08-06 コムスコープ テクノロジーズ リミティド ライアビリティ カンパニー 複数のラックに設置されたインテリジェントパッチング装置のネイティブサポートを有するラックコントローラ
KR102367053B1 (ko) * 2017-07-13 2022-02-24 삼성전자주식회사 외부 전자 장치와 통신을 수행하기 위한 전자 장치
KR102185854B1 (ko) 2017-09-09 2020-12-02 애플 인크. 생체측정 인증의 구현
EP4155988A1 (de) 2017-09-09 2023-03-29 Apple Inc. Implementierung der biometrischen authentifizierung zur ausführung einer entsprechenden funktion
EP3681397B1 (de) * 2017-09-13 2022-06-08 Varex Imaging Corporation Kommunikationssystem und -protokoll für röntgenbildgebungskomponente
US10425335B2 (en) * 2017-09-19 2019-09-24 Sap Se Reconstructing message flows based on hash values
US11057352B2 (en) 2018-02-28 2021-07-06 Xaptum, Inc. Communication system and method for machine data routing
US10965653B2 (en) 2018-03-28 2021-03-30 Xaptum, Inc. Scalable and secure message brokering approach in a communication system
CN108665232A (zh) * 2018-04-16 2018-10-16 中山易美信息技术有限公司 一种手机端办公自动化系统
US10805439B2 (en) 2018-04-30 2020-10-13 Xaptum, Inc. Communicating data messages utilizing a proprietary network
US10454503B1 (en) * 2018-05-18 2019-10-22 Aram Falsafi System and method for wireless communication with improved protocol support
US11170085B2 (en) 2018-06-03 2021-11-09 Apple Inc. Implementation of biometric authentication
US10924593B2 (en) 2018-08-31 2021-02-16 Xaptum, Inc. Virtualization with distributed adaptive message brokering
US11100349B2 (en) 2018-09-28 2021-08-24 Apple Inc. Audio assisted enrollment
US10860096B2 (en) 2018-09-28 2020-12-08 Apple Inc. Device control using gaze information
CN109508276B (zh) * 2018-11-09 2023-03-14 四川长虹电器股份有限公司 提高Android平台上设备工厂检测效率的方法
US10938877B2 (en) 2018-11-30 2021-03-02 Xaptum, Inc. Optimizing data transmission parameters of a proprietary network
US10912053B2 (en) 2019-01-31 2021-02-02 Xaptum, Inc. Enforcing geographic restrictions for multitenant overlay networks
WO2020171248A1 (ko) * 2019-02-19 2020-08-27 모비케이 주식회사 무선인증 기반의 악세서리를 이용한 온라인 콘텐츠 제공 시스템 및 이에 사용되는 스마트폰 케이스
EP3927391A4 (de) 2019-02-19 2022-11-16 Tandem Diabetes Care, Inc. System und verfahren zur paarung einer infusionspumpe mit einer fernsteuerungsvorrichtung
US11363004B2 (en) 2019-03-08 2022-06-14 International Business Machines Corporation Secure device relay
EP3928526A1 (de) 2019-03-24 2021-12-29 Apple Inc. Benutzerschnittstellen zur ansicht von und zugriff auf inhalt auf einem elektronischen gerät
CN114115676A (zh) 2019-03-24 2022-03-01 苹果公司 包括内容项的可选表示的用户界面
US11328352B2 (en) 2019-03-24 2022-05-10 Apple Inc. User interfaces for managing an account
WO2020198238A1 (en) 2019-03-24 2020-10-01 Apple Inc. User interfaces for a media browsing application
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
WO2020198422A1 (en) 2019-03-26 2020-10-01 Tandem Diabetes Care, Inc. Method of pairing an infusion pump with a remote control device
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
WO2020243645A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11581709B2 (en) 2019-06-07 2023-02-14 Global Plasma Solutions, Inc. Self-cleaning ion generator device
CN110166630B (zh) * 2019-06-23 2021-06-29 重庆安连普电子有限公司 一种基于Type-C接口对手机网络安全监控的方法及系统
EP4034979B1 (de) 2019-09-29 2024-01-03 Apple Inc. Benutzerschnittstellen für kontoverwaltung
US11169830B2 (en) 2019-09-29 2021-11-09 Apple Inc. Account management user interfaces
CN111045750B (zh) * 2019-12-19 2023-07-07 飞天诚信科技股份有限公司 多应用设备上自动匹配应用程序的方法及电子设备
CN113254367A (zh) * 2020-02-11 2021-08-13 合肥杰发科技有限公司 一种基于iAP1协议的命令处理方法、电子设备以及存储介质
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
DK180985B1 (da) 2020-04-10 2022-09-02 Apple Inc Brugergrænseflader for muliggørelse af en aktivitet
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11816194B2 (en) 2020-06-21 2023-11-14 Apple Inc. User interfaces for managing secure operations
CN114265601A (zh) * 2020-09-16 2022-04-01 伊姆西Ip控股有限责任公司 管理人工智能应用的方法、设备和程序产品
CN112165480B (zh) * 2020-09-22 2022-11-11 北京字跳网络技术有限公司 信息获取方法、装置和电子设备
FR3115130B1 (fr) * 2020-10-09 2023-04-14 Safran Electronics & Defense Procédé et système de gestion de compatibilité entre deux équipements
US20240031787A1 (en) * 2020-10-23 2024-01-25 Hewlett-Packard Development Company, L.P. Event-based commands
US11973737B2 (en) * 2020-11-11 2024-04-30 Twilio Inc. System and method for automatically transitioning between carrier and IP messaging
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
CA3237299A1 (en) * 2021-11-09 2023-05-19 Carolyn Ann Bankston Systems and methods for providing and using wearable electronic accessories
CN116502197A (zh) 2022-01-19 2023-07-28 戴尔产品有限公司 计算机实现的方法、设备和计算机程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220988A1 (en) 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
DE102005048427B3 (de) 2005-10-07 2007-05-31 Audioton Kabelwerk Gmbh Zweigniederlassung Scheinfeld Kommunikations-Anordnung für ein Fahrzeug

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05252228A (ja) * 1992-03-02 1993-09-28 Mitsubishi Electric Corp データ伝送装置及びその通信路管理方法
US5596723A (en) * 1994-06-23 1997-01-21 Dell Usa, Lp Method and apparatus for automatically detecting the available network services in a network system
US5938738A (en) 1997-11-03 1999-08-17 Mustek Systems Inc. Peripheral control system
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6438616B1 (en) * 1997-12-18 2002-08-20 Sun Microsystems, Inc. Method and apparatus for fast, local corba object references
US6189102B1 (en) * 1998-05-27 2001-02-13 3Com Corporation Method for authentication of network devices in a data-over cable system
US6604157B1 (en) * 1999-02-19 2003-08-05 Hewlett-Packard Development Company System and method for allowing a user to select and scan from a peripheral to a target application on a host system
US6251014B1 (en) 1999-10-06 2001-06-26 International Game Technology Standard peripheral communication
FR2800540B1 (fr) 1999-10-28 2001-11-30 Bull Cp8 Terminal securise muni d'un lecteur de carte a puce destine a communiquer avec un serveur via un reseau de type internet
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
JP2001320479A (ja) * 2000-05-10 2001-11-16 Nec Niigata Ltd 携帯電話機の接続装置及び接続方法、コンピュータ、並びに接続ケーブル
US20060031126A1 (en) * 2000-12-08 2006-02-09 Clarinet Systems, Inc. Method and for facilitating network communication between a wireless device and a service system via an interface
US7546298B2 (en) * 2001-01-09 2009-06-09 Nextair Corporation Software, devices and methods facilitating execution of server-side applications at mobile devices
KR100416342B1 (ko) * 2001-02-06 2004-01-31 주식회사 케이티프리텔 Sms와 무선 인터넷을 이용한 데이터 수신 방법 및시스템
JP2002335344A (ja) * 2001-03-07 2002-11-22 Casio Comput Co Ltd 接続ユニット、無線通信システム、接続ユニットの制御方法、及び、無線通信方法
US6671749B2 (en) * 2001-03-07 2003-12-30 Hewlett-Packard Development Company, L.P. Peripheral driver installation method and system
US7099333B2 (en) * 2001-03-07 2006-08-29 Lucent Technologies Inc. Automatic protocol version detection and call processing reconfiguration in a communication system
US7209470B2 (en) 2001-03-16 2007-04-24 Intel Corporation Method and apparatus for encapsulating universal serial bus messaging over link layer communication protocol
KR100671153B1 (ko) * 2001-04-25 2007-01-17 엘지전자 주식회사 디바이스 드라이버 설치방법
AUPR571801A0 (en) * 2001-06-15 2001-07-12 Polartechnics Limited Apparatus for tissue type recognition using multiple measurement techniques
WO2003012577A2 (en) 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation
CN100392626C (zh) * 2001-11-20 2008-06-04 森维公司 网络化设备的访问和控制系统
US20030149874A1 (en) 2002-02-06 2003-08-07 Xerox Corporation Systems and methods for authenticating communications in a network medium
KR100444996B1 (ko) * 2002-02-08 2004-08-21 삼성전자주식회사 인터넷을 통한 디바이스 드라이버 자동 설치 및 유지 보수방법 및 그 시스템
US20030158954A1 (en) * 2002-02-19 2003-08-21 Williams Terry L. Software-defined radio communication protocol translator
US6742061B1 (en) * 2002-03-08 2004-05-25 Nokia Corporation Accessory control interface
EP1347623A1 (de) * 2002-03-22 2003-09-24 Nokia Corporation Herunterladen von Anwendungssoftware für eine Zusatzvorrichtung in ein mobiles Endgerät
US8005505B2 (en) 2002-06-25 2011-08-23 Hewlett-Packard Development Company, L.P. Identifying remote, external devices and facilitating communication therewith
US6976092B1 (en) * 2002-09-17 2005-12-13 Bellsouth Intellectual Property Corp. System that using transport protocol objects located at agent location to generate session ID and to provide translation between different instant messaging protocols
US7062261B2 (en) * 2003-01-31 2006-06-13 Motorola, Inc. Method and apparatus for automatic detection and installation of Java-enabled accessories
KR100447526B1 (ko) * 2003-03-18 2004-09-08 엔에이치엔(주) 인터넷 사용자의 접속 의도 판단 방법 및 이를 이용한인터넷 상의 광고 방법과 그 시스템
US7062260B2 (en) * 2003-03-27 2006-06-13 Nokia Corporation Fetching application and driver for extension device from network
US20050097248A1 (en) * 2003-10-29 2005-05-05 Kelley Brian H. System and method for establishing a communication between a peripheral device and a wireless device
EP1706963A4 (de) 2003-11-02 2011-06-15 Yossy Sela Mobiltelefon-gateway-vorrichtung, kommunikationssystem und gateway-betriebssystem
US7519719B2 (en) 2004-04-15 2009-04-14 Agilent Technologies, Inc. Automatic creation of protocol dependent control path for instrument application
US7526588B1 (en) * 2004-04-27 2009-04-28 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US20050262269A1 (en) * 2004-05-20 2005-11-24 Pike Jimmy D System and method for information handling system PCI express advanced switching
JP4342393B2 (ja) * 2004-07-14 2009-10-14 株式会社東芝 携帯端末機器に装着される電子装置及び電子装置の制御方法
US20090024757A1 (en) * 2004-07-30 2009-01-22 Proctor David W Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
US7493327B1 (en) * 2004-09-23 2009-02-17 Microsoft Corporation Schema-facilitated device capability discovery
JP4473695B2 (ja) 2004-10-01 2010-06-02 パナソニック株式会社 通信端末装置、電化機器及び通信方法
GB2427932B (en) * 2005-06-30 2008-11-26 Pentax Corp Optical image stabilizer
US8755845B2 (en) * 2005-07-01 2014-06-17 Plantronics, Inc. Wireless headset systems and methods for activating application programs on processor-based host
JP4764670B2 (ja) * 2005-07-29 2011-09-07 テックファーム株式会社 非接触送受信システム及び携帯情報端末
JP4107315B2 (ja) * 2005-08-30 2008-06-25 コニカミノルタビジネステクノロジーズ株式会社 情報機器、その制御方法、および、制御プログラム
US7873384B2 (en) * 2005-09-01 2011-01-18 Broadcom Corporation Multimode mobile communication device with configuration update capability
US9009265B2 (en) * 2005-09-28 2015-04-14 Photobucket Corporation System and method for automatic transfer of data from one device to another
US7636030B2 (en) 2005-10-26 2009-12-22 Rockwell Automation Technologies, Inc. Security layers for wireless industrial control user interface
JP2007135054A (ja) * 2005-11-11 2007-05-31 Felica Networks Inc 携帯通信装置,情報処理方法,およびコンピュータプログラム
US7783702B2 (en) 2005-11-30 2010-08-24 Microsoft Corporation Using a mobile phone to control a personal computer
US7983413B2 (en) 2005-12-09 2011-07-19 Sony Ericsson Mobile Communications Ab VoIP accessory
US20070180445A1 (en) * 2006-01-30 2007-08-02 Microsoft Corporation Download Service For Device Drivers
GB0603781D0 (en) * 2006-02-24 2006-04-05 Nokia Corp Application verification
US7616760B2 (en) 2006-04-05 2009-11-10 Sony Ericsson Mobile Communications Ab Headset for use with a communication and/or multimedia device
US7689168B2 (en) * 2006-03-30 2010-03-30 Sony Ericsson Mobile Communications Ab Remote user interface for Bluetooth™ device
WO2007117592A2 (en) 2006-04-05 2007-10-18 Glenbrook Associates, Inc. System and method for managing product information
US8073984B2 (en) * 2006-05-22 2011-12-06 Apple Inc. Communication protocol for use with portable electronic devices
EP1898306A1 (de) 2006-09-11 2008-03-12 Research In Motion Limited Verfahren und Vorrichtung für eine veränderliche USB Interaktion
US8584115B2 (en) * 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system
US7966428B2 (en) * 2006-10-31 2011-06-21 Apple Inc. Control of electronic devices based on capability descriptions
JP2008210301A (ja) * 2007-02-28 2008-09-11 Sony Corp 記憶媒体、通信システム、並びに制御装置。
JP2008219621A (ja) * 2007-03-06 2008-09-18 Hitachi Communication Technologies Ltd 通話録音機能付き電話機およびその情報処理方法
US20080240058A1 (en) * 2007-04-02 2008-10-02 Broadcom Corporation Simultaneous wlan communications to carry personal area network communications
US20080248835A1 (en) 2007-04-04 2008-10-09 Sony Ericsson Mobile Communications Ab Accessory communication method and system for mobile services
US8078787B2 (en) * 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
US8086781B2 (en) 2007-06-22 2011-12-27 Apple Inc. Serial pass-through device
US20090064202A1 (en) 2007-09-04 2009-03-05 Apple, Inc. Support layer for enabling same accessory support across multiple platforms
TW200922185A (en) 2007-09-26 2009-05-16 Packetvideo Corp System and method for receiving broadcast multimedia on a mobile device
US20090181649A1 (en) * 2008-01-10 2009-07-16 Bull William E Dynamic Delivery and Presentation of Electronic Data to Mobile Electronic Devices
US8719454B2 (en) 2008-03-19 2014-05-06 Intel Corporation Enabling peripheral communication in a local area network
EP2106107B1 (de) * 2008-03-27 2012-04-18 Motorola Mobility, Inc. Verfahren und Vorrichtung für die automatische Nahfeld-Kommunikations-Anwendungsauswahl in einem elektronischen Gerät
US8624844B2 (en) 2008-04-01 2014-01-07 Litl Llc Portable computer with multiple display configurations
EP2139211A1 (de) 2008-06-27 2009-12-30 Axalto S.A. System und Verfahren zur Erweiterung der Smart-Card-Kapazität durch Kopplung an eine tragbare elektronische Vorrichtung
US8527688B2 (en) * 2008-09-26 2013-09-03 Palm, Inc. Extending device functionality amongst inductively linked devices
US20100107097A1 (en) * 2008-10-16 2010-04-29 Andrew Rodney Ferlitsch Client device with extensible imaging device driver and method implementing same
US20100138914A1 (en) 2008-12-01 2010-06-03 Research In Motion Limited System and method of providing biometric quick launch
US20100161720A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. System and method for providing content to a mobile device
US20100255908A1 (en) * 2009-01-29 2010-10-07 Stephen Michael Grimes Multimedia-enabled physical trading card
US20120081207A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Application launching in conjunction with an accessory
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
US8639733B2 (en) * 2009-03-16 2014-01-28 Apple Inc. Automatic identification of compatible applications and accessories
US8626932B2 (en) * 2009-09-01 2014-01-07 Apple Inc. Device-dependent selection between modes for asymmetric serial protocols
US7865629B1 (en) 2009-11-24 2011-01-04 Microsoft Corporation Configurable connector for system-level communication
US8433828B2 (en) 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220988A1 (en) 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
DE102005048427B3 (de) 2005-10-07 2007-05-31 Audioton Kabelwerk Gmbh Zweigniederlassung Scheinfeld Kommunikations-Anordnung für ein Fahrzeug

Also Published As

Publication number Publication date
JP5599768B2 (ja) 2014-10-01
KR20110129473A (ko) 2011-12-01
US8402128B2 (en) 2013-03-19
US20100235425A1 (en) 2010-09-16
JP4842383B2 (ja) 2011-12-21
EP2230605B1 (de) 2021-12-01
US8775652B2 (en) 2014-07-08
CN102428665A (zh) 2012-04-25
AU2010226111B2 (en) 2013-01-24
US20160036949A1 (en) 2016-02-04
US20170318137A1 (en) 2017-11-02
US9736281B2 (en) 2017-08-15
MX2011009737A (es) 2011-12-16
US8639733B2 (en) 2014-01-28
EP2642401A2 (de) 2013-09-25
CN105162955A (zh) 2015-12-16
HK1164584A1 (en) 2012-09-21
US8700789B2 (en) 2014-04-15
GB201117660D0 (en) 2011-11-23
US20120023185A1 (en) 2012-01-26
US20100233961A1 (en) 2010-09-16
EP2642402A2 (de) 2013-09-25
US8554924B2 (en) 2013-10-08
US20100235518A1 (en) 2010-09-16
EP2642402B1 (de) 2014-12-24
AU2010226111A1 (en) 2011-10-13
BRPI1009309A2 (pt) 2016-03-08
DE112010001170T5 (de) 2012-05-31
US20120023199A1 (en) 2012-01-26
CN102428665B (zh) 2015-06-17
KR101346541B1 (ko) 2013-12-31
EP2642402A3 (de) 2013-11-06
EP2642401A3 (de) 2013-10-30
US8402145B2 (en) 2013-03-19
JP2012075110A (ja) 2012-04-12
WO2010107660A1 (en) 2010-09-23
GB2481349A (en) 2011-12-21
US20100235552A1 (en) 2010-09-16
CN105162955B (zh) 2018-07-31
US20100235454A1 (en) 2010-09-16
JP2010233217A (ja) 2010-10-14
US8341318B2 (en) 2012-12-25
GB2481349B (en) 2014-01-29
US20100235373A1 (en) 2010-09-16
EP2230605A1 (de) 2010-09-22
US9069908B2 (en) 2015-06-30
BRPI1009309B1 (pt) 2021-11-16
EP2428899A1 (de) 2012-03-14

Similar Documents

Publication Publication Date Title
DE112010001170B4 (de) Zubehörvorrichtung und mobile Rechenvorrichtungskommunikation mit Hilfe eines Anwendungskommunikationsprotokolls
US20170013066A1 (en) Application launching in conjunction with an accessory
US9654293B2 (en) Accessory identification for mobile computing devices
US8452903B2 (en) Mobile computing device capabilities for accessories
AU2011101205A4 (en) Accessory and mobile computing device communication using an application communication protocol
AU2013205264B2 (en) Accessory and mobile computing device communication using an application communication protocol

Legal Events

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