WO2010092435A1 - Method, apparatus, and computer program product for collaborative network communications - Google Patents
Method, apparatus, and computer program product for collaborative network communications Download PDFInfo
- Publication number
- WO2010092435A1 WO2010092435A1 PCT/IB2009/050565 IB2009050565W WO2010092435A1 WO 2010092435 A1 WO2010092435 A1 WO 2010092435A1 IB 2009050565 W IB2009050565 W IB 2009050565W WO 2010092435 A1 WO2010092435 A1 WO 2010092435A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- collaborative data
- data
- collaborative
- node
- differential
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/34—Reselection control
- H04W36/38—Reselection control by fixed network equipment
- H04W36/385—Reselection control by fixed network equipment of the core network
Definitions
- Embodiments of the present invention relate generally to network communications, and, more particularly, relate to a method, apparatus, and a computer program product for collaborative network communications in, for example, wireless networks.
- the application of compression algorithms to data may reduce the number of bits that need to be communicated and thereby reduce the time required to transmit the same amount of data.
- the power consumption needed to transmit the data is also reduced. Accordingly, mechanisms for increasing the effective bandwidth of channel, while also reducing the power consumption use to communicate the same or similar information, are desirable.
- a collaborative network of nodes such as mobile communications devices, may be assembled for a particular collaborative application (e.g., composite video capturing of an event, creation of composite traffic or weather information, or the like).
- a particular collaborative application e.g., composite video capturing of an event, creation of composite traffic or weather information, or the like.
- Each node within the network may contribute node-based collaborative data (e.g., data captured from the perspective of the node via, for example, a sensor device) to the network for aggregation.
- the nodes may transmit the differential portions of the collaborative data that a particular node captured.
- nodes within collaborative network may transmit node-based collaborative data to a collaborative data destination device (e.g., a server) for aggregation or compilation of the node-based collaborative data.
- a collaborative data destination device e.g., a server
- nodes within the collaborative network may also transmit node-based collaborative data to other nodes within the network.
- a node may compile the foreign collaborative data into a composite collaborative data set that may be representative of the data that the collaborative data destination device has already received.
- a node may compare node-based collaborative data with a composite collaborative data set to identify differential collaborative data.
- the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct form the data included in the composite collaborative data set.
- the differential collaborative data represents new collaborative data that is not redundant of data previously received by the collaborative data destination device.
- the node may then transmit the differential collaborative data to the collaborative data destination device, as well as other nodes.
- the configuration of the nodes, the collaborative data destination device, and the collaborative network exploit the presence of redundant data and thereby provide for reductions in the utilization of channel bandwidth, as well as power consumption, since the transmission of redundant data within the collaborative network is eliminated or at least limited. Further, according to some example embodiments, since less data is transmitted, the overall data rate of the network is increased. Further, according to some example embodiments, transmission of less data can reduce the time and power consumption cost of encoding and decoding the data. As such, in example embodiments where data transfer rates must be maximized (e.g., video aggregation applications) joint-source encoding and decoding may also be used to further increase the overall data rate of the system. Various example embodiments of the present invention are described herein.
- One example embodiment is a method for collaborative network communications.
- the example method includes acquiring node-based collaborative data, receiving foreign collaborative data via a data communication, and compiling a composite collaborative data set with at least the foreign collaborative data.
- the example method also includes comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data of the example method is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set.
- the example method also includes providing for transmission of the differential collaborative data to at least a collaborative data destination device.
- the example apparatus comprises a processor and a memory storing executable instructions that, in response to execution by the processor, cause the example apparatus to be configured in a particular manner.
- the example apparatus is configured to acquire node-based collaborative data, receive foreign collaborative data via a data communication, and compile a composite collaborative data set with at least the foreign collaborative data.
- the example apparatus is also configured to compare the node-based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data identified by the example apparatus is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set.
- the example apparatus is also configured to provide for transmission of the differential collaborative data to at least a collaborative data destination device.
- Another example embodiment is an example computer program product for collaborative network communications.
- the example computer program product comprises at least one computer-readable storage medium having executable computer- readable program code instructions stored therein.
- the computer-readable program code instructions of the example computer program product are for acquiring node-based collaborative data, receiving foreign collaborative data via a data communication, and compiling a composite collaborative data set with at least the foreign collaborative data.
- the computer-readable program code instructions of the example computer program product are also for comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data identified by the computer-readable program code instructions of the example computer program product is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set.
- the computer-readable program code instructions of the example computer program product are also for providing for transmission of the differential collaborative data to at least a collaborative data destination device.
- Yet another example embodiment is an apparatus for collaborative network communications.
- the example apparatus includes means for acquiring node-based collaborative data, means for receiving foreign collaborative data via a data communication, and means for compiling a composite collaborative data set with at least the foreign collaborative data.
- the example apparatus also includes means for comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data identified by the example apparatus is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set.
- the example apparatus also includes means for providing for transmission of the differential collaborative data to at least a collaborative data destination device.
- FIGs. Ia - Id illustrate the operation of a two node wireless collaborative network according to various example embodiments of the present invention
- FIGs. 2a - 2c illustrate the operation of a three node wireless collaborative network according to various example embodiments of the present invention
- FIG. 3 is a block diagram of an apparatus for collaborative network communications according to various example embodiments of the present invention
- FIG. 4 is a flowchart of a method performed by a node for collaborative network communications according to various example embodiments of the present invention.
- FIG. 5 is a flowchart of a method performed by a collaborative data destination device for collaborative network communications according to various example embodiments of the present invention.
- FIG. Ia illustrates an example wireless collaborative network in accordance with various embodiments of the present invention.
- the network of FIG. Ia includes two nodes 100 (e.g., node 100a and node 100b) and a collaborative data destination device 110.
- the nodes 100 and the collaborative data destination device 110 may be capable of performing wireless communications between each other.
- the collaborative network may be configured to implement a particular application.
- the collaborative network may be assembled to produce a composite video of a sporting event that includes video from the perspectives of each of the nodes 100.
- the nodes 100 may be configured to capture video data from their respective vantage points for compilation by the collaborative data destination device 110.
- Ia may be assembled to determine traffic congestion data for roads and highways in a particular area.
- the nodes may be mobile communications devices that are configured to acquire time, location, speed, and direction data.
- the time, location, speed, and direction data may be compiled by the collaborative data destination device 110 to generate, for example, maps indicating roads and highways that are currently congested.
- the nodes 100 of FIG. Ia may be any type of wireless communications devices that implement any mechanism for wireless communications to allow for communications with the other nodes and the collaborative data destination device 110.
- the nodes 100 may also include sensors (e.g., a location sensor, a camera unit, a speed and direction sensor, a timer, etc.) for capturing node-based collaborative data.
- node-based collaborative data may be any type of data acquired by a node that would have attributes of the node's perspective with respect to a particular phenomena (e.g., video data of a sporting event from a particular vantage point, speed and direction data for a vehicle traveling at the location of the node 100 at a particular time, etc.).
- a particular phenomena e.g., video data of a sporting event from a particular vantage point, speed and direction data for a vehicle traveling at the location of the node 100 at a particular time, etc.
- the collaborative data destination device 110 may also be any type of wireless communications device that implements any mechanism for wireless communications to allow for communications with the nodes 100.
- the collaborative data destination device 110 may be a data server with data storage and computing capabilities.
- the collaborative data destination device 110 may be configured to receive collaborative data from the nodes 100 to compile a composite collaborative data set that includes all of the data provided by the nodes 100.
- the collaborative data destination device 110 may also operate as a node and contribute collaborative data, rather than merely receive and compile collaborative data.
- the collaborative data destination device 110 of FIGs. Ia - Id and 2a - 2c is not described as also operating as a node.
- FIG. 1 a also illustrates a first transmission of collaborative data within the collaborative network.
- Node 100a and node 100b have each acquired node-based collaborative data (e.g., respective video data), which may include time stamp data describing when the data was captured.
- Node 100a begins by transmitting a signal 105 that may represent all of the new, or pre-analysis and transmission, node-based collaborative information acquired by node 100a from a given time or continuously.
- node 100a prior to transmitting the signal 105, formed a message that includes the new node-based collaborative data acquired by node 100a, performed source compression and error protection, and modulated the data.
- the signal 105 may be transmitted to both the node 100b and the collaborative data destination device 110.
- the signal 105 may be addressed to the collaborative data destination device 110, but node 100b may receive the signal nonetheless. Node 100b may receive the signal 105 as foreign collaborative data or collaborative data received from another node. Upon receipt of the foreign collaborative data, node 100b may decode the signal 105.
- node 100b may store the foreign collaborative data for subsequent analysis.
- the node 100b may compile a composite collaborative data set based on the data content of the signal 105 and previously received foreign collaborative data. Since signal 105 was the first transmission within this example scenario, it may be assumed that node 100b had not previously received foreign collaborative data and therefore compilation of the composite collaborative data set may involve merely storing the foreign collaborative data as the entire composite collaborative data set.
- the node 100b may then compare the node-based collaborative information acquired by node 100b with the composite collaborative data set. Via the comparison, node 100b may identify data not present in the composite collaborative data set, or differential collaborative data, between the node-based collaborative data acquired by node 100a (currently the composite collaborative data set) and the node-based collaborative data acquired by node 100b.
- time stamp data associated with the data of the composite collaborative data set and the new node- based collaborative data may be used to identify data that was captured at the same time, but is unique to the new node-based collaborative data. This identified data may be the differential collaborative data.
- Node 100b may then perform an incremental encoding of the differential collaborative data. As depicted in FIG. Ib, rather than transmit all of the node-based collaborative data acquired by node 100b, node 100b may transmit a signal 115 that includes the differential collaborative data to the collaborative data destination device 110. Having received the node-based collaborative data acquired by node 100a as signal 105 and the differential collaborative data as signal 115, the collaborative data destination device 110 may compile or fuse the data extracted from the signals to generate a composite collaborative data set that is representative of both of the contributions of the collaborative data provided by node 100a and the collaborative data provided by node 100b.
- multiple description coding may be implemented such that critical data layers are compressed differently than enhancement layers used to improve video or audio quality.
- various data coding schemes may be utilized to achieve a particular data rate, such as an incremental coding technique (e.g., differential/pulse code modulation) or a superposition coding technique.
- example embodiments of the present invention may compare coded or decoded versions of collaborative data to identify differential collaborative data.
- some example embodiments of the present invention may incorporate coding schemes that involve modifications to the activities of multiple layers (e.g., from the application layer to the physical layer) of the open systems interconnection (OSI) model resulting in crosslayer design and optimization.
- OSI open systems interconnection
- a source coding followed by a channel coding scheme using incremental or superposition coding may be implemented.
- a joint-source coding scheme may be utilized.
- the joint-source coding scheme may be implemented in configurations where the nodes are capable of full-duplex communications.
- various joint-source coding schemes may be utilized including digital joint-source coding techniques, hybrid digital-analog (HAD) joint-source coding techniques, "near-analog" joint source coding techniques, or the like. It is contemplated that the various coding schemes may be implemented with any and all communications between and amongst the nodes and the collaborative data destination device.
- signals 105, 115, 120, 125, 130, and/or 135 may be coded using the coding schemes described herein.
- FIG. Ic depicts an alternative scenario to FIG. Ib.
- FIG. Ic illustrates the signal 115, which includes the differential collaborative data, as being received by both the collaborative data destination device 110 and the node 110a.
- the differential collaborative data of signal 115 is foreign collaborative data.
- node 100a may be configured to compile a composite collaborative data set based at least in part on the foreign collaborative data.
- node 100a may combine the foreign collaborative data with the previously acquired and transmitted node-based collaborative data to generate the composite collaborative data set, or a representation of the data that has been received by the collaborative data destination device 110.
- This composite collaborative data set may be used by the node 100a for subsequent comparisons to identify additional differential collaborative data.
- the composite collaborative data set compiled by a node may be generated in a number of ways.
- the composite collaborative data set may be determined with respect to time. Data segments that are coincident in time, based on time stamp data, and are also redundant, may be filtered out to reduce the size of the composite collaborative data set without losing any information.
- the collaborative data may include time stamps describing the time when the collaborative data was captured to facilitate organizing the data in this manner.
- the composite collaborative data set generated by a node may include the node-based collaborative data acquired by that node.
- a composite collaborative data set generated in this manner may include all of the data that has been acquired by each of the nodes within in the network. As such, the same or a similar scheme may be used by the collaborative data destination device 110 to compile the collaborative data.
- a node need not include its own node-based collaborative data in the composite collaborative data set generated by the node, since new node-based collaborative data will not be coincident in time with previously acquired node-based collaborative data. As such, no redundancy would arise and storage of prior node-based collaborative data may be unnecessary. A composite collaborative data set generated in this manner, would therefore be incomplete with respect to all of the unique data received by the collaborative data destination device. As such, generating a composite collaborative data set in this manner may be used by a node.
- the composite collaborative data set need not be generated based on time stamps.
- redundancies in the overall data using, for example, statistical methods may be used to generate the composite collaborative data set and reduce the size of the composite collaborative data set.
- a composite collaborative data set generated in this fashion may include node-based collaborative data acquired by the node generating the composite collaborative data set.
- comparisons that identify differential collaborative data need not be time coincident comparisons, but rather overall data set comparisons to identify distinctions in the data.
- the complexity involved in the compilation of a composite collaborative data set may be reduced by implementing a defined sequencing of communications including differential collaborative data between the nodes.
- a sequence may define a predetermined series where each node identifies differential collaborative data and transmits the differential collaborative data, in turn.
- each node may discard their respective composite collaborative data sets and begin anew. In this manner, the composite collaborative data sets may be limited in size, so as not to become unwieldy.
- the receipt of foreign collaborative data possibly from a particular source node, may be a triggering event to cause the identification of differential collaborative data and the transmission of the differential collaborative data.
- a scheme may be devised where no sequence of communications is defined, but after a cycle where each node has communicated, the composite collaborative data sets of the nodes may be discarded.
- node 100a may generate a composite collaborative data set based on at least the foreign collaborative data received via signal 115, and possibly on the previously acquired new node-based collaborative data acquired by the node 100a. Previously or subsequently, node 100a may have acquired new node-based collaborative data. As such, node 100a may compare the new node-based collaborative data to the composite data set to indentify differential collaborative data. As depicted in FIG. 3, the node 100a may transmit the differential collaborative data in a signal 120 received by both the collaborative data destination device 110 and the node 100b. Node 100b and the collaborative data destination device 110 may subsequently update their respective composite collaborative data sets, although possibly in different manners as described above.
- FIGs. Ia - Id depict a collaborative network that includes two nodes 100.
- collaborative network may be comprised of any number of nodes.
- One of skill in the art will appreciate that as the number of nodes increases the complexities of communications between the nodes may also increase. However, the probabilities of identifying redundant data may also increase resulting in a net reduction in the utilization of bandwidth and a reduction in overall power consumption for communications.
- FIG. 2a illustrates a collaborative network with three nodes 100 (e.g., node 100a, node 100b, and node 100c), and a collaborative data destination device 110.
- Each of the nodes 100 have acquired respective node-based collaborative data.
- Node 100a begins by transmitting its differential collaborative data in signal 125. Again, in this scenario, since node 100a is transmitting the first communication, the differential collaborative data may include all of the node-based collaborative data acquired by the node 100a.
- the signal 125 is received by the collaborative data destination device 110, node 100b, and node 100c.
- Node 100b and 100c may subsequently generate composite collaborative data sets comprising the foreign collaborative data received from node 100a via signal 125.
- the composite collaborative data sets may involve simply the storage of the foreign collaborative data included in the signal 125.
- node 100b may compare its new node-based collaborative data to its composite collaborative data set and identify differential collaborative data.
- the differential collaborative data may be transmitted to the collaborative data destination device 110, as well as the other nodes.
- the differential collaborative data may be received by both the collaborative data destination device 110 and node 100c via signal 130.
- Node 100c may receive the foreign collaborative data via signal 130 and combine or compile the foreign collaborative data with the data in its composite collaborative data set.
- node 100c may compare its new node-based collaborative data with its composite collaborative data set (which now includes foreign collaborative data form both nodes 100a and 100b) to identify differential collaborative data.
- node 100c may then transmit the differential data to be received by other nodes and the collaborative data destination device 110.
- 2c depicts the differential collaborative data being received by the collaborative data destination device 110 via signal 135.
- the collaborative data destination device 110 may subsequently combine or compile the collaborative data received via signal 135 with the collaborative data received via signals 125 and 130 to generate a complete data set of all collaborative data acquired by the nodes.
- FIGs. Ia - Id and FIGs. 2a - 2c are depicted as a wireless network environment, however, it is contemplated, and one of skill in the art would appreciate, that aspects of the present invention may also be applicable to wired networks. Further, example embodiments of the present invention are contemplated that include communications between network entities where the paths between the entities include wireless and wired potions thereof.
- the nodes may communicate with the collaborative data destination device via a wireless access point and a wired connection between the access point and the collaborative data destination device.
- example embodiments of the present invention are applicable to both upload and download data streams involving any number of nodes.
- FIG. 3 illustrates another example embodiment of the present invention in the form of an example apparatus 200 that may be configured to perform various aspects of the present invention as described herein.
- the apparatus 200 may be configured to perform the role of the nodes (e.g., nodes 100a, 100b, 100c, etc.), as described herein, and/or the role of the collaborative data destination device (e.g., collaborative data destination device 110) as described herein.
- the nodes e.g., nodes 100a, 100b, 100c, etc.
- collaborative data destination device e.g., collaborative data destination device 110
- the apparatus 200 may be embodied as, or included as a component of, a communications device with wired or wireless communications capabilities.
- Some examples of the apparatus 200, or devices that may include the apparatus 200 may include a computer, a server, a mobile terminal such as, a mobile telephone, a portable digital assistant (PDA), a pager, a mobile television, a gaming device, a mobile computer, a laptop computer, a camera, a video recorder, an audio/video player, a radio, and/or a global positioning system (GPS) device, a network entity such as an access point such as a base station, or any combination of the aforementioned, or the like.
- PDA portable digital assistant
- GPS global positioning system
- the apparatus 200 may be configured to implement various aspects of the present invention as described herein including, for example, various example methods of the present invention, where the methods may be implemented by means of a hardware and/or software configured processor, computer- readable medium, or the like.
- the apparatus 200 may include or otherwise be in communication with a processor 205, a memory device 210, and a communications interface 215.
- the apparatus 200 may also include a user interface 225, a node-based collaborative data interface 230, a collaborative data receiver 231, a collaborative data compiler 232, a differential data analyzer 233, and/or a differential data transmitter 234.
- the processor 205 may be embodied as various means including, for example, a microprocessor, a coprocessor, a controller, a special-purpose integrated circuit such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or a hardware accelerator, processing circuitry or the like.
- the processor 205 may, but need not, include one or more accompanying digital signal processors.
- the processor 205 may be configured to execute instructions stored in the memory device 210 or instructions otherwise accessible to the processor 205. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 205 may represent an entity capable of performing operations according to embodiments of the present invention while configured accordingly.
- the processor 205 when the processor 205 is embodied as an ASIC, FPGA or the like, the processor 205 may be specifically configured hardware for conducting the operations described herein.
- the instructions when the processor 205 is embodied as an executor of software instructions, the instructions may specifically configure the processor 205, which may otherwise be a general purpose processing element if not for the specific configuration provided by the instructions, to perform the algorithms and operations described herein.
- the processor 205 may be a processor of a specific device (e.g., a mobile terminal) adapted for employing embodiments of the present invention by further configuration of the processor 205 by instructions for performing the algorithms and operations described herein.
- the memory device 210 may be one or more computer-readable storage media that may include volatile and/or non- volatile memory.
- memory device 210 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like.
- RAM Random Access Memory
- memory device 210 may include non- volatile memory, which may be embedded and/or removable, and may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like.
- Memory device 210 may include a cache area for temporary storage of data. In this regard, some or all of memory device 210 may be included within the processor 205.
- the memory device 210 may be configured to store information, data, applications, computer-readable program code instructions, or the like for enabling the processor 205 and the apparatus 200 to carry out various functions in accordance with example embodiments of the present invention.
- the memory device 210 could be configured to buffer input data for processing by the processor 205.
- the memory device 210 may be configured to store instructions for execution by the processor 205.
- the communication interface 215 may be any device or means embodied in either hardware, a computer program product, or a combination of hardware and a computer program product that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 200.
- Processor 205 may also be configured to facilitate communications via the communications interface by, for example, controlling hardware and/or software included within the communications interface 215.
- the communication interface 215 may include, for example, one or more antennas, a transmitter, a receiver, a transceiver and/or supporting hardware, including a processor or software for enabling communications with network 220.
- the apparatus 200 may communicate with various other network entities in a peer-to-peer fashion or via indirect communications via a base station, access point, server, gateway, router, or the like.
- the communications interface 215 may be configured to provide for communications in accordance with any wired or wireless communication standard.
- the communications interface 215 may be configured to support communications in multiple antenna environments, such as multiple input multiple output (MIMO) environments. Further, the communications interface 215 may be configured to support orthogonal frequency division multiplexed (OFDM) signaling.
- MIMO multiple input multiple output
- OFDM orthogonal frequency division multiplexed
- the communications interface 215 may be configured to communicate in accordance with various techniques, such as, second-generation (2G) wireless communication protocols IS- 136 (time division multiple access (TDMA)), GSM (global system for mobile communication), IS-95 (code division multiple access (CDMA)), third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), CDMA2000, wideband CDMA (WCDMA) and time division-synchronous CDMA (TD-SCDMA), 3.9 generation (3.9G) wireless communication protocols, such as Evolved Universal Terrestrial Radio Access Network (E-UTRAN), with fourth-generation (4G) wireless communication protocols, international mobile telecommunications advanced (IMT- Advanced) protocols, Long Term Evolution (LTE) protocols including LTE-advanced, or the like.
- 2G wireless communication protocols IS- 136 (time division multiple access (TDMA)), GSM (global system for mobile communication), IS-95 (code division multiple access (CDMA)), third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunication
- communications interface 215 may be configured to provide for communications in accordance with techniques such as, for example, radio frequency (RF), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN techniques such as IEEE 802.11 (e.g., 802.1 Ia, 802.1 Ib, 802.1 Ig, 802.1 In, etc.), wireless local area network (WLAN) protocols, world interoperability for microwave access (WiMAX) techniques such as IEEE 802.16, and/or wireless Personal Area Network (WPAN) techniques such as IEEE 802.15, BlueTooth (BT), low power versions of BT, ultra wideband (UWB), Wigbee and/or the like
- RF radio frequency
- IrDA infrared
- WLAN techniques such as IEEE 802.11 (e.g., 802.1 Ia, 802.1 Ib, 802.1 Ig, 802.1 In, etc.), wireless local area network (WLAN) protocols, world interoperability for microwave access (WiMAX) techniques such as IEEE 802.16, and/or wireless Personal
- the user interface 225 may be in communication with the processor 205 to receive user input at the user interface 225 and/or to present output to a user as, for example, audible, visual, mechanical or other output indications.
- the user interface 225 may include, for example, a keyboard, a mouse, a joystick, a display (e.g., a touch screen display), a microphone, a speaker, or other input/output mechanisms. In some example embodiments, the user interface 225 may be limited, or even eliminated.
- the node-based collaborative data interface 230 may be configured to acquire context data or node-based collaboration data from various sources for communication to processor 205 and/or storage in memory device 210.
- the node-based collaborative data interface 230 may include sensors and other hardware that may facilitate capturing data to be used for collaboration in accordance with various example embodiments of the present invention.
- the node-based collaborative data interface 230 may include various data capturing or data accessing units.
- node-based collaborative data interface 230 may include a time keeper unit (e.g., clock) for obtaining time and date information; an scheduler unit (e.g., calendar application including geo-coordinates for scheduled events) for obtaining event information, location information, and the like; a location sensor unit (e.g., global positioning system (GPS) unit, base station triangulation unit, Wi-Fi hotspot location unit) for obtaining a current location of the apparatus 200; a proximate user unit (e.g., a Bluetooth scanner that identifies nearby devices and associated users); a camera unit (e.g., digital still/video camera, light sensor) for capturing photographs/video of objects or capturing ambient light conditions; a sound recorder unit for capturing voice or ambient sound; a motion detection unit (e.g., an accelerometer or gyrometer with associated algorithms) for obtaining the speed of movement or a type of movement of the user (e.g., walk, drive, fly, etc.) for, for example traffic
- the node-based collaborative data interface 230 may also be configured to derive various other types of context information by combining various types of captured context information, or by combining captured context information with information gathered from other sources, such as the Internet. For example, based on location, time, and ambient light context information, weather context information may be derived, or based on location, speed, time, and direction, traffic context information may be captured.
- the node-based collaborative data interface 230 may also be configured to store the captured context data to form a historical data collection that may include time stamp data.
- the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and the differential data transmitter 234 of apparatus 300 may be any means or device embodied, partially or wholly, in hardware, a computer program product, or a combination of hardware and a computer program product, such as processor 205 implementing instructions to configure the apparatus 200, or a hardware configured processor 205, that is configured to carry out the functions of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 as described herein.
- the processor 205 may include, or otherwise control the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234.
- the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be, partially or wholly, embodied as processors similar to, but separate from processor 205.
- the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be in communication with the processor 205.
- the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may, partially or wholly, reside on differing apparatuses such that some or all of the functionality of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be performed by a first apparatus, and the remainder of the functionality of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be performed by one or more other apparatuses.
- the node-based collaborative data interface 230 may be configured to acquire new node-based collaborative data.
- the node-based collaborative data interface 230 may be configured to acquire data that has been captured by sensors included in, or associated with, the node-based collaborative data interface 230 (e.g., a camera unit).
- the node-based collaborative data interface 230 may be configured to acquire new node-based collaborative data via a data capturing sensor.
- the node-based collaborative data interface 230 may be configured to acquire time stamp data associated with the new node-based collaborative data.
- the collaborative data receiver 231 may be configured to receive foreign collaborative data via a data communication.
- the data communication may be received via the communication interface 215 from a node as described above.
- the collaborative data receiver 231 may also be configured to channel decode and source decode the foreign collaborative data.
- the collaborative data receiver 231 may be configured to joint-source decode the foreign collaborative data.
- the collaborative data compiler 232 may be configured to compile a composite collaborative data set with at least the foreign collaborative data received by the collaborative data receiver 231.
- the collaborative data compiler may be configured to compile the composite collaborative data set by organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set.
- compiling the composite collaborative data set may comprise storing foreign collaborative data.
- the differential data analyzer 233 may be configured to compare the new node- based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct from data included in the composite collaborative data set.
- the differential data analyzer 233 may be configured to compare the new node-based collaborative data with the composite collaborative data set by analyzing the distinctions between the new node-based data and the composite collaborative data set with respect to time as indicated by respective time stamp data. Further, in some example embodiments, the differential data analyzer 233 may be configured to compare the new node-based collaborative data with the composite collaborative data set in response to a triggering event. The triggering event may be the receipt of foreign collaborative data by the collaborative data receiver 231.
- the differential data transmitter 234 may be configured to provide for transmission of, or transmit, the differential collaborative data to at least a collaborative data destination device, and possibly other nodes.
- the differential data transmitted 234 may be configured to employ the communications interface 215 to provided for transmission of, or transmit, the differential collaborative data.
- the differential data transmitter 234 may be configured to source encode and channel encode the differential collaborative data or joint-source encode the differential collaborative data.
- the differential data transmitter 234 may be configured to provide for transmission of the differential collaborative data in response to a triggering event.
- the triggering event may be the receipt of foreign collaborative data by the collaborative data receiver 231.
- the configuration of the apparatus 200, as described above, may be consistent with a description of the structure that may be utilized by a node.
- an example embodiment of a collaborative data destination device may include the collaborative data receiver 231 and the collaborative data compiler 232.
- the composite collaborative data set compiled by the collaborative data compiler 232 of a collaborative data destination device may describe all of the collaborative data acquired by all of the nodes.
- the collaborative data destination device may have a dual role, and also perform the functionality of a node, as well as the functionality of a collaborative data destination device.
- the dual-role device may be configured to transfer differential collaborative internally to the collaborative data complier 232, and optionally to other nodes.
- FIGs. 4 and 5 illustrate flowcharts of a system, method, and computer program product according to example embodiments of the invention. It will be understood that each block, step, or operation of the flowcharts, and/or combinations of blocks, steps, or operations in the flowcharts, can be implemented by various means. Means for implementing the blocks, steps, or operations of the flowcharts, and/or combinations of the blocks, steps or operations in the flowcharts may include hardware, and/or a computer program product including one or more computer program code instructions, program instructions, or executable computer-readable program code instructions. In one example embodiment, one or more of the procedures described herein may be embodied by a computer program product including program code instructions.
- the program code instructions may be stored by or on a memory device, such as memory device 210, of an apparatus, such as apparatus 200, and executed by a processor, such as the processor 205.
- any such program code instructions may be loaded onto a computer or other programmable apparatus (e.g., processor 205, memory device 210) to produce a particular machine, such that the instructions which execute on the computer or other programmable apparatus create means for implementing the functions specified in the flowcharts block(s), step(s), or operation(s).
- These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processor, or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture.
- the instructions stored in the computer-readable storage medium may produce an article of manufacture including instruction means which implement the function specified in the flowcharts' block(s), step(s), or operation(s).
- the program code instructions may also be loaded onto a computer, processor, or other programmable apparatus to configure the computer, processor, or other programmable apparatus to execute a series of operational steps to be performed on or by the computer, processor, or other programmable apparatus. Execution of the program code instructions may produce a computer-implemented process such that the instructions which execute on the computer, processor, or other programmable apparatus provide steps for implementing the functions specified in the flowcharts' block(s), step(s), or operation(s).
- blocks, steps, or operations of the flowcharts support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program code instruction means for performing the specified functions. It will also be understood that one or more blocks, steps, or operations of the flowcharts, and combinations of blocks, steps, or operations in the flowcharts, can be implemented by special purpose hardware-based computer systems and/or processors which perform the specified functions or steps, or combinations of special purpose hardware and program code instructions.
- FIG. 4 illustrates an example method for collaborative network communications from the perspective of a node.
- the example method includes acquiring new node-based collaborative data at 300.
- acquiring new node-based collaborative data includes capturing the new node-based collaborative data via a data capturing sensor. Additionally or alternatively, in some example embodiments, acquiring new node-based collaborative data includes acquiring associated time stamp data.
- the example method of FIG. 4 also includes receiving foreign collaborative data via a data communication at 310.
- Receiving the foreign collaborative data may include channel decoding and source decoding the foreign collaborative data or joint-source decoding the foreign collaborative data.
- the example method of FIG. 4 further includes compiling a composite collaborative data set with at least the foreign collaborative data at 320.
- compiling the composite collaborative data set includes organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set.
- the example method of FIG. 4 includes comparing the new node-based collaborative data with the composite collaborative data set to identify differential collaborative data.
- the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct from data included in the composite collaborative data set.
- comparing the new node-based collaborative data with the composite collaborative data set includes analyzing the distinctions between the new node-based data and the composite collaborative data set with respect to time as indicated by time stamp data. Further, in some example embodiments, comparing the new node-based collaborative data with the composite collaborative data set at 330 may be triggered by the receipt of the data communication including the foreign collaborative data.
- the example method further includes providing for transmission of the differential collaborative data to at least a collaborative data destination device.
- providing for transmission of the differential collaborative data includes source encoding and channel encoding the differential collaborative data or joint- source encoding the differential collaborative data. Further, in some example embodiments, providing for transmission of the differential collaborative data is triggered by the receipt of the data communication including the foreign collaborative data.
- FIG. 5 illustrates an example method for collaborative network communications from the perspective of a collaborative data destination device.
- the example method includes receiving collaborative data via a data communication.
- the example method may include compiling a composite collaborative data set with the received collaborative data at 410.
- the example method need not include determining whether the data received is redundant since only unique or differential collaborative data need be received by the collaborative data destination deivce.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method for collaborative network communications is provided. The method may include acquiring node-based collaborative data (300), receiving foreign collaborative data via a data communication (310), and compiling a composite collaborative data set with at least the foreign collaborative data (320). The method may further include comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data (330). In this regard, the differential collaborative data may be a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set. The method may further include providing for transmission of the differential collaborative data to at least a collaborative data destination device (340). Similar apparatuses and computer program products are also provided.
Description
METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR COLLABORATIVE NETWORK COMMUNICATIONS
TECHNICAL FIELD
Embodiments of the present invention relate generally to network communications, and, more particularly, relate to a method, apparatus, and a computer program product for collaborative network communications in, for example, wireless networks.
BACKGROUND
The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Various types of networking technologies have been developed resulting in unprecedented expansion of computer networks, television networks, telephony networks, and the like, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users by expanding the capabilities of mobile electronic devices and other computing devices. The functionality of mobile communications devices continues to expand and, as a result, mobile communications devices have become almost a necessity in both business and personal settings. As the functionally of mobile communications devices and the ease of information transfer continues to increase, users continue to demand more functionality that allows users to quickly find and interact with more data in unique ways. While networking technology has made considerable strides in its evolution, some limitations continue to stunt the development of new technologies. In particular, limited channel bandwidth and limited power storage of mobile communications devices place limitations on further development of network technology. In some regards, the issues of power consumption and utilization of bandwidth are interrelated since developments that increase the effective bandwidth of a channel, also tend to reduce the power consumption
needed to communicate information. For example, the application of compression algorithms to data may reduce the number of bits that need to be communicated and thereby reduce the time required to transmit the same amount of data. As a result not only is the utilization of bandwidth reduced, the power consumption needed to transmit the data is also reduced. Accordingly, mechanisms for increasing the effective bandwidth of channel, while also reducing the power consumption use to communicate the same or similar information, are desirable.
BRIEF SUMMARY A method, apparatus, and computer program product are described that facilitate the optimization of channel bandwidth utilization and reduce power consumption of mobile communications devices through collaborative network communications. According to some example embodiments of the present invention, a collaborative network of nodes, such as mobile communications devices, may be assembled for a particular collaborative application (e.g., composite video capturing of an event, creation of composite traffic or weather information, or the like). Each node within the network may contribute node-based collaborative data (e.g., data captured from the perspective of the node via, for example, a sensor device) to the network for aggregation. Rather than transmit all node-based collaborative data, according to example embodiments of the present invention, the nodes may transmit the differential portions of the collaborative data that a particular node captured.
In this regard, nodes within collaborative network may transmit node-based collaborative data to a collaborative data destination device (e.g., a server) for aggregation or compilation of the node-based collaborative data. Nodes within the collaborative network may also transmit node-based collaborative data to other nodes within the network. Upon receiving foreign collaborative data (collaborative data acquired by another node), a node may compile the foreign collaborative data into a composite collaborative data set that may be representative of the data that the collaborative data destination device has already received. A node may compare node-based collaborative data with a composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct form the data included in the composite collaborative data set. The differential collaborative data represents new collaborative data that is not redundant of data previously received by the collaborative data destination
device. Upon identifying the differential collaborative data, the node may then transmit the differential collaborative data to the collaborative data destination device, as well as other nodes.
According to various example embodiments, the configuration of the nodes, the collaborative data destination device, and the collaborative network exploit the presence of redundant data and thereby provide for reductions in the utilization of channel bandwidth, as well as power consumption, since the transmission of redundant data within the collaborative network is eliminated or at least limited. Further, according to some example embodiments, since less data is transmitted, the overall data rate of the network is increased. Further, according to some example embodiments, transmission of less data can reduce the time and power consumption cost of encoding and decoding the data. As such, in example embodiments where data transfer rates must be maximized (e.g., video aggregation applications) joint-source encoding and decoding may also be used to further increase the overall data rate of the system. Various example embodiments of the present invention are described herein. One example embodiment is a method for collaborative network communications. The example method includes acquiring node-based collaborative data, receiving foreign collaborative data via a data communication, and compiling a composite collaborative data set with at least the foreign collaborative data. The example method also includes comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data of the example method is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set. Further, the example method also includes providing for transmission of the differential collaborative data to at least a collaborative data destination device.
Another example embodiment is an example apparatus for collaborative network communications. The example apparatus comprises a processor and a memory storing executable instructions that, in response to execution by the processor, cause the example apparatus to be configured in a particular manner. The example apparatus is configured to acquire node-based collaborative data, receive foreign collaborative data via a data communication, and compile a composite collaborative data set with at least the foreign collaborative data. The example apparatus is also configured to compare the node-based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data identified by the
example apparatus is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set. Further, the example apparatus is also configured to provide for transmission of the differential collaborative data to at least a collaborative data destination device. Another example embodiment is an example computer program product for collaborative network communications. The example computer program product comprises at least one computer-readable storage medium having executable computer- readable program code instructions stored therein. The computer-readable program code instructions of the example computer program product are for acquiring node-based collaborative data, receiving foreign collaborative data via a data communication, and compiling a composite collaborative data set with at least the foreign collaborative data. The computer-readable program code instructions of the example computer program product are also for comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data identified by the computer-readable program code instructions of the example computer program product is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set. Further, the computer-readable program code instructions of the example computer program product are also for providing for transmission of the differential collaborative data to at least a collaborative data destination device.
Yet another example embodiment is an apparatus for collaborative network communications. The example apparatus includes means for acquiring node-based collaborative data, means for receiving foreign collaborative data via a data communication, and means for compiling a composite collaborative data set with at least the foreign collaborative data. The example apparatus also includes means for comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data identified by the example apparatus is a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set. Further, the example apparatus also includes means for providing for transmission of the differential collaborative data to at least a collaborative data destination device.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIGs. Ia - Id illustrate the operation of a two node wireless collaborative network according to various example embodiments of the present invention;
FIGs. 2a - 2c illustrate the operation of a three node wireless collaborative network according to various example embodiments of the present invention;
FIG. 3 is a block diagram of an apparatus for collaborative network communications according to various example embodiments of the present invention; FIG. 4 is a flowchart of a method performed by a node for collaborative network communications according to various example embodiments of the present invention; and
FIG. 5 is a flowchart of a method performed by a collaborative data destination device for collaborative network communications according to various example embodiments of the present invention.
DETAILED DESCRIPTION
Embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received, operated on, and/or stored in accordance with embodiments of the present invention. Moreover, the term "exemplary," as used herein, is not provided to convey any qualitative assessment, but instead to merely convey an illustration of an example.
FIG. Ia illustrates an example wireless collaborative network in accordance with various embodiments of the present invention. The network of FIG. Ia includes two nodes 100 (e.g., node 100a and node 100b) and a collaborative data destination device 110. The nodes 100 and the collaborative data destination device 110 may be capable of performing wireless communications between each other. According various example embodiments, the collaborative network may be configured to implement a particular application. For example, the collaborative network may be assembled to produce a
composite video of a sporting event that includes video from the perspectives of each of the nodes 100. In this regard, the nodes 100 may be configured to capture video data from their respective vantage points for compilation by the collaborative data destination device 110. In another example, the collaborative network of FIG. Ia may be assembled to determine traffic congestion data for roads and highways in a particular area. In this regard, the nodes may be mobile communications devices that are configured to acquire time, location, speed, and direction data. The time, location, speed, and direction data may be compiled by the collaborative data destination device 110 to generate, for example, maps indicating roads and highways that are currently congested.
The nodes 100 of FIG. Ia, and similarly FIGs. Ib - Id and FIGs. 2a - 2c, may be any type of wireless communications devices that implement any mechanism for wireless communications to allow for communications with the other nodes and the collaborative data destination device 110. The nodes 100 may also include sensors (e.g., a location sensor, a camera unit, a speed and direction sensor, a timer, etc.) for capturing node-based collaborative data. In this regard, node-based collaborative data may be any type of data acquired by a node that would have attributes of the node's perspective with respect to a particular phenomena (e.g., video data of a sporting event from a particular vantage point, speed and direction data for a vehicle traveling at the location of the node 100 at a particular time, etc.).
The collaborative data destination device 110 may also be any type of wireless communications device that implements any mechanism for wireless communications to allow for communications with the nodes 100. In some example embodiments, the collaborative data destination device 110 may be a data server with data storage and computing capabilities. The collaborative data destination device 110 may be configured to receive collaborative data from the nodes 100 to compile a composite collaborative data set that includes all of the data provided by the nodes 100. In some example embodiments, the collaborative data destination device 110 may also operate as a node and contribute collaborative data, rather than merely receive and compile collaborative data. However, for ease of explanation, the collaborative data destination device 110 of FIGs. Ia - Id and 2a - 2c is not described as also operating as a node.
FIG. 1 a also illustrates a first transmission of collaborative data within the collaborative network. Node 100a and node 100b have each acquired node-based collaborative data (e.g., respective video data), which may include time stamp data
describing when the data was captured. Node 100a begins by transmitting a signal 105 that may represent all of the new, or pre-analysis and transmission, node-based collaborative information acquired by node 100a from a given time or continuously. According to some example embodiments, prior to transmitting the signal 105, node 100a formed a message that includes the new node-based collaborative data acquired by node 100a, performed source compression and error protection, and modulated the data. The signal 105 may be transmitted to both the node 100b and the collaborative data destination device 110. In some example embodiments, the signal 105 may be addressed to the collaborative data destination device 110, but node 100b may receive the signal nonetheless. Node 100b may receive the signal 105 as foreign collaborative data or collaborative data received from another node. Upon receipt of the foreign collaborative data, node 100b may decode the signal 105.
In some example embodiments, node 100b may store the foreign collaborative data for subsequent analysis. In some example embodiments, the node 100b may compile a composite collaborative data set based on the data content of the signal 105 and previously received foreign collaborative data. Since signal 105 was the first transmission within this example scenario, it may be assumed that node 100b had not previously received foreign collaborative data and therefore compilation of the composite collaborative data set may involve merely storing the foreign collaborative data as the entire composite collaborative data set.
The node 100b may then compare the node-based collaborative information acquired by node 100b with the composite collaborative data set. Via the comparison, node 100b may identify data not present in the composite collaborative data set, or differential collaborative data, between the node-based collaborative data acquired by node 100a (currently the composite collaborative data set) and the node-based collaborative data acquired by node 100b. In some example embodiments, time stamp data associated with the data of the composite collaborative data set and the new node- based collaborative data may be used to identify data that was captured at the same time, but is unique to the new node-based collaborative data. This identified data may be the differential collaborative data.
Upon identifying the differential collaborative data, Node 100b may then perform an incremental encoding of the differential collaborative data. As depicted in FIG. Ib, rather than transmit all of the node-based collaborative data acquired by node 100b, node 100b may transmit a signal 115 that includes the differential collaborative data to the
collaborative data destination device 110. Having received the node-based collaborative data acquired by node 100a as signal 105 and the differential collaborative data as signal 115, the collaborative data destination device 110 may compile or fuse the data extracted from the signals to generate a composite collaborative data set that is representative of both of the contributions of the collaborative data provided by node 100a and the collaborative data provided by node 100b.
As described above, efficiencies may be realized by identifying and transmitting the differential collaborative data. In embodiments where data rates must exceed a given threshold, for example to provide a live video feed, additional measures may be taken to more efficiently transmit the collaborative data. In some embodiments, multiple description coding (MDC) may be implemented such that critical data layers are compressed differently than enhancement layers used to improve video or audio quality. In some embodiments, various data coding schemes may be utilized to achieve a particular data rate, such as an incremental coding technique (e.g., differential/pulse code modulation) or a superposition coding technique. In this regard, example embodiments of the present invention may compare coded or decoded versions of collaborative data to identify differential collaborative data. Accordingly, some example embodiments of the present invention may incorporate coding schemes that involve modifications to the activities of multiple layers (e.g., from the application layer to the physical layer) of the open systems interconnection (OSI) model resulting in crosslayer design and optimization.
In embodiments where a high data rate is not necessary, a source coding followed by a channel coding scheme using incremental or superposition coding may be implemented. However, in example embodiments where a higher data rate is needed, a joint-source coding scheme may be utilized. The joint-source coding scheme may be implemented in configurations where the nodes are capable of full-duplex communications. According to various example embodiments, various joint-source coding schemes may be utilized including digital joint-source coding techniques, hybrid digital-analog (HAD) joint-source coding techniques, "near-analog" joint source coding techniques, or the like. It is contemplated that the various coding schemes may be implemented with any and all communications between and amongst the nodes and the collaborative data destination device. For example, signals 105, 115, 120, 125, 130, and/or 135 may be coded using the coding schemes described herein.
FIG. Ic depicts an alternative scenario to FIG. Ib. FIG. Ic illustrates the signal 115, which includes the differential collaborative data, as being received by both the collaborative data destination device 110 and the node 110a. From the perspective of node 100a, the differential collaborative data of signal 115 is foreign collaborative data. As such, node 100a may be configured to compile a composite collaborative data set based at least in part on the foreign collaborative data. In this regard, node 100a may combine the foreign collaborative data with the previously acquired and transmitted node-based collaborative data to generate the composite collaborative data set, or a representation of the data that has been received by the collaborative data destination device 110. This composite collaborative data set may be used by the node 100a for subsequent comparisons to identify additional differential collaborative data.
The composite collaborative data set compiled by a node may be generated in a number of ways. For example, in some example embodiments, the composite collaborative data set may be determined with respect to time. Data segments that are coincident in time, based on time stamp data, and are also redundant, may be filtered out to reduce the size of the composite collaborative data set without losing any information. In this regard, the collaborative data may include time stamps describing the time when the collaborative data was captured to facilitate organizing the data in this manner. The composite collaborative data set generated by a node may include the node-based collaborative data acquired by that node. A composite collaborative data set generated in this manner may include all of the data that has been acquired by each of the nodes within in the network. As such, the same or a similar scheme may be used by the collaborative data destination device 110 to compile the collaborative data.
In an alternative embodiment, a node need not include its own node-based collaborative data in the composite collaborative data set generated by the node, since new node-based collaborative data will not be coincident in time with previously acquired node-based collaborative data. As such, no redundancy would arise and storage of prior node-based collaborative data may be unnecessary. A composite collaborative data set generated in this manner, would therefore be incomplete with respect to all of the unique data received by the collaborative data destination device. As such, generating a composite collaborative data set in this manner may be used by a node.
Further, in some example embodiments, the composite collaborative data set need not be generated based on time stamps. In this regard, redundancies in the overall data using, for example, statistical methods, may be used to generate the composite
collaborative data set and reduce the size of the composite collaborative data set. Accordingly, a composite collaborative data set generated in this fashion may include node-based collaborative data acquired by the node generating the composite collaborative data set. In this regard, comparisons that identify differential collaborative data need not be time coincident comparisons, but rather overall data set comparisons to identify distinctions in the data.
In some example embodiments of the present invention, the complexity involved in the compilation of a composite collaborative data set may be reduced by implementing a defined sequencing of communications including differential collaborative data between the nodes. In this regard, a sequence may define a predetermined series where each node identifies differential collaborative data and transmits the differential collaborative data, in turn. According to some example embodiments, after the completion of an in-turn cycle, each node may discard their respective composite collaborative data sets and begin anew. In this manner, the composite collaborative data sets may be limited in size, so as not to become unwieldy. Further, in a sequencing scheme, the receipt of foreign collaborative data, possibly from a particular source node, may be a triggering event to cause the identification of differential collaborative data and the transmission of the differential collaborative data. In some example embodiments, rather than an in-turn sequence, a scheme may be devised where no sequence of communications is defined, but after a cycle where each node has communicated, the composite collaborative data sets of the nodes may be discarded.
Referring again to FIG. Ic, node 100a may generate a composite collaborative data set based on at least the foreign collaborative data received via signal 115, and possibly on the previously acquired new node-based collaborative data acquired by the node 100a. Previously or subsequently, node 100a may have acquired new node-based collaborative data. As such, node 100a may compare the new node-based collaborative data to the composite data set to indentify differential collaborative data. As depicted in FIG. 3, the node 100a may transmit the differential collaborative data in a signal 120 received by both the collaborative data destination device 110 and the node 100b. Node 100b and the collaborative data destination device 110 may subsequently update their respective composite collaborative data sets, although possibly in different manners as described above.
FIGs. Ia - Id depict a collaborative network that includes two nodes 100. However, it is contemplated that collaborative network may be comprised of any number
of nodes. One of skill in the art will appreciate that as the number of nodes increases the complexities of communications between the nodes may also increase. However, the probabilities of identifying redundant data may also increase resulting in a net reduction in the utilization of bandwidth and a reduction in overall power consumption for communications.
FIG. 2a illustrates a collaborative network with three nodes 100 (e.g., node 100a, node 100b, and node 100c), and a collaborative data destination device 110. Each of the nodes 100 have acquired respective node-based collaborative data. Node 100a begins by transmitting its differential collaborative data in signal 125. Again, in this scenario, since node 100a is transmitting the first communication, the differential collaborative data may include all of the node-based collaborative data acquired by the node 100a. The signal 125 is received by the collaborative data destination device 110, node 100b, and node 100c.
Node 100b and 100c may subsequently generate composite collaborative data sets comprising the foreign collaborative data received from node 100a via signal 125. In this scenario, since signal 125 is the first communication, the composite collaborative data sets may involve simply the storage of the foreign collaborative data included in the signal 125.
Referring to FIG. 2b, node 100b may compare its new node-based collaborative data to its composite collaborative data set and identify differential collaborative data.
The differential collaborative data may be transmitted to the collaborative data destination device 110, as well as the other nodes. As depicted in FIG. 2b, the differential collaborative data may be received by both the collaborative data destination device 110 and node 100c via signal 130. Node 100c may receive the foreign collaborative data via signal 130 and combine or compile the foreign collaborative data with the data in its composite collaborative data set. Subsequently, node 100c may compare its new node-based collaborative data with its composite collaborative data set (which now includes foreign collaborative data form both nodes 100a and 100b) to identify differential collaborative data. As depicted in FIG. 2c, node 100c may then transmit the differential data to be received by other nodes and the collaborative data destination device 110. FIG. 2c depicts the differential collaborative data being received by the collaborative data destination device 110 via signal 135. The collaborative data destination device 110 may subsequently combine or compile the collaborative data received via signal 135 with the collaborative data received via signals
125 and 130 to generate a complete data set of all collaborative data acquired by the nodes.
The example collaborative network of FIGs. Ia - Id and FIGs. 2a - 2c is depicted as a wireless network environment, however, it is contemplated, and one of skill in the art would appreciate, that aspects of the present invention may also be applicable to wired networks. Further, example embodiments of the present invention are contemplated that include communications between network entities where the paths between the entities include wireless and wired potions thereof. For example, the nodes may communicate with the collaborative data destination device via a wireless access point and a wired connection between the access point and the collaborative data destination device.
Further, as noted above, example embodiments of the present invention are applicable to both upload and download data streams involving any number of nodes.
The description provided above and herein illustrates example methods, apparatuses, and computer program products for collaborative network communications. FIG. 3 illustrates another example embodiment of the present invention in the form of an example apparatus 200 that may be configured to perform various aspects of the present invention as described herein. The apparatus 200 may be configured to perform the role of the nodes (e.g., nodes 100a, 100b, 100c, etc.), as described herein, and/or the role of the collaborative data destination device (e.g., collaborative data destination device 110) as described herein.
In some example embodiments, the apparatus 200 may be embodied as, or included as a component of, a communications device with wired or wireless communications capabilities. Some examples of the apparatus 200, or devices that may include the apparatus 200, may include a computer, a server, a mobile terminal such as, a mobile telephone, a portable digital assistant (PDA), a pager, a mobile television, a gaming device, a mobile computer, a laptop computer, a camera, a video recorder, an audio/video player, a radio, and/or a global positioning system (GPS) device, a network entity such as an access point such as a base station, or any combination of the aforementioned, or the like. Further, the apparatus 200 may be configured to implement various aspects of the present invention as described herein including, for example, various example methods of the present invention, where the methods may be implemented by means of a hardware and/or software configured processor, computer- readable medium, or the like.
The apparatus 200 may include or otherwise be in communication with a processor 205, a memory device 210, and a communications interface 215. In some embodiments, the apparatus 200 may also include a user interface 225, a node-based collaborative data interface 230, a collaborative data receiver 231, a collaborative data compiler 232, a differential data analyzer 233, and/or a differential data transmitter 234. The processor 205 may be embodied as various means including, for example, a microprocessor, a coprocessor, a controller, a special-purpose integrated circuit such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or a hardware accelerator, processing circuitry or the like. In some example embodiments, the processor 205 may, but need not, include one or more accompanying digital signal processors. In some example embodiments, the processor 205 may be configured to execute instructions stored in the memory device 210 or instructions otherwise accessible to the processor 205. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 205 may represent an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 205 is embodied as an ASIC, FPGA or the like, the processor 205 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 205 is embodied as an executor of software instructions, the instructions may specifically configure the processor 205, which may otherwise be a general purpose processing element if not for the specific configuration provided by the instructions, to perform the algorithms and operations described herein. However, in some cases, the processor 205 may be a processor of a specific device (e.g., a mobile terminal) adapted for employing embodiments of the present invention by further configuration of the processor 205 by instructions for performing the algorithms and operations described herein.
The memory device 210 may be one or more computer-readable storage media that may include volatile and/or non- volatile memory. For example, memory device 210 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Further, memory device 210 may include non- volatile memory, which may be embedded and/or removable, and may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Memory device 210 may include a
cache area for temporary storage of data. In this regard, some or all of memory device 210 may be included within the processor 205.
Further, the memory device 210 may be configured to store information, data, applications, computer-readable program code instructions, or the like for enabling the processor 205 and the apparatus 200 to carry out various functions in accordance with example embodiments of the present invention. For example, the memory device 210 could be configured to buffer input data for processing by the processor 205. Additionally, or alternatively, the memory device 210 may be configured to store instructions for execution by the processor 205. The communication interface 215 may be any device or means embodied in either hardware, a computer program product, or a combination of hardware and a computer program product that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 200. Processor 205 may also be configured to facilitate communications via the communications interface by, for example, controlling hardware and/or software included within the communications interface 215. In this regard, the communication interface 215 may include, for example, one or more antennas, a transmitter, a receiver, a transceiver and/or supporting hardware, including a processor or software for enabling communications with network 220. Via the communication interface 215 and the network 220, the apparatus 200 may communicate with various other network entities in a peer-to-peer fashion or via indirect communications via a base station, access point, server, gateway, router, or the like.
The communications interface 215 may be configured to provide for communications in accordance with any wired or wireless communication standard. The communications interface 215 may be configured to support communications in multiple antenna environments, such as multiple input multiple output (MIMO) environments. Further, the communications interface 215 may be configured to support orthogonal frequency division multiplexed (OFDM) signaling. In some example embodiments, the communications interface 215 may be configured to communicate in accordance with various techniques, such as, second-generation (2G) wireless communication protocols IS- 136 (time division multiple access (TDMA)), GSM (global system for mobile communication), IS-95 (code division multiple access (CDMA)), third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), CDMA2000, wideband CDMA (WCDMA) and time division-synchronous
CDMA (TD-SCDMA), 3.9 generation (3.9G) wireless communication protocols, such as Evolved Universal Terrestrial Radio Access Network (E-UTRAN), with fourth-generation (4G) wireless communication protocols, international mobile telecommunications advanced (IMT- Advanced) protocols, Long Term Evolution (LTE) protocols including LTE-advanced, or the like. Further, communications interface 215 may be configured to provide for communications in accordance with techniques such as, for example, radio frequency (RF), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN techniques such as IEEE 802.11 (e.g., 802.1 Ia, 802.1 Ib, 802.1 Ig, 802.1 In, etc.), wireless local area network (WLAN) protocols, world interoperability for microwave access (WiMAX) techniques such as IEEE 802.16, and/or wireless Personal Area Network (WPAN) techniques such as IEEE 802.15, BlueTooth (BT), low power versions of BT, ultra wideband (UWB), Wigbee and/or the like
The user interface 225 may be in communication with the processor 205 to receive user input at the user interface 225 and/or to present output to a user as, for example, audible, visual, mechanical or other output indications. The user interface 225 may include, for example, a keyboard, a mouse, a joystick, a display (e.g., a touch screen display), a microphone, a speaker, or other input/output mechanisms. In some example embodiments, the user interface 225 may be limited, or even eliminated.
The node-based collaborative data interface 230 may be configured to acquire context data or node-based collaboration data from various sources for communication to processor 205 and/or storage in memory device 210. The node-based collaborative data interface 230 may include sensors and other hardware that may facilitate capturing data to be used for collaboration in accordance with various example embodiments of the present invention. In this regard, the node-based collaborative data interface 230 may include various data capturing or data accessing units. For example, node-based collaborative data interface 230 may include a time keeper unit (e.g., clock) for obtaining time and date information; an scheduler unit (e.g., calendar application including geo-coordinates for scheduled events) for obtaining event information, location information, and the like; a location sensor unit (e.g., global positioning system (GPS) unit, base station triangulation unit, Wi-Fi hotspot location unit) for obtaining a current location of the apparatus 200; a proximate user unit (e.g., a Bluetooth scanner that identifies nearby devices and associated users); a camera unit (e.g., digital still/video camera, light sensor) for capturing photographs/video of objects or capturing ambient light conditions; a sound recorder unit for capturing voice or ambient sound; a motion detection unit (e.g., an accelerometer or
gyrometer with associated algorithms) for obtaining the speed of movement or a type of movement of the user (e.g., walk, drive, fly, etc.) for, for example traffic applications; a direction detection unit (e.g., electronic compass) for obtaining the current forward direction; a temperature unit (e.g., electric thermometer) for obtaining the ambient temperature; a heart rate unit for obtaining a user's current heart rate; a user status unit for obtaining a user's current status (e.g., in a meeting, unavailable, at lunch, etc.); and/or other specialized sensors or information gatherers for obtaining various other types of context-type information. The node-based collaborative data interface 230 may also be configured to derive various other types of context information by combining various types of captured context information, or by combining captured context information with information gathered from other sources, such as the Internet. For example, based on location, time, and ambient light context information, weather context information may be derived, or based on location, speed, time, and direction, traffic context information may be captured. The node-based collaborative data interface 230 may also be configured to store the captured context data to form a historical data collection that may include time stamp data.
The node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and the differential data transmitter 234 of apparatus 300 may be any means or device embodied, partially or wholly, in hardware, a computer program product, or a combination of hardware and a computer program product, such as processor 205 implementing instructions to configure the apparatus 200, or a hardware configured processor 205, that is configured to carry out the functions of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 as described herein. In an example embodiment, the processor 205 may include, or otherwise control the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234. The node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be, partially or wholly, embodied as processors similar to, but separate from processor 205. In this regard, the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be in
communication with the processor 205. In various example embodiments, the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may, partially or wholly, reside on differing apparatuses such that some or all of the functionality of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be performed by a first apparatus, and the remainder of the functionality of the node-based collaborative data interface 230, the collaborative data receiver 231, the collaborative data compiler 232, the differential data analyzer 233, and/or the differential data transmitter 234 may be performed by one or more other apparatuses.
The node-based collaborative data interface 230 may be configured to acquire new node-based collaborative data. The node-based collaborative data interface 230 may be configured to acquire data that has been captured by sensors included in, or associated with, the node-based collaborative data interface 230 (e.g., a camera unit). In this regard, in some example embodiments, the node-based collaborative data interface 230 may be configured to acquire new node-based collaborative data via a data capturing sensor. Additionally or alternatively, in some example embodiments, the node-based collaborative data interface 230 may be configured to acquire time stamp data associated with the new node-based collaborative data.
The collaborative data receiver 231 may be configured to receive foreign collaborative data via a data communication. The data communication may be received via the communication interface 215 from a node as described above. The collaborative data receiver 231 may also be configured to channel decode and source decode the foreign collaborative data. Alternatively or additionally, in some example embodiments, the collaborative data receiver 231 may be configured to joint-source decode the foreign collaborative data.
The collaborative data compiler 232 may be configured to compile a composite collaborative data set with at least the foreign collaborative data received by the collaborative data receiver 231. In some example embodiments, the collaborative data compiler may be configured to compile the composite collaborative data set by organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set. In some embodiments, compiling the composite collaborative data set may comprise storing foreign collaborative data.
The differential data analyzer 233 may be configured to compare the new node- based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct from data included in the composite collaborative data set. In some example embodiments, the differential data analyzer 233 may be configured to compare the new node-based collaborative data with the composite collaborative data set by analyzing the distinctions between the new node-based data and the composite collaborative data set with respect to time as indicated by respective time stamp data. Further, in some example embodiments, the differential data analyzer 233 may be configured to compare the new node-based collaborative data with the composite collaborative data set in response to a triggering event. The triggering event may be the receipt of foreign collaborative data by the collaborative data receiver 231.
The differential data transmitter 234 may be configured to provide for transmission of, or transmit, the differential collaborative data to at least a collaborative data destination device, and possibly other nodes. The differential data transmitted 234 may be configured to employ the communications interface 215 to provided for transmission of, or transmit, the differential collaborative data. In some example embodiments, the differential data transmitter 234 may be configured to source encode and channel encode the differential collaborative data or joint-source encode the differential collaborative data. Further, in some example embodiments, the differential data transmitter 234 may be configured to provide for transmission of the differential collaborative data in response to a triggering event. The triggering event may be the receipt of foreign collaborative data by the collaborative data receiver 231. The configuration of the apparatus 200, as described above, may be consistent with a description of the structure that may be utilized by a node. However, in some example embodiments, a subset of the structure may be included to describe the configuration of a collaborative data destination device. In this regard, in addition to the processor 205, the memory 210 and the communications interface 215, an example embodiment of a collaborative data destination device may include the collaborative data receiver 231 and the collaborative data compiler 232. In this regard, in some example embodiments, since the collaborative data destination device receives the foreign collaborative data transmissions, the composite collaborative data set compiled by the collaborative data compiler 232 of a collaborative data destination device may describe all of the
collaborative data acquired by all of the nodes. Further, in some example embodiments, the collaborative data destination device may have a dual role, and also perform the functionality of a node, as well as the functionality of a collaborative data destination device. In this regard, the dual-role device may be configured to transfer differential collaborative internally to the collaborative data complier 232, and optionally to other nodes.
FIGs. 4 and 5 illustrate flowcharts of a system, method, and computer program product according to example embodiments of the invention. It will be understood that each block, step, or operation of the flowcharts, and/or combinations of blocks, steps, or operations in the flowcharts, can be implemented by various means. Means for implementing the blocks, steps, or operations of the flowcharts, and/or combinations of the blocks, steps or operations in the flowcharts may include hardware, and/or a computer program product including one or more computer program code instructions, program instructions, or executable computer-readable program code instructions. In one example embodiment, one or more of the procedures described herein may be embodied by a computer program product including program code instructions. In this regard, the program code instructions may be stored by or on a memory device, such as memory device 210, of an apparatus, such as apparatus 200, and executed by a processor, such as the processor 205. As will be appreciated, any such program code instructions may be loaded onto a computer or other programmable apparatus (e.g., processor 205, memory device 210) to produce a particular machine, such that the instructions which execute on the computer or other programmable apparatus create means for implementing the functions specified in the flowcharts block(s), step(s), or operation(s). These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processor, or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture including instruction means which implement the function specified in the flowcharts' block(s), step(s), or operation(s). The program code instructions may also be loaded onto a computer, processor, or other programmable apparatus to configure the computer, processor, or other programmable apparatus to execute a series of operational steps to be performed on or by the computer, processor, or other programmable apparatus. Execution of the program code instructions may produce a computer-implemented process such that the instructions which execute on the computer, processor, or other
programmable apparatus provide steps for implementing the functions specified in the flowcharts' block(s), step(s), or operation(s).
Accordingly, blocks, steps, or operations of the flowcharts support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program code instruction means for performing the specified functions. It will also be understood that one or more blocks, steps, or operations of the flowcharts, and combinations of blocks, steps, or operations in the flowcharts, can be implemented by special purpose hardware-based computer systems and/or processors which perform the specified functions or steps, or combinations of special purpose hardware and program code instructions.
FIG. 4 illustrates an example method for collaborative network communications from the perspective of a node. In this regard, the example method includes acquiring new node-based collaborative data at 300. In some example embodiments, acquiring new node-based collaborative data includes capturing the new node-based collaborative data via a data capturing sensor. Additionally or alternatively, in some example embodiments, acquiring new node-based collaborative data includes acquiring associated time stamp data.
The example method of FIG. 4 also includes receiving foreign collaborative data via a data communication at 310. Receiving the foreign collaborative data may include channel decoding and source decoding the foreign collaborative data or joint-source decoding the foreign collaborative data.
The example method of FIG. 4 further includes compiling a composite collaborative data set with at least the foreign collaborative data at 320. In some example embodiments, compiling the composite collaborative data set includes organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set.
At 330, the example method of FIG. 4 includes comparing the new node-based collaborative data with the composite collaborative data set to identify differential collaborative data. In this regard, the differential collaborative data may be a segment of data included in the new node-based collaborative data that is distinct from data included in the composite collaborative data set. In some example embodiments, comparing the new node-based collaborative data with the composite collaborative data set includes analyzing the distinctions between the new node-based data and the composite collaborative data set with respect to time as indicated by time stamp data. Further, in
some example embodiments, comparing the new node-based collaborative data with the composite collaborative data set at 330 may be triggered by the receipt of the data communication including the foreign collaborative data.
At 340, the example method further includes providing for transmission of the differential collaborative data to at least a collaborative data destination device. In some example embodiments, providing for transmission of the differential collaborative data includes source encoding and channel encoding the differential collaborative data or joint- source encoding the differential collaborative data. Further, in some example embodiments, providing for transmission of the differential collaborative data is triggered by the receipt of the data communication including the foreign collaborative data.
FIG. 5 illustrates an example method for collaborative network communications from the perspective of a collaborative data destination device. At 400, the example method includes receiving collaborative data via a data communication. Upon receipt of the data communication, the example method may include compiling a composite collaborative data set with the received collaborative data at 410. In this regard, in some example embodiments, the example method need not include determining whether the data received is redundant since only unique or differential collaborative data need be received by the collaborative data destination deivce.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions other than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method comprising: acquiring node-based collaborative data; receiving foreign collaborative data via a data communication; compiling a composite collaborative data set with at least the foreign collaborative data; comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data, the differential collaborative data being a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set; and providing for transmission of the differential collaborative data to at least a collaborative data destination device.
2. The method of claim 1, wherein acquiring node-based collaborative data includes capturing the node-based collaborative data via a data capturing sensor.
3. The method of claim 1, wherein receiving the foreign collaborative data includes channel decoding and source decoding the foreign collaborative data, and wherein providing for transmission of the differential collaborative data includes source encoding and channel encoding the differential collaborative data.
4. The method of claim 1, wherein receiving the foreign collaborative data includes joint-source decoding the foreign collaborative data and wherein providing for transmission of the differential collaborative data includes joint-source encoding the differential collaborative data.
5. The method of claim 1 , wherein acquiring node-based collaborative data includes acquiring associated time stamp data, wherein compiling the composite collaborative data set includes organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set, and wherein comparing the node-based collaborative data with the composite collaborative data set includes analyzing the distinctions between the node-based data and the composite collaborative data set with respect to time as indicated by the time stamp data.
6. The method of claim 1 , wherein the operations of comparing the node- based collaborative data with the composite collaborative data set and providing for transmission of the differential collaborative data are triggered by the receipt of the data communication including the foreign collaborative data.
7. An apparatus comprising a processor and a memory storing executable instructions that, in response to execution by the processor, cause the apparatus to be configured to at least: acquire node-based collaborative data; receive foreign collaborative data via a data communication; compile a composite collaborative data set with at least the foreign collaborative data; compare the node-based collaborative data with the composite collaborative data set to identify differential collaborative data, the differential collaborative data being a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set; and provide for transmission of the differential collaborative data to at least a collaborative data destination device.
8. The apparatus of claim 7, wherein the apparatus configured to acquire node-based collaborative data includes being configured to capture the node-based collaborative data via a data capturing sensor.
9. The apparatus of claim 7, wherein the apparatus configured to receive the foreign collaborative data includes being configured to channel decode and source decode the foreign collaborative data, and wherein the apparatus configured to provide for transmission of the differential collaborative data includes being configured to source encode and channel encode the differential collaborative data.
10. The apparatus of claim 7, wherein the apparatus configured to receive the foreign collaborative data includes being configured to joint-source decode the foreign collaborative data, and wherein the apparatus configured to provide for transmission of the differential collaborative data includes being configured to joint-source encode the differential collaborative data.
11. The apparatus of claim 7, wherein the apparatus configured to acquire node-based collaborative data includes being configured to acquire associated time stamp data, wherein the apparatus configured to compile the composite collaborative data set includes being configured to organize the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set, and wherein the apparatus configured to compare the node-based collaborative data with the composite collaborative data set includes being configured to analyze the distinctions between the node-based data and the composite collaborative data set with respect to time as indicated by the time stamp data.
12. The apparatus of claim 7, wherein the apparatus, in response to the execution of the executable instructions by the processor, is further configured to compare the node-based collaborative data with the composite collaborative data set and provide for transmission of the differential collaborative data in response to a triggering event, the triggering event being the receipt of the data communication including the foreign collaborative data.
13. The apparatus of claim 1, wherein the apparatus comprises a mobile terminal.
14. A computer program product comprising at least one computer-readable storage medium having executable computer-readable program code instructions stored therein, the computer-readable program code instructions for: acquiring node-based collaborative data; receiving foreign collaborative data via a data communication; compiling a composite collaborative data set with at least the foreign collaborative data; comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data, the differential collaborative data being a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set; and providing for transmission of the differential collaborative data to at least a collaborative data destination device.
15. The computer program product of claim 14, wherein the computer-readable program code instructions for acquiring node-based collaborative data include instructions for capturing the node-based collaborative data via a data capturing sensor.
16. The computer program product of claim 14, wherein the computer-readable program code instructions for receiving the foreign collaborative data include computer- readable program code instructions for channel decoding and source decoding the foreign collaborative data, and wherein the computer-readable program code instructions for providing for transmission of the differential collaborative data include computer-readable program code instructions for source encoding and channel encoding the differential collaborative data.
17. The computer program product of claim 14, wherein the computer-readable program code instructions for receiving the foreign collaborative data include computer- readable program code instructions for joint-source decoding the foreign collaborative data, and wherein the computer-readable program code instructions for providing for transmission of the differential collaborative data include computer-readable program code instructions for joint-source encoding the differential collaborative data.
18. The computer program product of claim 14, wherein the computer-readable program code instructions for acquiring node-based collaborative data include computer- readable program code instructions for acquiring associated time stamp data, wherein the computer-readable program code instructions for compiling the composite collaborative data set include computer-readable program code instructions for organizing the foreign collaborative data based at least in part on time stamp data of the composite collaborative data set, and wherein the computer-readable program code instructions for comparing the node-based collaborative data with the composite collaborative data set include computer- readable program code instructions for analyzing the distinctions between the node-based data and the composite collaborative data set with respect to time as indicated by the time stamp data.
19. The computer program product of claim 14, wherein the computer- readable program code instructions further comprise computer-readable program code instructions for comparing the node-based collaborative data with the composite collaborative data set and providing for transmission of the differential collaborative data in response to a triggering event, the triggering event being the receipt of the data communication including the foreign collaborative data.
20. An apparatus comprising: means for acquiring node-based collaborative data; means for receiving foreign collaborative data via a data communication; means for compiling a composite collaborative data set with at least the foreign collaborative data; means for comparing the node-based collaborative data with the composite collaborative data set to identify differential collaborative data, the differential collaborative data being a segment of data included in the node-based collaborative data that is distinct from data included in the composite collaborative data set; and means for providing for transmission of the differential collaborative data to at least a collaborative data destination device.
21. The apparatus of claim 20, wherein means for receiving the foreign collaborative data includes means for joint-source decoding the foreign collaborative data and wherein means for providing for transmission of the differential collaborative data includes means for joint-source encoding the differential collaborative data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2009/050565 WO2010092435A1 (en) | 2009-02-11 | 2009-02-11 | Method, apparatus, and computer program product for collaborative network communications |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2009/050565 WO2010092435A1 (en) | 2009-02-11 | 2009-02-11 | Method, apparatus, and computer program product for collaborative network communications |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010092435A1 true WO2010092435A1 (en) | 2010-08-19 |
Family
ID=41223776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2009/050565 WO2010092435A1 (en) | 2009-02-11 | 2009-02-11 | Method, apparatus, and computer program product for collaborative network communications |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010092435A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016156902A1 (en) * | 2015-04-02 | 2016-10-06 | Nokia Technologies Oy | An apparatus and associated methods for use in live navigation |
WO2017015941A1 (en) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | Wireless local area network communication method, and related device and system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1845660A1 (en) * | 2006-04-12 | 2007-10-17 | STMicroelectronics S.r.l. | Method for aggregating and transmitting sensor signals |
-
2009
- 2009-02-11 WO PCT/IB2009/050565 patent/WO2010092435A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1845660A1 (en) * | 2006-04-12 | 2007-10-17 | STMicroelectronics S.r.l. | Method for aggregating and transmitting sensor signals |
Non-Patent Citations (3)
Title |
---|
CRISTESCU R ET AL: "On network correlated data gathering", INFOCOM 2004. TWENTY-THIRD ANNUALJOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES, IEEE, PISCATAWAY, NJ, USA, vol. 4, 7 March 2004 (2004-03-07), pages 2571 - 2582, XP010740623, ISBN: 978-0-7803-8355-5 * |
ELENA FASOLO ET AL: "In-network aggregation techniques for wireless sensor networks: a survey", IEEE WIRELESS COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 14, no. 2, 1 April 2007 (2007-04-01), pages 70 - 87, XP011181083, ISSN: 1536-1284 * |
SANDEEP PRADHAN S ET AL: "Distributed Compression in a Dense Microsensor Network", IEEE SIGNAL PROCESSING MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 19, no. 2, 1 March 2002 (2002-03-01), pages 51 - 60, XP011093750, ISSN: 1053-5888 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016156902A1 (en) * | 2015-04-02 | 2016-10-06 | Nokia Technologies Oy | An apparatus and associated methods for use in live navigation |
US10527435B2 (en) | 2015-04-02 | 2020-01-07 | Nokia Technologies Oy | Apparatus and associated methods for use in live navigation |
WO2017015941A1 (en) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | Wireless local area network communication method, and related device and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kassab et al. | A–Z survey of Internet of Things: Architectures, protocols, applications, recent advances, future directions and recommendations | |
TW202131661A (en) | Device and method for network optimization and non-transitory computer-readable medium | |
US20210117865A1 (en) | Cloud assisted machine learning | |
US11373406B2 (en) | Transmission, caching, and searching of video streams based on frame dependencies and content | |
Khan et al. | Internet of Things (IoT): systems and applications | |
Almalkawi et al. | Wireless multimedia sensor networks: current trends and future directions | |
Wei et al. | A survey of social-aware routing protocols in delay tolerant networks: Applications, taxonomy and design-related issues | |
US11146288B2 (en) | Technologies for applying a redundancy encoding scheme to segmented network packets | |
CN111090631B (en) | Information sharing method and device under distributed environment and electronic equipment | |
Weinsberg et al. | CARE: Content aware redundancy elimination for challenged networks | |
Rana et al. | An adaptive algorithm for compressive approximation of trajectory (aacat) for delay tolerant networks | |
Gia et al. | Exploiting LoRa, edge, and fog computing for traffic monitoring in smart cities | |
Varsha et al. | Development of QoS optimized routing using Artificial bee colony and TABU-GA with a mobile base station in Wireless Sensor Network | |
WO2010092435A1 (en) | Method, apparatus, and computer program product for collaborative network communications | |
Giménez et al. | Embedded federated learning over a LoRa mesh network | |
Xhafa et al. | Smart sensors networks: Communication technologies and intelligent applications | |
Krishnaraj et al. | Artificial Fish swarm optimization algorithm with hill climbing based clustering technique for throughput maximization in wireless multimedia sensor network | |
Dawood et al. | Simulation of multimedia data transmission over WSN based on MATLAB/SIMULINK | |
WO2024062273A1 (en) | Method and system for resource allocation using reinforcement learning | |
Loseto et al. | Mobile App Development for the Semantic Web of Things with Punya. | |
EP4072221B1 (en) | Method and device for orchestrating the execution of mechanisms in a wireless network | |
Chen | Implementing Efficient and Multi-Hop Image Acquisition in Remote Monitoring IoT Systems Using LoRa Technology | |
US20220414534A1 (en) | Continuous learning models across edge hierarchies | |
Sudha et al. | Analysis of Energy Efficiency Improvement Using Data Compression Algorithms for Habitat Monitoring in WSNs Using Zigbee | |
Chache | Implementation of an Age of Information Aware Wireless Sensor Networks |
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: 09786308 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09786308 Country of ref document: EP Kind code of ref document: A1 |