# Patent

## Title
Method and system for transferring stored data between a media player and an accessory

## Abstract

A method, system and connector interface for transferring stored data between a media player and an accessory is disclosed. The method and system comprises obtaining by one of the media player and the accessory a unique identifier for a particular file stored in the other of the media player and the accessory; and returning the unique identifier with the stored file data to the one of the media player and the accessory. The system and method includes utilizing the stored file by the one of the media player or the accessory. In the method, system and connector interface in accordance with the present invention, accessories and media players are able to retrieve and store data utilizing an arbitrary format. This data is opaque to any protocol used by the media player and requires no parsing or interpretation. To provide this facility, a plurality of commands allows both media players and accessories to present a simple file system. The plurality of commands could be utilized in a variety of environments.

## Background
FIELD OF THE INVENTION
The present invention relates generally to electrical devices and more particularly to electrical devices such as media players that communicate with accessory devices.
BACKGROUND OF THE INVENTION
A media player stores media assets, such as audio tracks or photos that can be played or displayed on the media player. One example of a media player is the iPod® media player, which is available from Apple Computer, Inc. of Cupertino, Calif. Often, a media player acquires its media assets from a host computer that serves to enable a user to manage media assets. As an example, the host computer can execute a media management application to manage media assets. One example of a media management application is iTunes®, version 6.0, produced by Apple Computer, Inc.
A media player typically includes one or more connectors or ports that can be used to interface to the media player. For example, the connector or port can enable the media player to couple to a host computer, be inserted into a docking system, or receive an accessory device. There are today many different types of accessory devices that can interconnect to the media player. For example, a remote control can be connected to the connector or port to allow the user to remotely control the media player. As another example, an automobile can include a connector and the media player can be inserted onto the connector such that an automobile media system can interact with the media player, thereby allowing the media content on the media player to be played within the automobile.
Currently, the connectors or ports of a media player are open for use so long as a compatible connector or port is utilized. Consequently, numerous third-parties have developed accessory devices for use with other manufacturers' media players. One difficulty is that since a media player communicates with a variety of accessories must store information retrieved from each of the accessory in the file format of the accessory. Conversely if an accessory stores information in the media player it must do so in a compatible manner.
Thus, there is a need for improved techniques to enable manufacturers of electronic devices to control the nature and extent to which accessory devices can be utilized with other electronic devices.
SUMMARY OF THE INVENTION
A method, system and connector interface for transferring stored data between a media player and an accessory is disclosed. The method and system comprises obtaining by one of the media player and the accessory a unique identifier for a particular file stored in the other of the media player and the accessory; and returning the unique identifier with the stored file data to the one of the media player and the accessory. The system and method includes utilizing the stored file by the one of the media player or the accessory.
In the method, system and connector interface in accordance with the present invention, accessories and media players are able to retrieve and store data utilizing an arbitrary format. This data is opaque to any protocol used by the media player and requires no parsing or interpretation. To provide this facility, a plurality of commands allows both media players and accessories to present a simple file system. The plurality of commands could be utilized in a variety of environments.



BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1A and 1B illustrate a docking connector in accordance with the present invention.
FIG. 2A is a front and top view of a remote connector in accordance with the present invention.
FIG. 2B illustrates a plug to be utilized in the remote connector.
FIG. 2C illustrates the plug inserted into the remote connector.
FIG. 3A illustrates the connector pin designations for the docking connector.
FIG. 3B illustrates the connection pin designations for the remote connector.
FIG. 4A illustrates a typical FireWire connector interface for the docking connector.
FIG. 4B illustrates a reference schematic diagram for an accessory power source.
FIG. 4C illustrates a reference schematic diagram for a system for detecting and identifying accessories for the docking connector.
FIG. 4D is a reference schematic of an electret microphone that may be within the remote connector.
FIG. 5A illustrates a media player coupled to different accessories
FIG. 5B illustrates the media player coupled to a computer.
FIG. 5C illustrates the media player coupled to a car or home stereo system.
FIG. 5D illustrates the media player coupled to a dongle that communicates wirelessly with other accessories.
FIG. 5E illustrates the media player coupled to a speaker system.
FIG. 6 is a flow chart which illustrates a process for allowing the transfer of data between a media player and an accessory.



