A method is disclosed for communicating using a device having a palm os. smb is preferentially used to communicate with a node, and if use of smb is not possible, ftp is used, and if use of ftp is not possible, Bluetooth is used. If ftp or Bluetooth is selected as the protocol, file sharing between the device and node that entails a read or write is executed by temporarily copying a file to an internal palm os memory of the device, performing the read or write on the file, and then copying the file back to the node to overwrite a previous version of the file at the node. For non-palm os file transfer to the internal memory, the file is wrapped in a palm os stream in the internal memory for executing reads or writes. For file transfer to an expansion palm os memory card, byte-to-byte copying of the file is executed using the FAT of the expansion memory, with the file being transferred through an internal palm os memory of the device.
|
1. A method for communicating using a device having a palm operating system (os), comprising using server message block (smb) to communicate with a node, and if use of smb to communicate with the node is not possible, using file transfer protocol (ftp), and if use of ftp is not possible to communicate with the node, using Bluetooth.
9. A system, comprising:
at least one processor communicating using a protocol stack including:
an application layer having at least three application layer protocols selected from the group including Bluetooth, file transfer protocol (ftp), server message block (smb); and
a protocol selection layer on top of the application layer for selecting which application layer protocol to use to communicate with a node, wherein smb is used by the processor to communicate with a node, and if use of smb to communicate with the node is not possible, ftp is used by the processor, and if use of ftp is not possible to communicate with the node, Bluetooth is used by the processor.
14. A palm os device, comprising:
at least one internal memory;
at least one expansion memory;
at least one palm operating system (os) accessing the memories;
means for initially determining whether the node can communicate using a smb dialect available to the device;
means for selecting smb as the communication protocol if smb communication between the device and node is possible;
means for, if the node cannot communicate using a smb dialect available to the device, next querying the node with a ftp message;
means for, if an appropriate response is received, selecting ftp as the communication protocol;
means for, if an appropriate response is not received, gathering identifications of devices using Bluetooth; and
means for, if an identification matches an identification of the node, selecting Bluetooth as the communication protocol.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
11. The system of
12. The system of
13. The system of
15. The device of
16. The device of
17. The device of
18. The device of
|
This application claims priority from U.S. provisional application No. 60/518,285 filed on Nov. 7, 2003.
The present invention relates generally to computer file sharing and transfers using mobile computers.
Computer files can be transferred between computers using one of a variety of protocols, most of which are intended for use with personal computer operating systems (OS). For example, the generic File Transfer Protocol (FTP) for PCs, which essentially is a top level application program that relies on processing and communication layers in a PC OS, enables files to be transferred with security control to do such things as navigate, create, and delete directories, and to copy and delete files, and so on. A more widely used protocol is the server message block (SMB) protocol, which facilitates even more operations including sharing files, serial ports, and printers. SMB can also provide for two levels of security.
Yet a third protocol for transferring files between devices is Bluetooth, which is intended for wireless environments and which essentially offers the same capabilities as FTP. All of these protocols assume use with a PC OS and require both ends of the transmission (client and server, for instance) to possess communication protocol stacks that match each other.
As understood herein, the above protocols are designed with the PC OS in mind, but that other OS such as Palm OS are used in smaller wireless devices such as wireless telephones and personal digital assistants (PDA). As further understood herein, the Palm OS does not have all of the PC OS features that conventional file sharing protocols assume. For example, as recognized herein, the Palm OS does not have a conventional file system in its internal memory, which is relatively small. Rather, files are stored as databases with header information. Further, network communication support in Palm OS is confined to the transmission control protocol/Internet protocol (TCP/IP) layer. With the above observations in mind, the present invention has been provided.
A method for communicating using a device having a Palm operating system (OS) includes preferentially using server message block (SMB) to communicate with a node, and if use of SMB to communicate with the node is not possible, using file transfer protocol (FTP). If use of FTP is not possible to communicate with the node, Bluetooth is used.
In illustrative embodiments, if a protocol for communication between the device and a communication node has not been identified, it is determined whether the node can communicate using a SMB dialect available to the device, and if so, SMB is selected as the communication protocol. If the node cannot communicate using a SMB dialect available to the device, the node is queried with a FTP message and if an appropriate response is received, FTP is selected as the communication protocol. On the other hand, if an appropriate response is not received, identifications of devices are attempted to be gathered using Bluetooth, and if an identification matches the identification of the node, Bluetooth is selected as the communication protocol.
If SMB or Bluetooth is selected as the protocol, a user name can be automatically set to a default name. In contrast, if FTP or Bluetooth is selected as the protocol, file sharing between the device and node that entails a read or write may be executed by temporarily copying a file to an internal Palm OS memory of the device, performing the read or write on the file, and then copying the file back to the node to overwrite a previous version of the file at the node. For file transfer to or from the internal memory of the device, the method can include transferring a file that is not in Palm OS format between the internal memory and the node by wrapping the file in a Palm OS stream in the internal memory and performing a read or a write on the file. On the other hand, for file transfer to or from an expansion memory of the device, the method can include transferring a file between the expansion memory and the node by byte-to-byte copying of the file using a file allocation table (FAT) of the expansion memory. In this case, the file may be transferred through the internal memory.
In another aspect, a system includes a processor communicating using a protocol stack. The stack can include an application layer having at least two application layer protocols selected from the group including Bluetooth, file transfer protocol (FTP), and server message block (SMB). A protocol layer is on top of the application layer for selecting which application layer protocol to use to communicate with a node.
In still another aspect, a Palm OS device has an internal memory, an expansion memory, and a Palm operating system (OS) accessing the memories. Means are provided to the Palm OS for determining whether the node can communicate using a SMB dialect available to the device, and if so, selecting SMB as the communication protocol. Means are also provided to the Palm OS for, if the node cannot communicate using a SMB dialect available to the device, querying the node with a FTP message, and if an appropriate response is received, selecting FTP as the communication protocol. Still further, means are provided for, if an appropriate response is not received, gathering identifications of devices using Bluetooth. If an identification matches an identification of the node, Bluetooth is selected.
The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:
Referring initially to
On the other hand, as shown in
It is to be understood that the processor of the computer 14 accesses the OS 16 to undertake the logic shown and discussed below, which may be executed by a processor as a series of computer-executable instructions.
The instructions may be contained on a data storage device with a computer readable medium, such as a computer diskette having a computer usable medium with computer readable code elements stored thereon. Or, the instructions may be stored on a DASD array, magnetic tape, conventional hard disk drive, electronic read-only memory, optical storage device, or other appropriate data storage device, such as the internal memory 18. In an illustrative embodiment of the invention, the computer-executable instructions may be lines of compiled C++ compatible code or JAVA®.
Indeed, the flow charts herein illustrate the structure of the logic of the present invention as embodied in computer program software. Those skilled in the art will appreciate that the flow charts illustrate the structures of computer program code elements including logic circuits on an integrated circuit, that function according to this invention. Manifestly, the invention is practiced in its essential embodiment by a machine component that renders the program code elements in a form that instructs a digital processing apparatus (that is, a computer) to perform a sequence of function acts corresponding to those shown.
Commencing at decision diamond 28, it is determined whether the desired underlying protocol (SMB, Bluetooth, or FTP) has been specified, e.g., by the user. If it has, the logic flows to block 30 to use the specified protocol. Otherwise, the logic flows to decision diamond 32 to determine whether a suitable SMB dialect can be negotiated with the server. If so, SMB is selected as the protocol at block 34, and the user name is automatically set to the default name at block 36. In contrast, if no SMB dialect can be agreed upon, the logic flows to block 38 to query the server using FTP, and then at decision diamond 40 it is determined whether a suitable response has been received. If so, the logic selects FTP as the protocol at block 42. Otherwise, all Bluetooth devices in the proximity of the device are located at block 44 using Bluetooth principles known in the art.
At decision diamond 46, it is determined whether any device name that is returned as a result of the previous locating step matches the name of the desired file server with which connection is to be made. If not the logic ends at state 48, but otherwise the logic connects to the server using Bluetooth at block 50, and then automatically sets the user name to default at block 36.
If the file is to be transferred to or from the expansion memory 20, which is expected to employ a conventional file allocation table (FAT), the logic moves from decision diamond 64 to block 72 to transfer the file using the FAT in a byte-to-byte copy, using the Palm OS native internal memory as a transmission medium.
While the particular FILE TRANSFER PROTOCOL FOR MOBILE COMPUTER as herein shown and described in detail is fully capable of attaining the above-described objects of the invention, it is to be understood that it is the presently preferred embodiment of the present invention and is thus representative of the subject matter which is broadly contemplated by the present invention, that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more”. It is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. Absent express definitions herein, claim terms are to be given all ordinary and accustomed meanings that are not irreconcilable with the present specification and file history.
Patent | Priority | Assignee | Title |
10284626, | Jun 29 2011 | Microsoft Technology Licensing, LLC | Transporting operations of arbitrary size over remote direct memory access |
10630781, | Sep 09 2011 | Microsoft Technology Licensing, LLC | SMB2 scaleout |
8631277, | Dec 10 2010 | Microsoft Technology Licensing, LLC | Providing transparent failover in a file system |
8694672, | Nov 07 2003 | Sony Corporation; Sony Electronics Inc. | Method and system for transferring files using file transfer protocols for palm OS mobile computer |
8788579, | Sep 09 2011 | Microsoft Technology Licensing, LLC | Clustered client failover |
8825885, | May 25 2005 | Microsoft Technology Licensing, LLC | Data communication protocol |
8850025, | May 25 2005 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
8856582, | Jun 30 2011 | Microsoft Technology Licensing, LLC | Transparent failover |
9071661, | May 25 2005 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
9331955, | Jun 29 2011 | Microsoft Technology Licensing, LLC | Transporting operations of arbitrary size over remote direct memory access |
9332089, | May 25 2005 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
9438696, | May 25 2005 | Microsoft Technology Licensing, LLC | Data communication protocol |
9462039, | Jun 30 2011 | Microsoft Technology Licensing, LLC | Transparent failover |
Patent | Priority | Assignee | Title |
6130917, | Mar 14 1997 | E-WATCH, INC | Instant protocol selection scheme for electronic data transmission |
6292657, | Jul 13 1998 | Unwired Planet, LLC | Method and architecture for managing a fleet of mobile stations over wireless data networks |
6594762, | May 05 1999 | Ericsson Inc. | Methods and devices enabling displays of electronic devices based on separation thereof |
20020022453, | |||
20020078154, | |||
20030004623, | |||
20030018887, | |||
20030087629, | |||
20030095524, | |||
20030105812, | |||
20030191811, | |||
20040025047, | |||
20040044776, | |||
20040205207, | |||
20040264498, | |||
WO2019653, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 11 2004 | ZHENG, JIANYU ROY | Sony Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015890 | /0294 | |
Oct 11 2004 | ZHENG, JIANYU ROY | Sony Electronics INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015890 | /0294 | |
Oct 12 2004 | Sony Corporation | (assignment on the face of the patent) | / | |||
Oct 12 2004 | Sony Electronics Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 25 2010 | ASPN: Payor Number Assigned. |
Mar 14 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 16 2017 | REM: Maintenance Fee Reminder Mailed. |
Apr 02 2018 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 02 2013 | 4 years fee payment window open |
Sep 02 2013 | 6 months grace period start (w surcharge) |
Mar 02 2014 | patent expiry (for year 4) |
Mar 02 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 02 2017 | 8 years fee payment window open |
Sep 02 2017 | 6 months grace period start (w surcharge) |
Mar 02 2018 | patent expiry (for year 8) |
Mar 02 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 02 2021 | 12 years fee payment window open |
Sep 02 2021 | 6 months grace period start (w surcharge) |
Mar 02 2022 | patent expiry (for year 12) |
Mar 02 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |