WO2010080077A1 - Peer-to-peer cooperative uploading system - Google Patents

Peer-to-peer cooperative uploading system Download PDF

Info

Publication number
WO2010080077A1
WO2010080077A1 PCT/US2009/000054 US2009000054W WO2010080077A1 WO 2010080077 A1 WO2010080077 A1 WO 2010080077A1 US 2009000054 W US2009000054 W US 2009000054W WO 2010080077 A1 WO2010080077 A1 WO 2010080077A1
Authority
WO
WIPO (PCT)
Prior art keywords
peer
data
mobile
network
helper
Prior art date
Application number
PCT/US2009/000054
Other languages
French (fr)
Inventor
Sha Hua
Hao Hu
Yang Guo
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Priority to PCT/US2009/000054 priority Critical patent/WO2010080077A1/en
Publication of WO2010080077A1 publication Critical patent/WO2010080077A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2603Arrangements for wireless physical layer control
    • H04B7/2606Arrangements for base station coverage control, e.g. by using relays in tunnels

Definitions

  • the present invention relates to inlbrmation transfer in a v ⁇ ireless network. More specifically, the present invention relates to an uploading scheme using peer-to-peer mechanisms in a wireless network.
  • the mobile communication system such as cellular or satellite mobile communications system, is developing in a fast pace with higher bandwidth.
  • a growing number of advanced services and applications are expected to emerge; such as video telephony, photo and music sharing.
  • the end-to-end data communication link between mobile users in addition to the traditional telephony communication link, is also expected to become a reality.
  • An aspect of the present invention includes using multiple wireless interfaces on mobile devices, such as on cell phones, for cooperatively uploading data to a mobile communication network, such as a mobile cellular svstem.
  • the current invention enables a high-speed uplink data transmission. Users can enjoy this improvement anywhere if there are other mobile communicat ion devices that also have peer-to-peer capability in use in the nearby vicinity.
  • the system includes an architecture which does not introduce a fundamental change to the existing mobile communication network infrastructure, yet provides the benefit of system operation by balancing upload / download transmission rates in a mobile communication system.
  • a second mobile communication link such as a peer-to-peer link
  • uplink communication is enabled by relaying data through the ad hoc wireless network consisting of peer mobile devices without the need for a base station.
  • the present invention can rescue mobile devices located in a dead-zone to allow uploading of data to the base station of the mobile communication network indirectly.
  • the method includes a sender device dividing data to be transmitted into a plurality of segments. The data is to be transmitted to a receiver device connected to a cellular network.
  • a request to identify cellular helper devices is transmitted to peer-to-peer receiver interfaces of other cellular devices.
  • Responses from available cellular devices to the helper request are received on the peer-to-peer interface of the sender device.
  • the sender device sends at least one of the plurality of segments to selected responding cellular devices.
  • Acknowledgements are received by the sender device from each of the helper devices using the peer-to-peer interface and a next data segment is sent to the helper devices. Additional data segments are sent from the sending device to the helper devices until all of the segments are transmitted.
  • An acknowledgement is received from the cellular network that confirms that a segment was received by a cellular receiver device.
  • Figure I A depicts an example system architecture in which the present invention may be practiced
  • Figure I B depicts an example peer discovery and use according to the invention:
  • Figure 2 depicts an example transaction diagram for the present invention
  • Figure 3 ⁇ depicts example data segmentation:
  • Figure 3 B depicts an example of segmented data status:
  • Figure 4 is an example How diagram for a setup and thread creation method at the sender:
  • Figure 5 is an example How diagram for a management method executed at a helper:
  • Figure 6 is an example tlow diagram for a method executed by a helper:
  • Figure 7 is an example How diagram for a method executed by a receiver
  • Figure 8 is an example architecture for devices suitable for implementing aspects of the present invention.
  • Unicast transmissions are between a single sender/transmitter and a single receiver. Broadcast transmissions are between a single sender/transmitter and all receivers within receiving range of the transmitter. Multicast transmissions are between a single sender/transmitter and a subset of the receivers within receiving range of the transmitter where the subset of receivers within receiving range of the transmitter may be the entire set. That is. multicast may include broadcast and is therefore a broader term than broadcast as used herein. Data/content is transmitted in packets or frames.
  • the present invention includes a cooperative uploading system and method to realize stable and efficient end-to-end data transmission for mobi le communication system users.
  • cellular devices are described herein, one of skill in the art can recognize that a cellular network device is only one example of a primary mobile communication network device and that other forms are possible such as satellite-based mobile network devices. PDAs, and the like.
  • the secondary mobile communication network such as a network served by a peer-to-peer link, can be any local wireless network that supports communication directly between mobile devices.
  • Data can include any of audio, video, multimedia, or other forms of digital content. Advantages of the system include ease of maintenance and extendibility due to its easily adaptable architecture.
  • Such a cell phone with multiple wireless interfaces utilizes both cellular e ⁇ mmunications and ad hoe communications methods on Wi Pi and Wireless Metropolitan Area Networks (WM ⁇ N) data networks.
  • W ⁇ N Wireless Metropolitan Area Networks
  • Such networks can be self-organized in a short range but provides far higher speed than the rate between a cellular subscriber and the cellular base station.
  • Data rates of up to I I .OMbps data rate are available using the IEEE .S02. l l protocol.
  • data to be uplinked to a cellular network can be divided into segments and distributed from the sender to other cellular devices (helpers) nearby.
  • the nearby helper cellular devices can then upload data segments to the cellular base station simultaneously: leading to the improvement of upload rate.
  • This approach is a cost-efficient system design which further exploits the available bandwidth of a cellular system.
  • FIG. 1 A depicts an example system 100 in which the present invention may be practiced.
  • the system 100 depicts a cellular system including a sender cellular device 104, helper devices 101. 102. and 103. as well as a receiver device 104. All of the cellular devices have a cellular connection to a base station I 10 that is serviced by a base station server I 12.
  • cellular devices 101. 102, 103. 104. and I 14 have cellular connections to the base station I 10 using links 10 I a. 102a. 103a, 104a, and I 14a respectively.
  • Cellular devices 101 - 104 are dual band devices that not only have a cellular communication capability, but also an ad hoc/WiFi/wireless peer-to-peer (P2P) capability. As such, devices 101 , 102, 103, and 104 also have ad hoc/WiFi/blue-tooth peer-to-peer links 101 b, 102b, and 103b respectively with device 104. Although the sender device 104, the helper devices 101. 102. 103.
  • P2P peer-to-peer
  • these cellular devices may be any cellular-capable devices known such as a cell phone, programmable digital assistant, portable personal computer, navigation devices, or other special purpose or general purpose portable cellular-compatible devices.
  • the system of Figure I A operates in a manner that includes a peer discovering phase and a peer uploading phase.
  • the sender 104 finds peer cellular devices (helpers) that are within the range of the ad hoc/WiFi/peer-to-peer (P2P) link of the sender device 104.
  • P2P peer cellular devices
  • Some of the helper devices that respond to the sender device 104 are selected to receive a data segment sent by the sender device. Data segments are sent to the various selected helpers using the peer-to-peer link established between the sender and the helpers.
  • the helper devices can upload the data segments t ⁇ the base station I I O via the cellular links of the helper devices.
  • the base station I 10 and base station server I 12 need not perform any special data manipulation on the data segments sent to the receiver I 14 from the helper devices.
  • the receiver device I 14 collects the data segments relayed to it from the base station I 10. reassembles the data segments into a contiguous tile, and then is able to render the tile as needed.
  • FIG. 1 B depicts an example peer discovery and use phase in accordance with principles of the invention.
  • sender 152 can communicate with other cellular devices that have an ad hoc/WiFi/P2P interface and that are within the P2P communication range 1 50.
  • Cellular devices, such as device 160 are outside the range and may not be useful to the sender until device 160 moves into range 1 50.
  • cellular devices inside of range 1 50 that subsequently move out of range 1 50 cease to be of use to the sender 152.
  • the sender 1 52 has a data string, such as a multimedia data string that the sender wishes to upload to its cellular network for passage to a distant receiver cellular device, such as receiver 1 14.
  • the sender 152 divides the data string into multiple segments and then requests the assistance of other cellular devices in the pcer-to-peer range 1 50 of the sender.
  • this device (Helper A) first receives a helper request (HP_REQ) via its peer-to-peer interface from sender 152. This is illustrated as link signal I a between sender 1 52 and helper A 156.
  • I f Helper A is within range 1 50 and able to assist, then helper A returns a helper response (HP RESP) via P2P signal 2a.
  • the sender 152 can then send a data segment to helper A via P2P link 3a.
  • the helper 156 is responsible for sending the data segment to the cellular network receiver 1 14 destination (see Figure I A).
  • the destination receiver I 14 acknowledges receipt of the data segment, it sends an acknowledge back through the cellular network to Helper A 156.
  • Helper A 156 then forwards the acknowledge (HP ACK) back to the sender 152 via the P2P interface.
  • Sender 152 then knows that the data segment it sent to Helper A has been fully transported to the receiver destination on the cellular network.
  • Sender 152 can then address the next data segment as needed. [001 H I
  • Other helper devices such as Helper 13 154 and I lelper C 1 58, also respond to requests from the sender 152.
  • the I IP-RFQ helper request signal such as shown as .signal I a. I b. or I c may result from a broadcast signal from the sender.
  • the helper response such as signals 2a. 2b, and 2c are unicast responses from the helpers to the sender 1 52.
  • the sender 1 52 collects the HP-RESP signal responses, such as 2a. 2b. and 2c. and selects helpers useful for the upload process.
  • a maximum of N helper connections are permitted.
  • Some helper devices may be unused. For example Helper B 154 mav not receive a data segment to upload even though it is available. Some helpers, although available and selected, may move out of range 150 after receiving a data segment.
  • helper C 158 Such may be the case with helper C 158. where even though it received a data segment via signal 3c, it may have moved out of range or was unable, for other reasons, to forward the data segment to the cellular system within a timeout period. Generally, the sender accommodates such events by selecting another helper to transmit the data packet that was not transmitted to the cellular network. f0019 ⁇
  • the popularity of cell phones provides numerous opportunities to easily find the helper devices and conduct peer-to-peer communication with them.
  • the maximum number of connections N between a sender and the voluntary helpers may be chosen to accommodate the type of data being sent, the availability of helpers, or other criteria, such as a desire to match the download rate of the receiver.
  • the effective upload rate may be an empirical value or be adjusted by the sender itself.
  • the mobile nature of the wireless environment can add impediment to successful communication.
  • acknowledgement and timeout mechanisms can be used to detect packet loss due to the mobility or sudden power off of the cellular devices. This may introduce some overhead to the system but from an overall point of view, the upload rate is greatly improved using the aspects of the present invention.
  • the uplink rate no longer becomes a bottleneck for more balanced wireless performance.
  • FIG. 2 depicts a transaction diagram 200 that includes aspects of the invention.
  • the transaction nodes include the sender cellular device, the helper cellular device, the base station of the cel lular network, and the receiver cellular device. These transaction nodes may correspond to the same named devices/entities in Figure I ⁇ .
  • a sender has a data, such as multimedia data, which it wishes to transmit to a cellular receiver device. Since the cellular uplink rate is bandwidth limited, the sender decides to segment the upload into multiple data segments.
  • the sender produces P2P helper request signal/transmission 205 (I IP ROQ) and requests help from neighboring devices that also have both P2P and cellular capability.
  • I IP ROQ P2P helper request signal/transmission 205
  • Signal 205 can be a broadcast signal/transmission, but it may also be a multicast or iinicast signal/transmission.
  • Each of the helpers within P2P range responds individually to the helper request signal.
  • the helper of Figure 2 responds to the sender with P2P helper response signal 2 10 (I I P RIZSP). I " he sender chooses to use the responding helper and sends data segment transmission signal 2 15 via the P2P link. After receiving a data segment, the helper sends a helper acknowledge message/signal 220 (HP ACK) via the P2P interface of the helper device.
  • P2P helper response signal 2 10 I I P RIZSP
  • signals 205 through 220 all used the ad hoc wireless/WiFi/peer- to-peer wireless link between the sender and helper cellular devices.
  • the helper sends the data segment via signal/transmission 225 to the base station.
  • the base station forwards the data segment to the cellular receiver in signal/transmission 230.
  • the receiver having received the segment, can then send an acknowledge signal/transmission 235 (RCV ACK) back to the base station using its cellular interface.
  • the receiver need not have a P2P interface.
  • the base station relays the receiver acknowledge signal to the helper via signal/transmission 240 (RCV ACK) using the cellular network interface.
  • the helper can then forward the receiver acknowledge signal to the sender via the P2P interface using P2P signal/transmission 245 (RCV ACK).
  • the sender then knows that the data segment was received by the intended cellular receiver.
  • the helpers upload the data packet segment they have received to the cellular base station in a parallel fashion, i.e., if the system operates in a time-division mode, the helpers as well as the sender itself uploads the data using their cellular interfaces in their respective time slot.
  • Figure 2 represents transaction flows when the selected helper completes the task of uploading the data packet segment and transmits it to the cellular network.
  • timeouts may occur where the data segment sent to the helper is not uploaded to the cellular network for delivery to the receiver, or where the sender fails to receive an acknowledgement of receipt of a data segment. Under these conditions, a re- choosing of a neighboring peer cellular device ma ⁇ occur.
  • the sender may enter a re-choosing phase.
  • the sender first checks whether there is any potential helper that it did not choose/select in the peer discovery phase. This process is accomplished by sending HP_REQ to the potential helper via a iinicast. muticast. or broadcast message and waiting for the I IP RIlSP from individual responding helpers. I f the HP RESP can be received, the sender retransmits the lost data segment to the new helper. Otherw ise if the sender cannot connect ever) potential helper, a new round of peer discovery may start.
  • FIG. 3 A depicts sender data 305 and segmented data 3 10.
  • the sender data 305 represents data that the sender wishes to upload to the cellular network for receipt by a cellular receiver, such as receiver I 14 of Figure 1 A.
  • the sender data 305 may represent video, audio, multimedia, text, program, or any other form of digital data content.
  • the sender splits/divides the sender data 305 into data segments 310 like those shown in Figure 3A.
  • Each data segment, i.e. segment I , segment 2, etc.
  • control, header, or trailer information that includes such parameters such as the segment number, receiver destination information, time and date, sender information, and so on to help identify the segment/data packet when it is received by the destination receiver.
  • the sender cellular device keeps track of the status of each data segment/data packet via the use of status fields.
  • Figure 3 B depicts a scheme where there is one status field corresponding to each data segment.
  • the status of any one segment can indicate the status of that particular data segment/data packet as it progresses in system 100.
  • the status of a particular data segment can be any one of (a) the data segment/packet is waiting to be transmitted, (b) the data segment/packet is in process with a helper, and (c) the data segment/packet is has been successfully transferred to the receiver destination.
  • Status (a) can be used after generation of the individual data segment/packet but before that data segment/packet is transmitted to a helper via a P2P link.
  • Status (b) can be used to indicate that the particular data segment/packet has been transferred to the helper. Status (b) is maintained until a receiver acknowledge (RCV_ACK) signal/message is received by the sender that the data segment/packet is successfully received at the destination.
  • RCV_ACK receiver acknowledge
  • the use of such status indicators can be useful in keeping track of individual data segments/packets as they are uploaded to the cellular network for delivery at the receiver cellular device.
  • the received data segments/packets are processed to reconstruct the original sender data 305.
  • the receiver device After reconstruction of the sender data from the individually received data segments/packets, the receiver device is able to utilize the sender data 305 in an> way that is appropriate.
  • the receiver device can store, forward, or render the sender data.
  • Reconstruction of the individual ly received data segments/packets includes reading and decrypting the received packets, identifying the packets as heing part of the sender data, and ordering the individual segments into the original sender data order. Concerning data transfer security, encryption can occur at any point in the upload process.
  • the sender can encrypt individual data segments/packets before sending them via the P2P link to the helpers.
  • the helpers can encrypt the uploaded data segments/packets to the cellular system.
  • Encryption at the sender can be used to avoid the possible eavesdropping of the helpers.
  • FIG. 4 illustrates one embodiment of a sender method 400 for setup and thread creation to accommodate aspects of the peer-to-peer uploading scheme.
  • the sender cellular device on a cellular network starts the method 400 by having sender data, such as a digital content file, such as multimedia, audio, video, text, data, etc..
  • the sender data is divided into segments.
  • Each segment may include packet type information that identifies the sender, the type or identification of the sender data, a segment/packet number, destination information, and other packet overhead information.
  • the packet overhead information is useful to direct the segment/packet to the destination and identify the particular packet.
  • the segmented data packet information (data segment plus overhead) may optionally be encrypted.
  • a status field (e.g. such as two or more bits) is generated to correspond with the segment packet. At this point, the status of the packet is "to be transmitted " .
  • a plurality of such packets is generated until the entire sender data is segmented into segment data packets.
  • the sender sends out a request for help using an ad hoc/WiFi/peer-to- peer interface to neighboring cellular devices that also have the ad hoc/WiFi/peer-to-peer interface.
  • a request is a broadcast message, but it also may be a multicast or a unicast message if the sender knows which helper cellular devices are in range of the P2P interface.
  • the sender waits for a response from the helper devices on the P2P interface.
  • the decision is made based on the number of helper devices that respond in order to increase the effective upload data rate of the sender above the threshold of the normal upload data rate on the cellular networks.
  • the desired upload data rate may be dependent on data type. For example, considering video data, the upload data rate may be selected to be as high as a maximum download rate for the cellular receiver. Alternately, for a document file, the upload data rate may be selected at some level below a maximum data rate for the cellular receiver. Using only the cellular network, the normal upload and download data rates may be unequal. If the upload and download data rates of the sender device can be made to be closer in value using aspects of the invention, then a data rate balance can be achieved for the sender device.
  • step 412 If there are not enough helper devices that respond to the request for helpers, then all responses are ignored in step 412. If there are enough helper devices that respond positively to the request for upload help, then the method 400 moves to step 414. For many application, even if there is not enough helper devices to reach an optimal or desired data rate, the principles of peer-to-peer uploading described herein still help to improve uploading beyond that of a single cellular device. For instance, for a file uploading application, the present invention can utilize whatever number of helper devices that are available.
  • step 414 initially, a first one of the responding helpers is selected and a software thread is created in the sender device to manage the selected helper.
  • the tread is used to keep track of the data segments/packets that are sent to the helper.
  • a determination is made at step 416 if there are enough helpers used for the uploading scheme. If more helper devices are needed for an effective upload rate, then the method 400 moves from step 416 to step 414. w here the next helper device that responded positively is selected and a thread for that helper is created. If enough helpers are selected, then the method 400 moves from step 416 to step 41 8 where the threads are managed until each of the threads is completed.
  • Figure 5 depicts a method 500 for management of a helper thread in the sender device. It is noted that multiple concurrent threads may be running in the sender device as a result of the flow of Figure 4. Management of a single thread is depicted and starts at step 502 of Figure 5. Initially, a data segment packet was generated and its status was indicated as "to be transmitted " . When the tread is executed, it is associated with a specific data segment packet and its status is changed to "In Process " at step 504. The selected data segment/packet is sent to one of thc selected helpers at step 506 using the P2P link. After the helper receives the packet, the helper acknowledges receipt using the HP ⁇ CK signal/message. ⁇ t step 508. a determination is made if the helper acknowledge has been received. I f the helper acknowledge signal/message is received before a timeout, then step 508 flows to the determination step 5 10.
  • a fter the helper has the data segment/packet, it sends the packet to the destination receiver via its cellular link.
  • the destination cellular receiver Upon receipt, the destination cellular receiver returns to the helper an acknowledge signal/message (RCV ACK) via the cellular link.
  • the helper then forwards the acknowledge signal to the sender device via the P2P link.
  • a determination is made as to whether the receiver acknowledgement has been received. If the receiver acknowledge has been received by the sender, then the step 5 10 moves to step 5 16 where the status of the data segment/packed is confirmed to be complete. The data segment/packet status is marked as "Transfer complete " .
  • step 518 a determination is made if there are more data segments having the "To be Transmitted " waiting to be transmitted to a helper. If there are more data segments/packets waiting to be transmitted, then the method moves from step 518 to step 504 where the next available data segment/packet is picked up by the thread, marked as "In Process " ' and transmitted to the helper as in step 504 and 506. Steps 502 through 518 are repeated until all of the available data segments/packets are successfully transferred. [0037] Occasionally, an error or stalling may occur which prevents the data segment/packet from being acknowledged by the helper. Decision step 508 detects when the helper acknowledge is not received before a timeout and moves the method to step 5 12.
  • Step 5 12 allows three retries and loops through steps 506 and 508. If the number of retries exceeds three, then the method moves to step 5 14.
  • the helper device is not acknowledging receipt of the data segment/packet. This could occur as a result of the helper moving out of range of the sender or some other reason.
  • the helper is abandoned.
  • the data segment is marked as "To be Transmitted " and the thread terminates because the thread the helper is not responding.
  • step 5 18 the method 500 moves to terminate the thread at step 520.
  • the sender also acts as a helper and executes a thread using its own cellular interface to upload data segments to the cellular network in parallel with all of the other helpers that are chosen by the sender.
  • FIG. 6 depicts an example method 600 for the activities of the helper.
  • the helper waits for a sender to send a helper request (HP REQ) via a P2P link.
  • the helper sends a response (I 1P RESP) to the sender via a P2P link at step 606 to indicate that the helper is available to assist in an upload process for the sender.
  • the helper then waits at step 608 for a data segment/packet to be sent to the helper device.
  • step 610 moves the method back to step 604 to wait for the next helper request signal/message. I f the data segment/packet is received by the helper before the timeout period, then the decision at step 610 moves the process to step 612 where the helper sends out a helper acknowledge (HP AK) to the sender via the P2P link.
  • step 614 the helper sends the data segment/packet to the destination cellular receiver via the cellular link. Once the cellular receiver receives the data segment/packet, the receiver generates a receiver acknowledge (RCV ACK) back to the helper via the cellular link.
  • RCV ACK receiver acknowledge
  • the helper receives the receiver acknowledge.
  • the helper then forwards the receiver acknowledge back to the sender via the P2P interface at step 620.
  • the method then moves to step 608 where the helper waits for the sender to transmit the next data segment/packet.
  • FIG. 7 depicts an example method 700 for the destination cellular receiver device. The process starts at step 702 with power on of the receiver device. All signals to and from the destination cellular receiver device occur using the cellular link. At step 704. the destination cellular receiver device receives a data segment from the base station. At step 706. the received data segment/packet is decrypted, if needed.
  • the receiver device After determining that the data segment/packet is without error, then the receiver device sends a receiver acknowledge (RCV ACK) to the helper at step 708.
  • the receiver device examines packet information of all of the data segments/packets it received and determines at step 710 whether there are more data segments to be received. I f there are more data segments/packets to be received, then the method 700 moves to step 704 to receive the next data segment/packet. If there are no more data segments/packets to be received, then the method moves to step 712 where all of the received data segments/packets are reconstructed to form a replica of the original sender data.
  • Packet information such as the identity of the sender, the total number of packets in the sender data, the packet number, and the like are used to reconstruct the sender data.
  • the receiver device is then free to process the sender data as needed.
  • the sender data could be rendered (played back) if it is a multimedia, video, or audio IHe.
  • I f the sender data is text or program data it may be stored, executed or transmitted to another device.
  • FIG. 8 depicts an example architecture of a device in which aspects of the invention may be implemented.
  • Device 800 represents a wireless communication device suitable for any of a sender device 104. helper device 101 - 103. or a receiver device 1 14 as depicted in Figure I A.
  • the wireless communication device 800 operates under the control of a device controller/processor 870, that controls the sending and receiving of wireless communication signals.
  • the device 800 is a dual mode device that includes both a mobile communication network transceiver function and a local wireless transceiver function.
  • the mobile communications receiver and transmitter module 810 communicates with a mobile network, such as base station I 10 of a cellular network as in Figure I A.
  • the local wireless communications receiver and transmitter module 820 accommodates the ad hoc/WiFi/peer- to-peer wireless interface and can communicate with other local wireless transceivers in other compatible devices without the use of the cellular network interface 810.
  • the mobile RX/TX interface 810 uses a separate communication link frequency and protocol as compared to the RX/TX local wireless interface 820. These two interfaces provide different links to different networks. These two interfaces are considered separate interfaces that provide separate communication links even if they share some components, such as an antenna, an amplifier, a frequency conversion stage, and the like.
  • Device 800 includes a memory 805, to serve as storage for executable programs, instructions, control data, digital content data, and the like. It should be noted that memory 805 can be either consolidated or distributed, such that all functions 805-860 can have direct access to some or all of the storage provided by memory elements.
  • An audio input and output module provides the audible input and output transducers suitable for an audio user interface.
  • Keypad 840 is included for data entry and control by a user of device 800.
  • a video display 850 serves to display video data/content or device control graphical user interlaces. As an example, display 850 can be used for data content playback or user interface input using such items as a touchscreen, lightpen. or stylus.
  • Other user interfaces 860 may include interfaces such as a USB interface, firewire, auxiliary audio input or output, optical or infrared remote control, and the like as known in the art.
  • Device 800 is only an example architecture for a device suitable to host or implement aspects of the invention. Those of skill in the art can recognize that variations and modifications are possible and well within the scope of the present invention.
  • the implementations described herein may be implemented in. for example, a method or process, an apparatus, or a software program. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program).
  • An apparatus may be implemented in. for example, appropriate hardware, software, and firmware.
  • the methods may be implemented in. for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device.
  • Processing devices also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs " ), and other devices that facilitate communication of information between end-users.
  • communication devices such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs " ), and other devices that facilitate communication of information between end-users.
  • PDAs portable/personal digital assistants
  • Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications associated with data transmission and reception.
  • equipment include video coders, video decoders, video codecs, web servers, set-top boxes, laptops, personal computers, and other communication devices.
  • the equipment may be mobile and even installed in a mobile vehicle.
  • the methods may be implemented by instructions being performed by a processor, and such instructions may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette, a random access memory ("RAM " ), a read-only memory (“ROM " ) or any other magnetic optical, or solid state media.
  • the instructions may form an application program tangibly embodied on a processor-readable medium such as any of the media listed above.
  • a processor may include, as part of the processor unit, a processor-readable medium having, for example, instructions for cann ing out a process.
  • implementations may also produce a signal formatted to carry information that ma> be. for example, stored or transmitted.
  • the information may include, for example, instructions for perform ing a method, or data produced by one o ⁇ ' the described implementations.
  • Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal.
  • the formatting may include, for example, encoding a data stream, packetizing the encoded stream according to any of a variety of frame structures, and modulating a carrier with the packetized stream.
  • the information that the signal carries may be, for example, analog or digital information.
  • the signal may be transmitted over a variety of different wired or wireless links, as is known.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A cooperative uploading system enables a mobile system user to uplink data to a corresponding mobile network using peer-to-peer technology. The mobile sender device separates data to be uplinked into multiple segments and requests that nearby mobile devices having peer-to-peer links respond as helper devices for the upload. Each helper device handles different data segments and uploads them respectively and in parallel; thus more effectively utilizing the upload bandwidth of the mobile network.

Description

PBHR- ΓO-PΓLR COOPΓ.RΛ ΓI VIZ UPLOADING SYS ΓEM
FlEl. D
10001 1 The present invention relates to inlbrmation transfer in a v\ ireless network. More specifically, the present invention relates to an uploading scheme using peer-to-peer mechanisms in a wireless network.
BACKGROUN D
|0002| The mobile communication system, such as cellular or satellite mobile communications system, is developing in a fast pace with higher bandwidth. As a result, a growing number of advanced services and applications are expected to emerge; such as video telephony, photo and music sharing. The end-to-end data communication link between mobile users in addition to the traditional telephony communication link, is also expected to become a reality.
(0003| The present 2.5G and 3G cellular systems (GPRS. GSM. UMTS) have largely improved the data transmission rates in their downlink designs. However, due to the power constraint of the cellular phone itself, the data transmission is always asymmetric. That is. the upload rate is not equal to the download rate. In some instances the download to upload rate ratio is 3: 1 . Thus there may be very limited balanced performance in end-to-end data communication between peers, such as video talking, picture sharing and the like. A data flow bottleneck exists in the uplink channel because of the constrained uplink rate in comparison to the downlink rate. This downlink to upl ink asymmetry can inhibit the further development of new concept services in modern mobile terminal systems, such as mobile phone, cellular, and satellite systems.
SUMMARY
[0004J To break the uplink constraint and improve the performance of end-to-end services provided
Figure imgf000002_0001
a mobile network, a peer-to-peer solution is provided for mobile terminal/unit/device uplink traffic. An aspect of the present invention includes using multiple wireless interfaces on mobile devices, such as on cell phones, for cooperatively uploading data to a mobile communication network, such as a mobile cellular svstem. The current invention enables a high-speed uplink data transmission. Users can enjoy this improvement anywhere if there are other mobile communicat ion devices that also have peer-to-peer capability in use in the nearby vicinity.
|0005| Advantages of the system include an architecture which does not introduce a fundamental change to the existing mobile communication network infrastructure, yet provides the benefit of system operation by balancing upload / download transmission rates in a mobile communication system. Thus, through a second mobile communication link, such as a peer-to-peer link, uplink communication is enabled by relaying data through the ad hoc wireless network consisting of peer mobile devices without the need for a base station. Also, the present invention can rescue mobile devices located in a dead-zone to allow uploading of data to the base station of the mobile communication network indirectly. [0006 j The method includes a sender device dividing data to be transmitted into a plurality of segments. The data is to be transmitted to a receiver device connected to a cellular network. Using a peer-to-peer wireless interface of the sending device, a request to identify cellular helper devices is transmitted to peer-to-peer receiver interfaces of other cellular devices. Responses from available cellular devices to the helper request are received on the peer-to-peer interface of the sender device. Assuming enough available cellular devices respond positively, the sender device sends at least one of the plurality of segments to selected responding cellular devices. Acknowledgements are received by the sender device from each of the helper devices using the peer-to-peer interface and a next data segment is sent to the helper devices. Additional data segments are sent from the sending device to the helper devices until all of the segments are transmitted. An acknowledgement is received from the cellular network that confirms that a segment was received by a cellular receiver device.
|0007| Additional features and advantages of the invention are apparent from the following detailed description of illustrative embodiments w hich proceeds with reference to the accompanying figures.
BRIEF DESCRI PTION OF THE DRAWINGS
[0008] Figure I A depicts an example system architecture in which the present invention may be practiced;
Figure I B depicts an example peer discovery and use according to the invention:
Figure 2 depicts an example transaction diagram for the present invention; Figure 3Λ depicts example data segmentation:
Figure 3 B depicts an example of segmented data status:
Figure 4 is an example How diagram for a setup and thread creation method at the sender:
Figure 5 is an example How diagram for a management method executed at a helper:
Figure 6 is an example tlow diagram for a method executed by a helper:
Figure 7 is an example How diagram for a method executed by a receiver, and
Figure 8 is an example architecture for devices suitable for implementing aspects of the present invention.
DETAILED DESCRI PTION OF TFIE EMBODIMENTS General Description
(0009 j As used herein. "/" denotes alternative names for the same or similar components or structures. That is. a "/" can be taken as meaning "or" as used herein. Unicast transmissions are between a single sender/transmitter and a single receiver. Broadcast transmissions are between a single sender/transmitter and all receivers within receiving range of the transmitter. Multicast transmissions are between a single sender/transmitter and a subset of the receivers within receiving range of the transmitter where the subset of receivers within receiving range of the transmitter may be the entire set. That is. multicast may include broadcast and is therefore a broader term than broadcast as used herein. Data/content is transmitted in packets or frames.
[0010| The present invention includes a cooperative uploading system and method to realize stable and efficient end-to-end data transmission for mobi le communication system users. Although examples of cellular devices are described herein, one of skill in the art can recognize that a cellular network device is only one example of a primary mobile communication network device and that other forms are possible such as satellite-based mobile network devices. PDAs, and the like. The secondary mobile communication network, such as a network served by a peer-to-peer link, can be any local wireless network that supports communication directly between mobile devices. Data can include any of audio, video, multimedia, or other forms of digital content. Advantages of the system include ease of maintenance and extendibility due to its easily adaptable architecture. |0011 1 Currently, some cell phones are designed with multiple wireless interfaces so that they can interconnect with each other by forming an ad-hoc/P2P communication l inks. This feature makes possible an additional local peer-to-peer network for cell phones with high W
data rates. Such a cell phone with multiple wireless interfaces utilizes both cellular eυmmunications and ad hoe communications methods on Wi Pi and Wireless Metropolitan Area Networks (WMΛN) data networks. Such networks can be self-organized in a short range but provides far higher speed than the rate between a cellular subscriber and the cellular base station. Data rates of up to I I .OMbps data rate are available using the IEEE .S02. l l protocol.
[0012] According to a principle ol the present invention, data to be uplinked to a cellular network can be divided into segments and distributed from the sender to other cellular devices (helpers) nearby. The nearby helper cellular devices can then upload data segments to the cellular base station simultaneously: leading to the improvement of upload rate. This approach is a cost-efficient system design which further exploits the available bandwidth of a cellular system.
(0013] Figure I A depicts an example system 100 in which the present invention may be practiced. The system 100 depicts a cellular system including a sender cellular device 104, helper devices 101. 102. and 103. as well as a receiver device 104. All of the cellular devices have a cellular connection to a base station I 10 that is serviced by a base station server I 12. As such, cellular devices 101. 102, 103. 104. and I 14 have cellular connections to the base station I 10 using links 10 I a. 102a. 103a, 104a, and I 14a respectively. Cellular devices 101 - 104 are dual band devices that not only have a cellular communication capability, but also an ad hoc/WiFi/wireless peer-to-peer (P2P) capability. As such, devices 101 , 102, 103, and 104 also have ad hoc/WiFi/blue-tooth peer-to-peer links 101 b, 102b, and 103b respectively with device 104. Although the sender device 104, the helper devices 101. 102. 103. and the receiver device I 14 are depicted as a cellular telephone devices, these cellular devices may be any cellular-capable devices known such as a cell phone, programmable digital assistant, portable personal computer, navigation devices, or other special purpose or general purpose portable cellular-compatible devices.
|0014| The system of Figure I A operates in a manner that includes a peer discovering phase and a peer uploading phase. During the per discovery phase, the sender 104 finds peer cellular devices (helpers) that are within the range of the ad hoc/WiFi/peer-to-peer (P2P) link of the sender device 104. Some of the helper devices that respond to the sender device 104 are selected to receive a data segment sent by the sender device. Data segments are sent to the various selected helpers using the peer-to-peer link established between the sender and the helpers. Now that the helper devices have received the various data segments via the P2P link from the sender device, the helper devices can upload the data segments tυ the base station I I O via the cellular links of the helper devices.
|0015| In one aspect of the invention, the base station I I O and base station server 1 12. as required, simply pass the data segments from the helper devices to the receiver I 14. Thus, the base station I 10 and base station server I 12 need not perform any special data manipulation on the data segments sent to the receiver I 14 from the helper devices. The receiver device I 14 collects the data segments relayed to it from the base station I 10. reassembles the data segments into a contiguous tile, and then is able to render the tile as needed.
|0016| Figure I B depicts an example peer discovery and use phase in accordance with principles of the invention. In Figure I B. sender 152 can communicate with other cellular devices that have an ad hoc/WiFi/P2P interface and that are within the P2P communication range 1 50. Cellular devices, such as device 160 are outside the range and may not be useful to the sender until device 160 moves into range 1 50. Likewise, cellular devices inside of range 1 50 that subsequently move out of range 1 50 cease to be of use to the sender 152. |0017| In a normal operation, the sender 1 52 has a data string, such as a multimedia data string that the sender wishes to upload to its cellular network for passage to a distant receiver cellular device, such as receiver 1 14. According to an aspect of the invention, the sender 152 divides the data string into multiple segments and then requests the assistance of other cellular devices in the pcer-to-peer range 1 50 of the sender. Considering the case of cellular device 156 of Figure I B, this device (Helper A) first receives a helper request (HP_REQ) via its peer-to-peer interface from sender 152. This is illustrated as link signal I a between sender 1 52 and helper A 156. I f Helper A is within range 1 50 and able to assist, then helper A returns a helper response (HP RESP) via P2P signal 2a. The sender 152 can then send a data segment to helper A via P2P link 3a. At this point, the helper 156 is responsible for sending the data segment to the cellular network receiver 1 14 destination (see Figure I A). When the destination receiver I 14 acknowledges receipt of the data segment, it sends an acknowledge back through the cellular network to Helper A 156. Helper A 156 then forwards the acknowledge (HP ACK) back to the sender 152 via the P2P interface. Sender 152 then knows that the data segment it sent to Helper A has been fully transported to the receiver destination on the cellular network. Sender 152 can then address the next data segment as needed. [001 H I Other helper devices, such as Helper 13 154 and I lelper C 1 58, also respond to requests from the sender 152. For example, the I IP-RFQ helper request signal, such as shown as .signal I a. I b. or I c may result from a broadcast signal from the sender. The helper response, such as signals 2a. 2b, and 2c are unicast responses from the helpers to the sender 1 52. Λs part of the peer discovery scheme, the sender 1 52 collects the HP-RESP signal responses, such as 2a. 2b. and 2c. and selects helpers useful for the upload process. A maximum of N helper connections are permitted. Some helper devices may be unused. For example Helper B 154 mav not receive a data segment to upload even though it is available. Some helpers, although available and selected, may move out of range 150 after receiving a data segment. Such may be the case with helper C 158. where even though it received a data segment via signal 3c, it may have moved out of range or was unable, for other reasons, to forward the data segment to the cellular system within a timeout period. Generally, the sender accommodates such events by selecting another helper to transmit the data packet that was not transmitted to the cellular network. f0019} In one aspect of the invention, the popularity of cell phones provides numerous opportunities to easily find the helper devices and conduct peer-to-peer communication with them. The maximum number of connections N between a sender and the voluntary helpers may be chosen to accommodate the type of data being sent, the availability of helpers, or other criteria, such as a desire to match the download rate of the receiver. The effective upload rate may be an empirical value or be adjusted by the sender itself. In practical implementation, the mobile nature of the wireless environment can add impediment to successful communication. Thus, acknowledgement and timeout mechanisms can be used to detect packet loss due to the mobility or sudden power off of the cellular devices. This may introduce some overhead to the system but from an overall point of view, the upload rate is greatly improved using the aspects of the present invention. Thus the uplink rate no longer becomes a bottleneck for more balanced wireless performance.
[0020| Figure 2 depicts a transaction diagram 200 that includes aspects of the invention. The transaction nodes include the sender cellular device, the helper cellular device, the base station of the cel lular network, and the receiver cellular device. These transaction nodes may correspond to the same named devices/entities in Figure I Λ. Initially , a sender has a data, such as multimedia data, which it wishes to transmit to a cellular receiver device. Since the cellular uplink rate is bandwidth limited, the sender decides to segment the upload into multiple data segments. The sender produces P2P helper request signal/transmission 205 (I IP ROQ) and requests help from neighboring devices that also have both P2P and cellular capability. Signal 205 can be a broadcast signal/transmission, but it may also be a multicast or iinicast signal/transmission. Each of the helpers within P2P range responds individually to the helper request signal. The helper of Figure 2 responds to the sender with P2P helper response signal 2 10 (I I P RIZSP). I "he sender chooses to use the responding helper and sends data segment transmission signal 2 15 via the P2P link. After receiving a data segment, the helper sends a helper acknowledge message/signal 220 (HP ACK) via the P2P interface of the helper device. Note that signals 205 through 220 all used the ad hoc wireless/WiFi/peer- to-peer wireless link between the sender and helper cellular devices. [0021 ] Once the helper has received and acknowledged the data segment, the helper sends the data segment via signal/transmission 225 to the base station. The base station forwards the data segment to the cellular receiver in signal/transmission 230. The receiver, having received the segment, can then send an acknowledge signal/transmission 235 (RCV ACK) back to the base station using its cellular interface. Note that the receiver need not have a P2P interface. The base station relays the receiver acknowledge signal to the helper via signal/transmission 240 (RCV ACK) using the cellular network interface. The helper can then forward the receiver acknowledge signal to the sender via the P2P interface using P2P signal/transmission 245 (RCV ACK). The sender then knows that the data segment was received by the intended cellular receiver.
[0022] Overall, the helpers upload the data packet segment they have received to the cellular base station in a parallel fashion, i.e., if the system operates in a time-division mode, the helpers as well as the sender itself uploads the data using their cellular interfaces in their respective time slot. Figure 2 represents transaction flows when the selected helper completes the task of uploading the data packet segment and transmits it to the cellular network. However, timeouts may occur where the data segment sent to the helper is not uploaded to the cellular network for delivery to the receiver, or where the sender fails to receive an acknowledgement of receipt of a data segment. Under these conditions, a re- choosing of a neighboring peer cellular device ma\ occur.
[0023] When the sender doesn"t receive any acknowledge from the helper or the destination receiver, that is, no HP ACK. or RV_ACK are received, in a given time, the sender may enter a re-choosing phase. The sender first checks whether there is any potential helper that it did not choose/select in the peer discovery phase. This process is accomplished by sending HP_REQ to the potential helper via a iinicast. muticast. or broadcast message and waiting for the I IP RIlSP from individual responding helpers. I f the HP RESP can be received, the sender retransmits the lost data segment to the new helper. Otherw ise if the sender cannot connect ever) potential helper, a new round of peer discovery may start. |0024| Figure 3 A depicts sender data 305 and segmented data 3 10. The sender data 305 represents data that the sender wishes to upload to the cellular network for receipt by a cellular receiver, such as receiver I 14 of Figure 1 A. The sender data 305 may represent video, audio, multimedia, text, program, or any other form of digital data content. As an aspect of the invention, the sender splits/divides the sender data 305 into data segments 310 like those shown in Figure 3A. Each data segment, (i.e. segment I , segment 2, etc.) may be combined with control, header, or trailer information that includes such parameters such as the segment number, receiver destination information, time and date, sender information, and so on to help identify the segment/data packet when it is received by the destination receiver. |0025| In one embodiment, the sender cellular device keeps track of the status of each data segment/data packet via the use of status fields. Figure 3 B depicts a scheme where there is one status field corresponding to each data segment. The status of any one segment can indicate the status of that particular data segment/data packet as it progresses in system 100. For example, the status of a particular data segment can be any one of (a) the data segment/packet is waiting to be transmitted, (b) the data segment/packet is in process with a helper, and (c) the data segment/packet is has been successfully transferred to the receiver destination.
[0026| Status (a) can be used after generation of the individual data segment/packet but before that data segment/packet is transmitted to a helper via a P2P link. Status (b) can be used to indicate that the particular data segment/packet has been transferred to the helper. Status (b) is maintained until a receiver acknowledge (RCV_ACK) signal/message is received by the sender that the data segment/packet is successfully received at the destination. The use of such status indicators can be useful in keeping track of individual data segments/packets as they are uploaded to the cellular network for delivery at the receiver cellular device.
|0027| At the receiver device (e.g. receiver 1 14 in Figure I A). the received data segments/packets are processed to reconstruct the original sender data 305. After reconstruction of the sender data from the individually received data segments/packets, the receiver device is able to utilize the sender data 305 in an> way that is appropriate. The receiver device can store, forward, or render the sender data. |0028| Reconstruction of the individual ly received data segments/packets includes reading and decrypting the received packets, identifying the packets as heing part of the sender data, and ordering the individual segments into the original sender data order. Concerning data transfer security, encryption can occur at any point in the upload process. The sender can encrypt individual data segments/packets before sending them via the P2P link to the helpers. Alternately or additionally, the helpers can encrypt the uploaded data segments/packets to the cellular system. Overall, traditional methods of symmetric/asymmetric cryptography to encrypt every data segment transmitted by peers are envisioned. Encryption at the sender can be used to avoid the possible eavesdropping of the helpers.
[0029| In one embodiment, public keys are already exchanged through base station between sender and receiver to conduct asymmetric cryptography such as RSA. Then, the sender and the receiver agree on a common shared key securely, using asymmetric cryptography. After that, the sender can encrypt every data segment using this common shared key. On receiving the data segments, the receiver is then able to decrypt them using the same key. |0030| Figure 4 illustrates one embodiment of a sender method 400 for setup and thread creation to accommodate aspects of the peer-to-peer uploading scheme. At step 402, the sender cellular device on a cellular network starts the method 400 by having sender data, such as a digital content file, such as multimedia, audio, video, text, data, etc.. that is to be sent to a receiver device on the cellular network. At step 404. the sender data is divided into segments. Each segment may include packet type information that identifies the sender, the type or identification of the sender data, a segment/packet number, destination information, and other packet overhead information. The packet overhead information is useful to direct the segment/packet to the destination and identify the particular packet. The segmented data packet information (data segment plus overhead) may optionally be encrypted. In addition, a status field (e.g. such as two or more bits) is generated to correspond with the segment packet. At this point, the status of the packet is "to be transmitted". A plurality of such packets is generated until the entire sender data is segmented into segment data packets. [0031 J At step 406, the sender sends out a request for help using an ad hoc/WiFi/peer-to- peer interface to neighboring cellular devices that also have the ad hoc/WiFi/peer-to-peer interface. Typically, such a request is a broadcast message, but it also may be a multicast or a unicast message if the sender knows which helper cellular devices are in range of the P2P interface. At step 408. the sender waits for a response from the helper devices on the P2P interface. |0032| Λt step 410. a decision is made if enough helpers has responded to the request for help. In one embodiment, the decision is made based on the number of helper devices that respond in order to increase the effective upload data rate of the sender above the threshold of the normal upload data rate on the cellular networks. In another embodiment, the desired upload data rate may be dependent on data type. For example, considering video data, the upload data rate may be selected to be as high as a maximum download rate for the cellular receiver. Alternately, for a document file, the upload data rate may be selected at some level below a maximum data rate for the cellular receiver. Using only the cellular network, the normal upload and download data rates may be unequal. If the upload and download data rates of the sender device can be made to be closer in value using aspects of the invention, then a data rate balance can be achieved for the sender device. If there are not enough helper devices that respond to the request for helpers, then all responses are ignored in step 412. If there are enough helper devices that respond positively to the request for upload help, then the method 400 moves to step 414. For many application, even if there is not enough helper devices to reach an optimal or desired data rate, the principles of peer-to-peer uploading described herein still help to improve uploading beyond that of a single cellular device. For instance, for a file uploading application, the present invention can utilize whatever number of helper devices that are available.
|0033| At step 414, initially, a first one of the responding helpers is selected and a software thread is created in the sender device to manage the selected helper. The tread is used to keep track of the data segments/packets that are sent to the helper. After creation of a helper thread, a determination is made at step 416 if there are enough helpers used for the uploading scheme. If more helper devices are needed for an effective upload rate, then the method 400 moves from step 416 to step 414. w here the next helper device that responded positively is selected and a thread for that helper is created. If enough helpers are selected, then the method 400 moves from step 416 to step 41 8 where the threads are managed until each of the threads is completed.
|0034] Figure 5 depicts a method 500 for management of a helper thread in the sender device. It is noted that multiple concurrent threads may be running in the sender device as a result of the flow of Figure 4. Management of a single thread is depicted and starts at step 502 of Figure 5. Initially, a data segment packet was generated and its status was indicated as "to be transmitted". When the tread is executed, it is associated with a specific data segment packet and its status is changed to "In Process" at step 504. The selected data segment/packet is sent to one of thc selected helpers at step 506 using the P2P link. After the helper receives the packet, the helper acknowledges receipt using the HP ΛCK signal/message. Λt step 508. a determination is made if the helper acknowledge has been received. I f the helper acknowledge signal/message is received before a timeout, then step 508 flows to the determination step 5 10.
[0035) A fter the helper has the data segment/packet, it sends the packet to the destination receiver via its cellular link. Upon receipt, the destination cellular receiver returns to the helper an acknowledge signal/message (RCV ACK) via the cellular link. The helper then forwards the acknowledge signal to the sender device via the P2P link. At step 5 10, a determination is made as to whether the receiver acknowledgement has been received. If the receiver acknowledge has been received by the sender, then the step 5 10 moves to step 5 16 where the status of the data segment/packed is confirmed to be complete. The data segment/packet status is marked as "Transfer complete".
[0036] At step 518. a determination is made if there are more data segments having the "To be Transmitted" waiting to be transmitted to a helper. If there are more data segments/packets waiting to be transmitted, then the method moves from step 518 to step 504 where the next available data segment/packet is picked up by the thread, marked as "In Process"' and transmitted to the helper as in step 504 and 506. Steps 502 through 518 are repeated until all of the available data segments/packets are successfully transferred. [0037] Occasionally, an error or stalling may occur which prevents the data segment/packet from being acknowledged by the helper. Decision step 508 detects when the helper acknowledge is not received before a timeout and moves the method to step 5 12. Step 5 12 allows three retries and loops through steps 506 and 508. If the number of retries exceeds three, then the method moves to step 5 14. Here, the helper device is not acknowledging receipt of the data segment/packet. This could occur as a result of the helper moving out of range of the sender or some other reason. At step 5 14, the helper is abandoned. The data segment is marked as "To be Transmitted" and the thread terminates because the thread the helper is not responding.
[0038| If the helpers continue to respond, eventually, there are no more data segments/packets remaining that have not been sent. This is detected at step 5 18 where the method 500 moves to terminate the thread at step 520. Note that there are many such threads running on the sender device; each servicing one helper. Thus, all of the threads and helpers work in parallel to upload all of the data segments/packets to the cellular receiving device. When all packets are sent and acknowledged, then all of the threads are terminated. In one embodiment, the sender also acts as a helper and executes a thread using its own cellular interface to upload data segments to the cellular network in parallel with all of the other helpers that are chosen by the sender.
|0039| Figure 6 depicts an example method 600 for the activities of the helper. Starting at step 602 upon power-up of a helper cellular device. At step 604. the helper waits for a sender to send a helper request (HP REQ) via a P2P link. After receipt of the helper request, the helper sends a response (I 1P RESP) to the sender via a P2P link at step 606 to indicate that the helper is available to assist in an upload process for the sender. The helper then waits at step 608 for a data segment/packet to be sent to the helper device. [0040] If the helper waits more than a preset amount of time without receiving a data segment, then the decision at step 610 moves the method back to step 604 to wait for the next helper request signal/message. I f the data segment/packet is received by the helper before the timeout period, then the decision at step 610 moves the process to step 612 where the helper sends out a helper acknowledge (HP AK) to the sender via the P2P link. Next at step 614, the helper sends the data segment/packet to the destination cellular receiver via the cellular link. Once the cellular receiver receives the data segment/packet, the receiver generates a receiver acknowledge (RCV ACK) back to the helper via the cellular link. At step 618, the helper receives the receiver acknowledge. The helper then forwards the receiver acknowledge back to the sender via the P2P interface at step 620. The method then moves to step 608 where the helper waits for the sender to transmit the next data segment/packet. [0041 J Figure 7 depicts an example method 700 for the destination cellular receiver device. The process starts at step 702 with power on of the receiver device. All signals to and from the destination cellular receiver device occur using the cellular link. At step 704. the destination cellular receiver device receives a data segment from the base station. At step 706. the received data segment/packet is decrypted, if needed. After determining that the data segment/packet is without error, then the receiver device sends a receiver acknowledge (RCV ACK) to the helper at step 708. The receiver device examines packet information of all of the data segments/packets it received and determines at step 710 whether there are more data segments to be received. I f there are more data segments/packets to be received, then the method 700 moves to step 704 to receive the next data segment/packet. If there are no more data segments/packets to be received, then the method moves to step 712 where all of the received data segments/packets are reconstructed to form a replica of the original sender data. Packet information such as the identity of the sender, the total number of packets in the sender data, the packet number, and the like are used to reconstruct the sender data. Λt step 714, the receiver device is then free to process the sender data as needed. For example, the sender data could be rendered (played back) if it is a multimedia, video, or audio IHe. I f the sender data is text or program data it may be stored, executed or transmitted to another device.
|0ϋ42| Figure 8 depicts an example architecture of a device in which aspects of the invention may be implemented. Device 800 represents a wireless communication device suitable for any of a sender device 104. helper device 101 - 103. or a receiver device 1 14 as depicted in Figure I A. The wireless communication device 800 operates under the control of a device controller/processor 870, that controls the sending and receiving of wireless communication signals. The device 800 is a dual mode device that includes both a mobile communication network transceiver function and a local wireless transceiver function. The mobile communications receiver and transmitter module 810 communicates with a mobile network, such as base station I 10 of a cellular network as in Figure I A. The local wireless communications receiver and transmitter module 820 accommodates the ad hoc/WiFi/peer- to-peer wireless interface and can communicate with other local wireless transceivers in other compatible devices without the use of the cellular network interface 810. The mobile RX/TX interface 810 uses a separate communication link frequency and protocol as compared to the RX/TX local wireless interface 820. These two interfaces provide different links to different networks. These two interfaces are considered separate interfaces that provide separate communication links even if they share some components, such as an antenna, an amplifier, a frequency conversion stage, and the like.
[0043] Device 800 includes a memory 805, to serve as storage for executable programs, instructions, control data, digital content data, and the like. It should be noted that memory 805 can be either consolidated or distributed, such that all functions 805-860 can have direct access to some or all of the storage provided by memory elements.
[0044] An audio input and output module provides the audible input and output transducers suitable for an audio user interface. Keypad 840 is included for data entry and control by a user of device 800. A video display 850 serves to display video data/content or device control graphical user interlaces. As an example, display 850 can be used for data content playback or user interface input using such items as a touchscreen, lightpen. or stylus. Other user interfaces 860 may include interfaces such as a USB interface, firewire, auxiliary audio input or output, optical or infrared remote control, and the like as known in the art. Device 800 is only an example architecture for a device suitable to host or implement aspects of the invention. Those of skill in the art can recognize that variations and modifications are possible and well within the scope of the present invention.
[0045] The implementations described herein may be implemented in. for example, a method or process, an apparatus, or a software program. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in. for example, appropriate hardware, software, and firmware. The methods may be implemented in. for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processing devices also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end-users. {0046] Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications associated with data transmission and reception. Examples of equipment include video coders, video decoders, video codecs, web servers, set-top boxes, laptops, personal computers, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.
[0047J Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette, a random access memory ("RAM"), a read-only memory ("ROM") or any other magnetic optical, or solid state media. The instructions may form an application program tangibly embodied on a processor-readable medium such as any of the media listed above. As should be clear, a processor may include, as part of the processor unit, a processor-readable medium having, for example, instructions for cann ing out a process.
[0048] As is evident from the foregoing disclosure, implementations may also produce a signal formatted to carry information that ma> be. for example, stored or transmitted. The information may include, for example, instructions for perform ing a method, or data produced by one o\' the described implementations. Such a signal may be formatted, for example, as an electromagnetic wave ( for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream, packetizing the encoded stream according to any of a variety of frame structures, and modulating a carrier with the packetized stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known.
[0049] As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting; but rather, to provide an understandable description of the invention.

Claims

1 . Λ method comprising: dividing data to be transmitted to a first mobile communication network into a plurality of segments: transmitting, on a second network, a request to identity mobile devices; receiving, on the second network, responses from available mobile devices; sending, on the second network, at least one of the plurality of segments to a first device of the available mobile devices: and sending, on the second network, another of the plurality of segments to a second device of the available mobile devices.
2. The method of claim 1 , wherein dividing data to be transmitted to a first mobile communication network comprises: segmenting data to be transmitted on a cellular network.
3. The method of claim I . wherein receiving, on the second mobile communication network, responses from available mobile devices comprises: receiving, on a peer-to-peer communication link, responses from mobile devices having both a cellular communication link and a peer-to-peer communication link.
4. The method of claim 1 , further comprising: sending a next segment to the first device and to the second device until all of the plurality of segments are transmitted.
5. I he method of claim 4, further comprising: receiving an indication via the second network that a segment is received by the first mobile communication network.
6. The method of claim 1 , further comprising: sending a next segment to the first mobile communication network directly.
7. A method comprising: receiving, via a peer-to-peer link, a request to accept data from a peer device: responding to the request using the peer-to-peer link; accepting data received on the peer-to-peer link; and transmitting the data to a mobile network using a mobile communication link.
8. The method of claim 7. further comprising: sending an acknowledge on the peer-to peer link in response to accepting data.
9. The method of claim 7, further comprising: receiving an acknowledge from the mobile network after transmitting the data to the mobile network.
10. The method of claim 9, further comprising: transmitting the acknowledge on the peer-to-peer interface after receiving the acknowledge from the mobile network.
I I . Λn apparatus comprising: a mobile communication interface comprising a mobile receiver and a mobile transmitter; a peer-to-peer interface: a computing device acting to divide data to be transm itted to a mobile network into a plurality of segments, transmit on the peer-to-peer interface a request to identify another mobile device, receive on the peer-to-peer interface a response from at least one mobile device, send at least one of the plurality of segments to the at least one mobile device using the peer-to-peer interface, and send a next segment to the at least one mobile device.
12. The apparatus of claim 1 I . wherein the peer-to-peer interface receives an acknowledge signal from the at least one mobile device after sending at least one of the plurality of segments.
13. The apparatus of claim 1 1 , wherein the apparatus sends another of the plurality of segments to a second mobile device using the peer-to-peer interface, wherein the apparatus continues sending segments via the peer-to-peer interface until all of the plurality of segments are transmitted.
14. Λn apparatus comprising: a mobile communication interface for a mobile network comprising a mobile network receiver and transmitter: a peer-to-peer interface: a computing device acting to receive and respond to a request to accept data using the peer-to-peer interface, accept data received on the peer-to-peer interface, and transmit the data to the mobile network.
15. The apparatus of claim 14. wherein the peer-to-peer interface sends an acknowledge signal in response to accepting the data and receives an acknowledge signal from the mobile network after transmitting the data to the mobile network.
PCT/US2009/000054 2009-01-07 2009-01-07 Peer-to-peer cooperative uploading system WO2010080077A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2009/000054 WO2010080077A1 (en) 2009-01-07 2009-01-07 Peer-to-peer cooperative uploading system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/000054 WO2010080077A1 (en) 2009-01-07 2009-01-07 Peer-to-peer cooperative uploading system

Publications (1)

Publication Number Publication Date
WO2010080077A1 true WO2010080077A1 (en) 2010-07-15

Family

ID=41110914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/000054 WO2010080077A1 (en) 2009-01-07 2009-01-07 Peer-to-peer cooperative uploading system

Country Status (1)

Country Link
WO (1) WO2010080077A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012049351A1 (en) * 2010-10-13 2012-04-19 Nokia Corporation Selection of communication mode
US20120233293A1 (en) * 2011-03-08 2012-09-13 Rackspace Us, Inc. Parallel Upload and Download of Large Files Using Bittorrent
CN104067529A (en) * 2012-12-26 2014-09-24 华为技术有限公司 Method, device, and communication system for sending uplink data
WO2016180612A1 (en) * 2015-05-11 2016-11-17 Sony Europe Limited Mobile communications system, methods, controller, relay node and communications terminal

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037771A2 (en) * 2000-11-03 2002-05-10 Telefonaktiebolaget L M Ericsson (Publ) Systems using mobile terminals having short link radios
WO2003103232A1 (en) * 2002-05-31 2003-12-11 Nokia Corporation A terminal, base station and method for a cellular network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037771A2 (en) * 2000-11-03 2002-05-10 Telefonaktiebolaget L M Ericsson (Publ) Systems using mobile terminals having short link radios
WO2003103232A1 (en) * 2002-05-31 2003-12-11 Nokia Corporation A terminal, base station and method for a cellular network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012049351A1 (en) * 2010-10-13 2012-04-19 Nokia Corporation Selection of communication mode
CN103190196A (en) * 2010-10-13 2013-07-03 诺基亚公司 Selection of communication mode
CN103190196B (en) * 2010-10-13 2015-12-09 诺基亚公司 The selection of communication pattern
US9344997B2 (en) 2010-10-13 2016-05-17 Nokia Technologies Oy Selection of communication mode
US20120233293A1 (en) * 2011-03-08 2012-09-13 Rackspace Us, Inc. Parallel Upload and Download of Large Files Using Bittorrent
US9374395B2 (en) * 2011-03-08 2016-06-21 Rackspace Us, Inc. Parallel upload and download of large files using bittorrent
CN104067529A (en) * 2012-12-26 2014-09-24 华为技术有限公司 Method, device, and communication system for sending uplink data
WO2016180612A1 (en) * 2015-05-11 2016-11-17 Sony Europe Limited Mobile communications system, methods, controller, relay node and communications terminal
US10404359B2 (en) 2015-05-11 2019-09-03 Sony Corporation Mobile communications system, methods, controller, relay node and communications terminal
US11139888B2 (en) 2015-05-11 2021-10-05 Sony Corporation Mobile communications system, methods, controller, relay node and communications terminal
US11652543B2 (en) 2015-05-11 2023-05-16 Sony Group Corporation Mobile communications system, methods, controller, relay node and communications terminal

Similar Documents

Publication Publication Date Title
US10602424B2 (en) System and method for digital communication between computing devices
CN102124809B (en) Methods and apparatus for using multiple frequency bands for communication
US9474094B2 (en) Methods and arrangements to establish peer-to-peer link
EP1652356B1 (en) Mobility in a multi-access communication network
CN116711449A (en) Communication device and communication method for multilink peer-to-peer communication
US20090325479A1 (en) Relay antenna indexing for shared antenna communication
TWI390929B (en) Media broadcasts from wireless access point
TW200415927A (en) Dual mode unit for short range, high rate and long range, lower rate data communications
CN110800218B (en) Wireless personal area network transmit beamforming
US20220104294A1 (en) Facilitating a geo-distributed dynamic network system for ubiquitous access to multiple private networks
TW200828920A (en) Method and system for high speed wireless data transmission between communication devices
US20230057641A1 (en) Facilitation of authentication management for autonomous vehicles
WO2010080077A1 (en) Peer-to-peer cooperative uploading system
KR101589562B1 (en) Relay Frame structure for supporting transparent and bidirectional relays
US20150038184A1 (en) Wireless communication method and apparatus
CN112398943B (en) Information intercommunication method and device, storage medium and electronic equipment
EP2911338B1 (en) Communication method and apparatus
US20230209334A1 (en) Methods and apparatus for secure voice communications
EP4094419B1 (en) Distributed data transmission for internet of things devices
JP7179749B2 (en) Wireless communication device, wireless communication method and computer program
Kong et al. Providing real-time security support for multi-level ad-hoc networks
KR20200039400A (en) Apparatus and method for information protection
WO2014056359A1 (en) Method for direct communication between wireless terminals and wireless terminal thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09788687

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC OF 290911

122 Ep: pct application non-entry in european phase

Ref document number: 09788687

Country of ref document: EP

Kind code of ref document: A1