INFRARED DATA ASSOCIATION OBJECT STORAGE DEVICE
FTELD OF THE INVENTION The present invention relates generally to data storage and more particularly to infrared data association IrDA object storage device.
BACKGROUND OF THE INVENTION The infrared data association IrDA protocols were developed to permit transmitting of information from one computer to another quickly and easily without the need to configure protocols or connect wires. The IrDA protocols have been adopted by many different personal desk accessory PDA manufacturers, notably the Palm and Windows CE platforms, as well as by many desktop and portable computers. The ability to "beam" information from one Palm or other PDA or computer to another is a very useful function. Normal use of infrared data association IrDA to relay data or files between two computers is limited by proximity and a need for concurrent transfer of files. The proximity requirement does not allow the convenience of being able to leave information for another person similar to leaving written notes attached to the kitchen refrigerator with magnets.
Accordingly, there is a need to allow transfer of data by infrared data association from one computer to another computer. With a multitude of small personal computers, many having IrDA capability, being able to transfer data from one computer to another at different times is a tremendous advantage.
SUMMARY OF THE INVENTION An infrared data association object storage apparatus includes an infrared transceiver for wireless exchange of data with a device that has an infrared data association interface, memory for storing the data, and a central processing unit for controlling storing of the data in the memory and exchange of the data through the infrared transceiver.
A method for infrared data association object storage includes the steps of receiving data wirelessly under an infrared data association link with a device sending the data, storing the data, and controlling outgoing exchange of the data responsive to an infrared data association communication with another device.
BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the present invention may be obtained from consideration of the following description in conjunction with the drawings, in which: FIG. 1 is a block diagram of an exemplary infrared data association IrDA storage device according to the invention; FIG. 2 is a diagram of the internal blocks in the IrDA object storage device of FIG. l; FIG. 3 is a block diagram of the operating logic of the central processing unit of FIG. 2; FIG. 4 is a block diagram of an infrared data association object bootstrap method of a single data file transfer according to the invention; To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION An infrared data association IrDA object storage device 101 is shown in block diagram form 100 in FIG. 1. The IrDA object storage device will accept data files transmitted using IrDA (Infrared Data Association) to be stored and later relayed to another device. The data file "beamed" from a Palm, other personal digital assistant PDA or IrDA equipped computer 104 can be any type of file or record including appointments, notes, e-mail messages, web pages, programs. The data file is stored in the device along with the identity of the sending computer, and optionally a destination computer that it needs to be delivered to. A real life example of the use of the IrDA storage device includes a wife receiving call at home from a medical office to confirm an appointment for her husband. Normally, the wife would leave a note on the refrigerator, with a risk that the husband will not notice the note there. With the inventive device the wife can enter the appointment on her palm and then beam it to the IrDA storage device. The wife locates the record for the doctor's office, including address and directions (and phone number in case the husband might need it) and beams it to the IrDA storage device. Later, when the husband returns home and he would see the blinking light on the IrDA storage device indicating a new message. The husband can point his palm or personal desk accessory at the IrDA storage device. The IrDA storage
device, upon recognizing the husband's personal desk accessory, can send the information about the appointment and the address record for the office. A block diagram 200 of the internal components in the IrDA object storage device
101 are shown in FIG. 2. The internal workings of the IrDA storage device include an infrared data association IrDA compatible transceiver (IrPHY) 203, a central processing unit (CPU) 201 with a control program 302, and a storage memory 202 such as flash memory or a hard drive.
In FIG. 3, a block diagram 300 includes the operating logic of the central processing unit CPU 201. This operating logic 300 includes an infrared data association layer IrDA physical layer IrPHY and IrDA protocol stack 304, a control program 302 that manages data flow such as Data In, Control signals and Data Out and features.
The IrDA protocol stack includes IrPHY, IxLAP, IrLMP, Tiny TP, IrOBEX and IrCOMM layers.
The Infrared Physical Layer is the lowest protocol level of the IrDA protocol stack and is referred to as IrPHY. IrPHY defines the method and format of the data frames sent and received on the infrared media. The Infrared Link Access Protocol (IrLAP) and Infrared Link Management Protocol (IrLMP) allow devices to discover each other and connect to services provided. The Tiny Transport Protocol (TinyTP) is used by applications to make connections and to send and receive data using a reliable transport. At the top of the IrDA protocol stack, the application can use IrOBEX or IrCOMM to communicate with other devices.
The Infrared object Exchange Protocol Layer (IrOBEX) allows systems of all sizes and types to exchange a wide variety of data and commands in a resource-sensitive standardized fashion. This protocol layer takes an arbitrary data object (a file, for instance) and sends it to whomever the IR device is pointing. IrOBEX also provides tools that enable the object to be intelligently recognized and handled on the receive side. The Infrared Communications IrCOMM protocol layer provides an emulation of a device connected via a serial or parallel port. Legacy applications proceed to work the same way in communicating with the devices through the same APIs without knowing that it is actually
the IrDA protocol stack that is put to operation. By this way, older applications are made to make use of the latest and efficient means of communications available.
The control program 302 handles the requests received from an IrDA capable computer through the top level IrOBEX protocol, or, through any other protocol required to support non-OBEX devices. It responds to those requests, providing transfer of data files into or out of the storage medium. It can also provide a list of files presently stored, along with operations to rename, delete, or change the properties of a file (such as selecting a known user that the file should be sent to).
To reduce the steps required to initiate the transfer of a newly stored file to a specific IrDA capable computer, the control program can maintain a list of known computers by their name (an operator selected ASCII string used in the IrDA protocol to uniquely identify the device). When contact is made with a computer, it can either automatically trigger the transmission of the first file not previously sent to that computer, or instead transfer only those files which have been selected to be sent to that computer. In order to prevent the device from becoming too full to accept new data files, a method of eliminating files can be used. Each new file as it is received can be marked in the storage medium with a code to indicate it's age. The files can also be marked with a flag to indicate that it should be kept permanently. Then as new files are received, older files may be removed to make space. To further reduce memory usage, a compression technology may be employed if applicable.
A specially written program that can be downloaded into Palm, Windows CE, or Windows (Win32) computers (or other platforms) can be used to operate special features of the IrDA Storage Device. This can include the ability to view the files stored, modify the properties of a file (such as setting a destination computer, marking it to be kept permanently), rename or delete files, adjust user settings (such as choosing transmit all new files or just ones destined), remove users, and possibly even an upgrade mode for the CPU's operating code (to allow for end customers to install new features and capabilities).
As an optional design feature, a user interface may be added to the IrDA Storage
Device. The user interface could include an LCD display (to show menus, file and user names, etc) and several keys to make selections. This would allow the operation of several
features (including picking a file to delete, marking it to keep or be delivered to a user) without need of a special program on the computer. The inclusion of an LED in the design could serve as attention getting blinking light to indicate that new data files are present. A speaker could also be used to produce audible feedback of modes, data files being transferred, and error conditions. A magnet on the base of the enclosing package could even be used to attach the IrDA Storage Device to a refrigerator, thus replacing much existing clutter. In FIG. 4, a block diagram 400 exemplifies an infrared data association object bootstrap method of transferring a single data file according to a use of the inventive infrared data association object storage device. The IrDA object bootstrap method enables a single data file within a data storage device to be selected for transmission over an IrDA using only basic functions in a personal desk accessory PDA or other IrDA capable computer. In a device that implements the IrDA object data file transfer and storage, such as the device of FIG. 1, the ability to select a specific file to be transmitted to the computer from the data storage requires the use of a special program, which must be developed specifically for each platform to be supported. Because this special program is not already resident in the device, it can be difficult to initially download it. This method provides a way to trigger the frDA Object Storage device to transmit the needed program, or a directory listing or even other files, without having the program available first. In an IrDA Object Storage device (any of the various forms implementing this basic concept), there exists the ability to receive data files using the IrOBEX ,or other protocols, over an IrDA connection. The data files are stored for later retrieval, usually by a different device. Without a user interface present on the device itself, with which a file could be selected and transmission initiated back to an infrared data association IrDA capable computer, the only way to request a file in the data storage to be transmitted is to communicate that request via IrDA. Because the concept of transferring a file directly from PDA to PDA,known as beaming, invokes usually a "PUT" operation - that is, the device with the data is initiating the transfer - the ability to perform a "GET" operation does not commonly exist. This leaves two possibilities for causing a GET operation to occur. The first is to develop a new program that will perform the request to obtain the desired file. As discussed, this creates a "boot strap" problem in that it is a problem to load the program
into the computer in the first place (also that each platform must be separately supported). The second option is to use one of the PUT operations that already exist to trigger the IrDA Object Storage device to initiate the transfer of the requested file. Since the most common format would be an ASCII text file, this invention uses that to trigger the file transmission. To implement the method in this invention, the IrDA Object Storage device monitors all incoming small text files, such as those beamed from the personal desk accessory device, e.g., PalmOS "Memo Pad" application, or from the Windows CE "notes" application, or any file ending in .TXT from a Windows platform. If the first line of the file contains a special character or character sequence, such as an exclamation point, and is followed by a command such as "GET" in it 401, then the file is not stored, but is rather taken as a request to perform an operation, such as to locate the file named after the command 403, and then initiate a transfer "PUT" 404 back to the computer that made the request. In cases where an error occurs (such as the file was not found), or the request names a directory (or doesn't name a file at all), a text file is transmitted in return that contains the appropriate message or listing of files available 402. Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that will still incorporate these teachings.