DETAILED DESCRIPTION OF THE INVENTION
The present invention relates generally to electrical devices and more particularly to electrical devices such as media players that communicate with accessory devices. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
In a method and system in accordance with the present invention, accessories and media players are able to retrieve and store data utilizing an arbitrary format. This data is opaque to any protocol used by the media player and requires no parsing or interpretation. To provide this facility, a plurality of commands allows both media players and accessories to present a simple file system. The plurality of commands could be utilized in a variety of environments. One such environment is within a connector interface system environment such as described in detail hereinbelow.
Connector Interface System Overview
To describe the features of the connector interface system in accordance with the present invention in more detail, refer now to the following description in conjunction with the accompanying drawings.
Docking Connector
FIGS. 1A and 1B illustrate a docking connector 100 in accordance with the present invention. Referring first to FIG. 1A, the keying features 102 are of a custom length 104. In addition, a specific key arrangement where one set of keys are separated by one length are at the bottom and another set of keys are separated by another length at the top of the connector is used. The use of this key arrangement prevents noncompliant connectors from being plugged in and causing potential damage to the device. The connector for power utilizes a Firewire specification for power. The connector includes a first make/last break contact to implement this scheme. FIG. 1B illustrates the first make/last break contact 202 and also illustrates a ground pin and a power pin related to providing an appropriate first mate/last break contact. In this example, the ground pin 204 is longer than the power pin 206. Therefore, the ground pin 204 would contact its mating pin in the docking accessory before the power pin 206. Therefore internal electrical damage of the electronics of the device is minimized.
In addition, a connector interface system in accordance with the present invention uses both USB and Firewire interfaces as part of the same docking connector alignment, thereby making the design more compatible with different types of interfaces, as will be discussed in detail hereinafter. In so doing, more remote accessories can interface with the media player.
Remote Connector
The connection interface system also includes a remote connector which provides for the ability to output audio, input audio, provides I/O serial protocol, and to provide an output video. FIG. 2A is a front and top view of a remote connector 200 in accordance with the present invention. As is seen, the remote connector 200 includes a top headphone receptacle 202, as well as a second receptacle 204 for remote devices. FIG. 2B illustrates a plug 300 to be utilized in the remote connector. The plug 300 allows the features to be provided via the remote connector. FIG. 2C illustrates the plug 300 inserted into the remote connector 200. Heretofore, all these features have not been implemented in a remote connector. Therefore, a standard headphone cable can be plugged in but also special remote control cables, microphone cables and video cables could be utilized with the remote connector.
To describe the features of the connector interface system in more detail, please find below a functional description of the docking connector, remote connector and a command set in accordance with the present invention.
Docking and Remote Connector Specifications
For an example of the connector pin designations for both the docking connector and for the remote connector for a media player such as an iPod device by Apple Computer, Inc., refer now to FIGS. 3A and 3B. FIG. 3A illustrates the connector pin designations for the docking connector. FIG. 3B illustrates the connection pin designations for the remote connector.
Docking Connector Specifications
FIG. 4A illustrates a typical Firewire connector interface for the docking connector:
Firewire Power:
a) 8V-30V DC IN
b) 10 W Max
Firewire:
a) Designed to IEEE 1394 A Spec (400 Mb/s)
USB Interface
The media player provides two configurations, or modes, of USB device operation: mass storage and media player USB Interface (MPUI). The MPUI allows the media player to be controlled using a media player accessory protocol (MPAP) which will be described in detail later herein, using a USB Human Interface Device (HID) interface as a transport mechanism.
Accessory 3.3 V Power
FIG. 4B illustrates the accessory power source. The media player accessory power pin supplies voltages, for example, 3.0 V to 3.3V+/−5% (2.85 V to 3.465 V) over the 30-pin connector and remote connector (if present). A maximum current is shared between the 30-pin and Audio/Remote connectors.
By default, the media player supplies a particular current such as 5 mA. Proper software accessory detect is required to turn on high power (for example, up to 100 mA) during active device usage. When devices are inactive, they must consume less than a predetermined amount of power such as 5 mA current.
Accessory power is switched off for a period of, for example, approximately 2 seconds during the media player bootstrap process. This is done to ensure that accessories are in a known state and can be properly detected. All accessories are responsible for re-identifying themselves after the media player completes the bootstrap process and transitions accessory power from the off to the on state.
Accessory power is grounded through the F/W GND pins.
FIG. 4C illustrates a reference schematic diagram for a system for detecting and identifying accessories for the docking connector. The system comprises:

    
    
        a) A resistor to ground allows the device to determine what has been plugged into docking connector. There is an internal pullup on Accessory Identify.
        b) Two pins required (Accessory Identify & Accessory Detect)
    
    


FIG. 4D is a reference schematic of an electret microphone that is within the remote connector.
Serial Protocol Communication:

    
    
        a) Two pins used to communicate to and from device (Rx & Tx)
        b) Input & Output (0V=Low, 3.3V=High)
    
    


As before mentioned, media players connect to a variety of accessories. FIGS. 5A-5E illustrates a media player 500 coupled to different accessories. FIG. 5A illustrates a media player 500′ coupled to a docking station 502. FIG. 5B illustrates the media player 500′′ coupled to a computer 504. FIG. 5C illustrates the media player 500′′′ coupled to a car or home stereo system 506. FIG. 5D illustrates the media player 500′′′′ coupled to a dongle 508 that communicates wirelessly with other devices. FIG. 5E illustrates the media player 500′′′′′ coupled to a speaker system 510. As is seen, what is meant by accessories includes but is not limited to docking stations, chargers, car stereos, microphones, home stereos, computers, speakers, and accessories which communicate wirelessly with other accessories.
As before mentioned, this connector interface system could be utilized with a command set for allowing the transfer of storage data between a media player and an accessory. It should be understood by one of ordinary skill in the art that although the above-identified connector interface system could be utilized with the command set a variety of other connectors or systems could be utilized and they would be within the spirit and scope of the present invention. To describe the utilization of the command set in more detail refer now to the following description in conjunction with the accompanying Figure.
FIG. 6 is a flow chart which illustrates the process for allowing the transfer of storage data between a media player and an accessory. As is seen, one of the accessory and the media player obtains a unique identifier for a particular file related to the other of the accessory and media player, via step 602. The identifier, for example, could be a unique file handle. Next, the unique identifier is returned to the one of the accessory or media player with the data associated with the identifier, via step 604. Finally, the data related to the identifier is utilized by the media player or the accessory, via step 606.
Based upon the commands utilized, this utilization can take many forms. For example, the data can be written by the media player or the accessory. In another example, the data could be read by the one of the media player or the accessory. In addition, the file can be closed after the data is read or written. In another example, data can be deleted after closing the file, or after the data is read or written depending on the environment. The following will describe in detail various commands which can be utilized to perform the process described hereinabove. In one embodiment for each command related to a media player, there is a reciprocal command for an accessory.
The commands for treating the media player as a file system are within a predetermined range of addresses. The parallel commands for treating an accessory as a file system are within a predetermined range of addresses. Typically if a particular command performs a specific operation on the media player file system, then a reciprocal command will perform the same operation on the accessory file system. In one embodiment commands are provided for allowing a media player and an accessory to transfer and store data.
Command Functionality
Although a plurality of commands is described hereinbelow, one of ordinary skill in the art recognizes that many other commands could be utilized and their use would be within the spirit and scope of the present invention. Accordingly, the list of commands below is representative but not exhaustive of the types of commands that could be utilized to transfer and store data between a media player and an accessory. Furthermore, it is also readily understood by one of ordinary skill in the art that a subset of these commands could be utilized by a media player or an accessory and that use would be within the spirit and scope of the present invention. A description of the functionality of some of these commands is described below.
Commands for acknowledging the receipt of a storage command from either the accessory or the media player.
Commands for asking the media player or the accessory to return its storage capabilities.
Commands for telling the accessory or the media player about its storage capabilities. The storage capabilities include but are not limited to the following features:

    
    
        1. Total space available on the destination.
        2. Maximum file size.
        3. Maximum write size.
        4. Maximum name length for a file on directory.
        5. File system type.
        6. Version number.
        7. Definition of capability such as read/only, read/write or support subdirectory.
        8. Defines where writing can begin.
        9. Support renaming of a file.
        10. Support directory command send as change directory, create directory and delete directory.
    
    


Commands for requesting the media player or the accessory to return a unique identifier of a file. In one embodiment the unique identifier persists until the accessory or media player detaches or closes the file, whichever comes first.
Commands where the media player or accessory returns a handle to identify the file.
Commands where the accessory or media player asks for a chunk of data to be returned from a file. In one embodiment these commands may result in several commands, as needed to fulfill the request.
Commands for the media player or accessory to transmit the data in response to the command from the other.
Commands where the accessory or media player writes a block of data to a file of the media player or the accessory.
Commands for closing the file and releasing the unique identifier of the media player or the accessory.
Commands for deleting the named file from the media player or the accessory.
Commands for requesting the number of files and subdirectories in the specified directory of the media player or the accessory.
Commands for returning the number of files and subdirectories in the directory of the media player or the accessory.
Commands for obtaining the listing of the contents of the specified directory of the media player or the accessory.
Commands for obtaining the results of a directory listing of the media player or the accessory. In one embodiment, a separate command is returned for each directory entry.
Commands for obtaining the status of the specified file or directory of the media player or accessory.
Commands for obtaining the results of a call to a specified file or directory of the media player or the accessory.
Commands where the accessory or media player asks the other to return the amount of free space on its storage system of the media player or the accessory.
Commands where the accessory or media player tells the other the amount of free space on its storage system of the media player or the accessory.
A method and system in accordance with the present invention provides a plurality of commands that allow accessories and media players to retrieve and store data utilizing an arbitrary format. In so doing, a media player and accessory can obtain each others' stored data in an official manner. Since both the media player and accessory are utilizing the same arbitrary format neither has to determine the file format of the other.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

## Claims

1. A method performed by an accessory for transferring stored data between a media player and the accessory, the media player including a storage device for storing one or more files, the method comprising:
sending, by the accessory to the media player, a first command requesting storage capability information indicating one or more storage capabilities of the storage device, wherein the storage capability information includes one or more of: maximum file size information, maximum write size information, maximum filename length information, or filesystem type information;
receiving, by the accessory from the media player, a second command, in response to the first command, including the storage capability information;
sending, by the accessory to the media player, a third command requesting a unique identifier for a file stored on the storage device;
receiving, by the accessory from the media player, a fourth command, in response to the third command, including the unique identifier; and
sending, by the accessory to the media player, a fifth command, in response to the fourth command, requesting execution of a storage operation with respect to the file, wherein the fifth command includes the unique identifier.

2. The method of claim 1, wherein the fifth command is a write command for writing data from the accessory to the file.

3. The method of claim 2, wherein the data is stored on a storage device of the accessory, and wherein subsequently to sending the fifth command, the data is deleted from the storage device of the accessory.

4. The method of claim 1, wherein the fifth command is a read command for reading data from the file to the accessory.

5. The method of claim 1, further comprising:
subsequently to sending the fifth command, sending to the media player a sixth command requesting closure of the file and release of the unique identifier.

6. The method of claim 1, further comprising:
subsequently to sending the fifth command, sending to the media player a sixth command requesting deletion of the file.

7. The method of claim 1, further comprising:
subsequently to sending the fifth command, receiving from the media player a sixth command acknowledging the fifth command.

8. The method of claim 1 further comprising:
sending to the media player a sixth command requesting storage status information indicating a status of the storage device; and
receiving from the media player a seventh command including the storage status information.

9. The method of claim 8, wherein the storage status information includes one or more of: total free space on the storage device, total number of files or file directories stored on the storage device, total number of files or subdirectories in a specified file directory, contents of a specified file directory, status of a specified file, or status of a specified file directory.

10. A method performed by an accessory for transferring stored data between a media player and the accessory, the accessory including a storage device for storing one or more files, the method comprising:
receiving, by the accessory from the media players a first command requesting storage capability information indicating one or more storage capabilities of the storage device, wherein the storage capability information includes one or more of: maximum file size information, maximum write size information, maximum filename length information, or filesystem type information;
sending, by the accessory to the media player, a second command, in response to the first command, including the storage capability information;
receiving, by the accessory from the media player, a third command requesting a unique identifier for a file stored on the storage device;
sending, by the accessory to the media player, a fourth command, in response to the third command, including the unique identifier; and
receiving, by the accessory from the media player, a fifth command, in response to the fourth command, requesting execution of a storage operation with respect to the file, wherein the fifth command includes the unique identifier.

11. The method of claim 10, wherein the fifth command is a write command for writing data from the media player to the file.

12. The method of claim 11, wherein the data is stored on a storage device of the media player, and wherein subsequently to receiving the fifth command, the data is deleted from the storage device of the media player.

13. The method of claim 10, wherein the fifth command is a read command for reading data from the file to the media player.

14. The method of claim 10, further comprising:
subsequently to receiving the fifth command, receiving from the media player a sixth command requesting closure of the file and release of the unique identifier.

15. The method of claim 10, further comprising:
subsequently to receiving the fifth command, receiving from the media player a sixth command requesting deletion of the file.

16. The method of claim 10, further comprising:
subsequently to receiving the fifth command, sending to the media player a sixth command acknowledging the fifth command.

17. The method of claim 10 further comprising:
receiving from the media player a sixth command requesting storage status information indicating a status of the storage device; and
sending to the media player a seventh command including the storage status information.

18. The method of claim 17, wherein the storage status information includes one or more of: total free space on the storage device, total number of files or file directories stored on the storage device, total number of files or subdirectories in a specified file directory, contents of a specified file directory, status of a specified file, or status of a specified file directory.

19. An accessory for use with a media player, the media player including a storage device for storing one or more files, the accessory comprising:
an interface adapted to be coupled with the media player and configured to support a storage protocol for exchanging with the media player commands and information related to the storage device; and
a control module coupled to the interface, the control module being configured to:
send to the media player a first command requesting storage capability information indicating one or more storage capabilities of the storage device, wherein the storage capability information includes one or more of: maximum file size information, maximum write size information, maximum filename length information, or filesystem type information;

receive from the media player a second command, in response to the first command including the storage capability information;
send to the media player a third command requesting a unique identifier for a file stored on the storage device;
receive from the media player a fourth command, in response to the third command including the unique identifier; and
send to the media player a fifth command, in response to the fourth command, requesting execution of a storage operation with respect to the file, wherein the fifth command includes the unique identifier.

20. The accessory of claim 19, wherein the interface comprises a connector having a plurality of signal pins, the signal pins being arranged to mate with corresponding signal pins on a mating connector of the media player.

21. The accessory of claim 20, wherein the plurality of signal pins includes a pair of serial pins and wherein the first, third, and fifth commands are sent via a transmit pin of the pair of serial pins.

22. The accessory of claim 21, wherein the plurality of signal pins further includes:
a ground pin and a power pin adapted such that the ground pin makes contact with a corresponding ground pin in the mating connector of the media player before the power pin makes contact with a corresponding power pin in the mating connector of the media player;
a Firewire signal pin;
a USB signal pin;
a USB power pin;
an accessory identify signal pin;
an accessory detect signal pin;
a video output pin;
an accessory power pin;
a remote sense signal pin; and
a line signal pin.

23. The accessory of claim 20, wherein the connector comprises a keying arrangement, and wherein one set of keys are separated by one length and another set of keys are separated by another length.