CoCam: A Collaborative Content Sharing Framework Based on ...

3 downloads 40560 Views 3MB Size Report
this feature is used for tethering internet connectivity to other devices, but CoCam .... framework, we implemented a prototype app on the Android platform, and ...
CoCam: A Collaborative Content Sharing Framework Based on Opportunistic P2P Networking Eyal Toledano∗ , Dan Sawada† , Andrew Lippman∗ , Henry Holtzman∗ and Federico Casalegno† ∗ MIT

Media Lab, † MIT Mobile Experience Lab 77 Massachusetts Avenue Cambridge, MA 02139, USA Email: {eyalto, dsawada, lip, holtzman, casalegno}@mit.edu

Abstract—In this paper, we propose CoCam, a framework for mobile phones that enables uncoordinated real-time image and video collaboration between different users sharing the same context, in the same physical location. CoCam addresses the complexity and difficulty introduced when users wish to collaborate, create, and share media contents at the same time. CoCam is based on a middleware that creates a self-organizing ad-hoc network within the context of a shared event in a proximal physical space (a common scene). This middleware automatically handles the context detection, as well as the network configuration and peer discovery. It also enables realtime content sharing while reducing the burden of complicated settings and configurations by the users . As a result of operation tests and user study with the prototype implementation, we have verified that CoCam is feasible and has the potential to enrich the users’ experience when sharing contents in an event scenario.

I. I NTRODUCTION A. Sharing of User-generated Media Web based services, such as Facebook[1], that enable users to share images and video clips are becoming more and more popular. These services originally focused more on the experience of sharing rich media contents after the event (post hoc) and less on the real time experience of sharing images and video clips during the event. These web services act as separate silos and rarely allow users to discover and collaborate with users of another service, although they may have shared the same event. Even for users who use the same service, it is still difficult to collaborate and share contents, as they need to tag their content (with text labels, geo-tags, etc.) for others to find and consume. In most cases, users must be connected in some way on the social graph beforehand in order to access the shared content. Moreover, users may need to filter out shared media that is not relevant to the context of the shared event. As a result, sharing and consuming relevant contents with the relevant people requires the users to invest time and effort. In parallel to the increasing popularity of content sharing services, smartphones and tablet devices have massively increased their penetration. According to the IDC Worldwide Mobile Phone Tracker[2], a total of 491 million devices were shipped worldwide in the fiscal year of 2011 alone. Smartphones and tablets equipped with high quality cameras, sensors and communication interfaces, enable millions to create rich media at anytime, from anywhere, and share it with everyone else. Smartphone users are now capable of making use of

rich media sharing services during actual events to share and consume content in real-time. However, the above limitations on interaction between the users still persists even if they are using the same service at the same time and location. Sharing user-generated media on various services using the cellular network has associated cost and increases the burden on its infrastructure. According to ”An Empirical Study on 3G Network Capacity and Performance”[3], in conditions of fully loaded cellular network, latency for 3G data services can increases to beyond 1 second, and unpredictable behavior is exhibited such as data calls being dropped unexpectedly. These limitations may not be an issue for basic email or webbrowsing, but it may heavily impact the user experience of streaming rich media contents in real-time. Operating the smartphone camera when creating rich media, sharing and consuming other’s shared media is very complex, especially when these tasks are done all at the same time. Traditionally, these tasks are separated into different applications designed separately for creating, sharing, or consuming media. This complexity is overwhelming when requiring the users to perform network setup and configuration tasks (such as deciding on the same network name and password, using the same service, etc.). A self organizing network of uncoordinated users in pervasive opportunistic scenarios such as public events is needed. Opportunistic networks[4] based on proximal radio are good candidates to address the limitations of content sharing between uncoordinated users who may not know each other or may not use the same services. These networks can improve the user experience by using proximal wireless links with higher bandwidth, instead of mobile data infrastructure, and reduce the cost associated with mobile data when sharing contents. These networks can relax the requirement for tagging, searching and filtering content since the relevance can be inferred from the opportunistic context. Opportunistic networks are created around the context of a specific opportunity[5]. Examples for opportunistic context are: a shared event that people engage with by taking pictures; sharing files between different people with common content interest profiles; relaying a message between different people whose geographical locations intersect in a way that generates a path between the source of the message and its destination. These opportunistic networks are pervasive in their nature

2

as network nodes can join or leave the opportunistic context, nodes mobility and batteries can cause disconnection at any given time. The ubiquity of mobile phones their embedded sensors and their ability to support multiple communications interfaces make them excellent candidates for creating opportunistic networks. While there are many ways to loadbalance the mobile internet traffic, ad-hoc networking with proximal radio could be one of the solutions for enabling rich media content sharing with others near by, without applying unnecessary loads on the mobile infrastructure. We envision a future in which proximal radio technology will enable an evolution from the traditional model of post hoc sharing of created media, to an intermediate stage, of real time sharing of media within the context of its creation, to a future of media co-creation by multiple users sharing the same context. B. Purpose and Objective Based on this background, we proposes a framework called CoCam. CoCam enables smartphones to coordinate with each other, and create a proximal P2P network group on an adhoc opportunistic basis. It also enables uncoordinated users to share rich media contents (e.g. photos and video streams) in real-time within the context of a shared event. Figure 1 indicates how users at a live concert event may use CoCam to acquire and distribute images of the band from different view angles.

Fig. 1.

Use Scenario of CoCam in Live Concerts

The main objective of CoCam is to maintain simple usability, while joining or leaving opportunistic networks, and sharing media contents. While users may benefit from realtime sharing of rich media contents, user experience can decrease if it were to add additional burden on the user. To simplify usability we targeted the elimination of settings and configurations. II. R ELATED W ORK Prior to describing the CoCam design, this section will discuss relevant existing work in the field of content distribution over opportunistic P2P ad-hoc networks. Social-aware Content Sharing Demo[5] describe a file sharing application over an opportunistic network based on user profile information. Upon sharing contents, it examines the

users sharing interests (genre of contents the user intends to share), habits, social contacts and mobility patterns. This particular application is built on top of Haggle[6], which is a platform for content-centric data distribution on opportunistic networks. Though this particular application focuses on sharing existing contents in a delay-tolerant fashion, it demonstrates the potential benefits of utilizing opportunistic networks for sharing files and user-generated contents in a seamless fashion. The user experiment of CallTheWeb[7] describes an experiment designed to understand technical feasibility and user perception of mobile video interaction. The experiment was done using an mobile video streaming application called CallTheWeb. The experiment results revealed that the 3G network (as of 2008) was not satisfactory for real time video sharing from the users’ perspective, especially due to the bandwidth limitations. The experiment results also indicated that the general user preference favored Wi-Fi over 3G for real time content sharing. More over, users in that experiment reported that they would prefer the sharing feature integrated within the camera application, and desired the categorization of contents based on events, in order to ease the search process. As this experiments demonstrates, it is clear that relying on the 3G network for real-time media content sharing is not entirely feasible from the users’ perspective. BlueTorrent[8] explorers a way of sharing contents amongst proximal nodes, using Bluetooth as a network interface. It proposes a file swarming technique, which enables it to restructure the original content from small blocks retrieved from multiple nodes. While Bluetooth consumes less energy than Wi-Fi, and is more intended specifically for P2P communication, the potential bandwidth limitations are likely to become a bottleneck upon real-time content distribution of rich media. MOVi[9] proposes a framework that exploits the opportunistic use of P2P links for optimizing on-demand video stream within a mobile ad-hoc network. MOVi is based on the assumptions that other nodes within the ad-hoc network may become ”seeds” for providing portions of the same video feed provided by the centralized server. Upon enabling the on-demand stream function, MOVi proposes a concept of centralized status tracking and control with decentralized data distribution. As a result of simulations, it has demonstrated that it equates to shorter video startup delays, and increases the capacity of simultaneous reception by multiple nodes. III. A PPROACH In order to meet the demands ( discussed in section I ), CoCam would explore ways to enable the features with no more than a point-and-shoot interaction within a single camera application, running on a off-the-shelf smartphone without any special modifications, such as acquiring the super-user privileges (a.k.a. ”rooting”). Users would point-and-shoot and the image will be automatically transmitted it to others in the group without any additional operation. Incoming images will be displayed as thumbnails in a similar way as images that were captured locally.

3

The group coordination would be correlated with the specific scenery. In order to enable this, each CoCam group, would be annotated with geo-spacial factors. When CoCam enabled devices enter a specific scene, they would first look for already existing groups of nodes and attempt to join them. If relevant groups are not present initiate a new group . In terms of increasing the reliability, CoCam would inherit the example of MOVi, discussed in Section II. As shown in Figure 2, CoCam includes a centralized server for managing and coordinating individual nodes and network groups, while enabling the actual content sharing to occur in a P2P fashion using proximal radio. The nodes would interact with the server individually through the conventional infrastructure, in order to join to the most relevant network group and receive periodic updates on the status of other nodes. This architecture does not completely eliminate the reliance on the 3G infrastructure. However, keeping video streams and image transfers strictly over WIFI P2P links causes the data bandwidth to the server to be comparatively small. Considering the fact that centralized node management would reduce the uncertainty of opportunistic networks, CoCam would take this design concept into practice.

Fig. 3.

System Overview

this feature is used for tethering internet connectivity to other devices, but CoCam would use it in a slightly different way in order create proximal links within the group. In each CoCam group, one node would initiate the mobile access point, become an access point node (AP node), and have other nodes within the group join in, essentially creating a LAN. The detailed flow of this process would be explained in the next section. IV. D ESIGN This section go into the design of CoCam, based on the design approach given in Section III. A. Framework Architecture

Fig. 2.

Interaction Flow

Finally, as for the proximal radio interface, CoCam would use Wi-Fi (IEEE 802.11b/g). Even though new proximal radio standards and technologies are emerging and may become a common methods in the future (e.g. Qualcomm’s FlashLinq[10] or Wi-Fi Direct[11]) still it requires compatible devices that are not very common in the market. Wi-Fi is identified as one of the most common network interfaces on smartphones that enable P2P proximal communication. The other available option would be Bluetooth, but its limited bandwidth and communication range casts a relatively large disadvantage, compared to Wi-Fi. The traditional method of using Wi-Fi to enable P2P communication would be to initiate the interface in ”ad-hoc mode”. However, the usage of this method on off-the-shelf smartphones is extremely limited, as it requires super-user privileges. In the case of CoCam, we propose to exploit the standard mobile access point feature on the phone. Normally,

Figure 3 indicates the basic structure of the CoCam framework. It consists of a middleware for opportunistic P2P networking, a media sender/receiver, a front end user interface, and a backend server for managing the nodes along with the groups. The P2P network middleware acquires the location information (latitude and longitude) and Wi-Fi networks fingerprint from the sensors on the phone. It then sends it periodically to the server, which makes the grouping decision for the opportunistic P2P network. The location information is acquired by the A-GPS sensors on the phone, and the networks fingerprint is obtained by scanning nearby Wi-Fi networks along with their signal strength (RSSI). Based on these information, the server associates the device with the most relevant CoCam group. If the assigned group already exists, the network middleware attempts to join in to the AP node. If the group is new and does not exist, it initiates the mobile access point feature of the phone, and become the AP node itself. The network middleware also keeps track of the current members of a group, and handles the cases when nodes join or leave the group. The media sender/receiver sends the captured images or video streams to the other nodes within the group. Upon

4

sharing the media, CoCam enables a privacy function, when the user decides to not share an image or video while still within a group, the user may disable the transmission by toggling into ”private mode” with a click of a single button. B. Grouping Mechanism When users start CoCam, it will automatically probe the location and networks fingerprint and send this data as payload within a JOIN command to the server. If the server finds a relevant group within the node’s range, it will send a reply to the device with the group information (SSID and WPA passcode). Using this information, the device will attempt to associate with the AP node, and join the group. In the case where multiple relevant groups exist, the group with the nearest AP node will be prioritized. If the server does not find a relevant group, it creates and registers a new group, and reply with the SSID and WPA passcode of the new group. In this case, the node would initiate its mobile access point with the given information, and enable other nodes to join, when they come in range. After the joining process completes, CoCam will periodically issue an UPDATE command to the server. This message includes the latest sensor data of the device. The server, in return, will reply with the latest member list with their private IP address. When the user decides to leave the group, or physically steps away from the network range, CoCam will automatically issue a DETACH command to the server. This will remove the node from the group, and notify the other nodes of the group in the next UPDATE command response. In case of the user receiving contents that is irrelevant to his actual scene, the user can change group and associate with a group that may be a better fit to his specific context. When changing groups, CoCam will issue a CHANGE command to the server. The server will first mark the node irrelevant to the current group and then search for other groups that may be more relevant but still within the desired proximal distance. The server will reply with the new group information (same as JOIN command). One of the key factors of opportunistic networks include the automatic reorganization of networks when nodes join or leave. Since a CoCam group requires an AP node, the network will break if that node leaves the group. Therefore, the remaining nodes must coordinate and reestablish the network by designating a new AP node. In case that AP node has left the group or got lost, CoCam automatically issues a LOST command to the server. The server will reply with a new AP node candidate, that was the closest (in terms of radio proximity - signal strength) to the original AP node. The assigned AP node will initiate a mobile access point, and others will attempt to associate with it. In the case a regular node loses its link while the AP node is still present and alive, the server will request the node to retry and associate with the AP node again. If the nodes succeeds it will notify the server by issuing a RECOVER command.

C. Front End User Interface As for the front end UI, it was designed with the concept of maintaining the simple user experience of pointand-shoot. The user interface is very similar to a familiar camera application, with slight modifications to accommodate the special features introduced by the CoCam framework. Figure 4 indicates the basic image of the interface of an demo application, which enables simple image sharing within a CoCam group.

Fig. 4.

User Interface of CoCam

The camera preview is shown on the full-screen background. The top-right button is the button for joining and leaving groups. It also acts as an indicator that turns gray when not associate with any group. The second button from the top is used for toggling between private (red icon) and public mode (gray icon). As described above, no pictures would be shared when the user turns it to private mode. The third button changes the group, when the user intends to do so. When the very bottom button is pressed, CoCam shoots the image and transmits it to other nodes within the group. Finally, when CoCam receives a image from others, it shows the thumbnail on the top-left corner. The incoming image would be stored locally, and may be enlarged by touching on the thumbnail. V. E VALUATION In this paper, CoCam was evaluated based on the following criteria. • Technical feasibility of CoCam on actual phones. • Effectiveness of CoCam toward enhancing the user experience in public event scenarios. In order to evaluate the technical feasibility of CoCam framework, we implemented a prototype app on the Android platform, and conducted operation tests using 4 Samsung Galaxy S phones. We also conducted a user study to evaluate the user experience of CoCam and to better understand the users’ needs, habits and expectations upon real-time content sharing in the context of events. A. Feasibility Test In the operation test, we positioned 4 phones within a 20meter radius and started CoCam on each phone. We examined

5

that phones can automatically form one group, and share contents instantaneously. We were able to verify that when each phone took a photo, it was distributed seamlessly to all other phones. We also verified that phones were able to leave the group at the users’ request, and that the group was able to reconfigure itself upon the loss of the AP node. Furthermore, we had two separate groups with two phones each, and verified that one phone was able to switch to the other group at the request of the user. B. Overview of the User Study The user study was conducted under a simulated demo pavilion scenario, commonly seen in professional conferences. Users were requested to explore the pavilion, and record photos of the demos using CoCam as they browse through. For the purpose of the study, 12 students (aged between 19 and 35, mixed gender) were selected. The students were separated into 3 different groups of 4 users. After a short period of exploring the pavilion demos, the students were requested to answer a web-based questioner that evaluates their experience. They were also requested to comment freely about different aspects of their live content sharing habits and their experience during the study. The time period given to the users in the study was designed to be slightly shorter than the time a single person needs to document comfortably all the demos in the pavilion. From the user study we hope to learn what are the habits and expectations of users from real-time image sharing. We would like to learn how important is privacy and prior social connection with other people you share images or get images from. We would like to discover whether the UI designed for the application was usable and intuitive enough for the task of creating and sharing images. We hope to show that the users perceive this as efficient and time saving method for covering and documenting a public event. We would also like to show that the image content was relevant and interesting and that incoming images were not so intrusive. C. Results Users were asked whether they usually share images during live public events. 58.3% of the users answered that they rarely or never share images at live events and 33.3% answered that they share often or always. Users were also asked whether they would like to get images taken by other peoples at the same event. 66.6% answered that they would often like and only 16.6% answered that they would rarely like to get images taken by others, Figure 5. In regards to receiving shared images 41.66% of the users surveyed prefer to receive shared content from their friends whereas for 33.33% being friends with the person that shared the content received is not very important. Regarding users sharing their own images taken during a live public event, 50% don’t mind disclosing their content publicly whereas 41.66% prefer not to disclose the images they took publicly, Figure 6. 58.33% of the users perceive this method of sharing images during live public event as a method that increased their coverage of the event, 33.33% only to a medium extent and

8.33% to a little extent. 75% of the users found this method to be time saving only to medium or little extent when asked whether they think that sharing images during event saved them time to achieve desired coverage of the public event, Figure 7. 41.66% found the images received during the user study to be relevant compared to only 16.66% found the images shared by other users to be not relevant. The user experience of using the CoCam app in the user study was found by 58.33% of the users to be not disruptive or disruptive to a little extent. Figure 9. 75% of the users found the CoCam user interface to be intuitive and 50% of the users felt that they received images in a timely fashion, Figure 8.

Fig. 5. Real-Time sharing habit and expectation 1. Do you usually share images during event? 2. Would you like to get images other people took at the same event?

Fig. 6. Privacy and prior social connection 1. Is it important for you to be friends with whoever shared images with you? 2. How much do you care about disclosing images you take during public event?

Fig. 7. Efficiency 1.Did sharing images during event increase your coverage? 2.Did sharing images during event saved you time to achieve coverage?

D. Discussion From the results we can see that the majority of the users are not sharing images during events. On the other hand, there

6

VI. C ONCLUSION AND F UTURE W ORK

Fig. 8. UI Experience - Intuitive and Interactive 1.Was the user interface clear and intuitive? 2.Were you able to receive images in a timely fashion?

CoCam enables people to enjoy image sharing in real-time with other people they do not necessarily know, while reducing the burden and costs of using the cellular network. It also enables users to get multiple views of the event, and increase the coverage of the scene they are interested in. CoCam is especially useful for taking images in large family events, trade shows, conferences and recreational sports. As for the next step, we will consider implementing efficient algorithms or methods for data distribution to reduce the load on the AP node, and increase the scalability. We would like to introduce synchronized clock to enable co-creation of media within the group. Enhancing the grouping method by incorporating device orientations, as well precise Wi-Fi positioning techniques is desired. ACKNOWLEDGMENT Work reported herein was supported my the MIT Media Lab Digital Life Consortium and a grant from the Qualcomm Corporation. R EFERENCES

Fig. 9. UI Experience - Relevant and Disruptive 1.Were the incoming images interesting and relevant? 2.Were the incoming images disruptive?

is also a majority of users that would like to get other people’s images from the same event. This finding raises a potential gap in content supply .vs. need. This gap may be attributed to the difficulty and complexity of engaging in a event, creating and sharing media all at the same time. This finding strengthen the motivation to provide tools that allow users to easily share their created media with others that seek to consume it. Another finding may suggest that social link is still very important for the users as more users reported that it is important for them to be friends with whoever shared images with them than users that didn’t care about prior social connection. Somewhat in contrast CoCam can provide value exactly in situations where social connections and services are not available within the opportunistic context. Users may value better coverage of a public event as CoCam is perceived to assist in that task. It was expected that the users perception on time saving will match their perception on increased coverage, but only the minority perceived this method to be time saving to a large extent or more. This may suggest that further improvements may be needed in order to provide a time saving experience (such as automatic upload to various social services). The familiarity of the point and shoot interface is a key factor in making the UI clear and intuitive to the majority of users. Even though additional information was presented that is not part of the original camera app (such as incoming images and group status). This may lead to future inclusion of real-time social features within the native smartphone camera app while still keeping the application clear and intuitive to use.

[1] Facebook Inc. Facebook. [Online]. Available: http://www.facebook.com [2] International Data Corporation (IDC), “Worldwide quarterly mobile phone tracker,” 2011. [3] W. L. Tan, F. Lam, and W. C. Lau, “An empirical study on 3g network capacity and performance,” in INFOCOM 2007. 26th IEEE International Conference on Computer Communications. IEEE, may 2007, pp. 1514 –1522. [4] L. Lilien, Z. H. Kamal, V. Bhuse, and A. Gupta, “Opportunistic networks: The concept and research challenges in privacy and security,” in Proceedings of the International Workshop on Research Challenges in Security and Privacy for Mobile and Wireless Networks, March 2006, pp. 134–147. [5] M. Conti, F. Delmastro, and A. Passarella, “Social-aware content sharing in opportunistic networks,” in Sensor, Mesh and Ad Hoc Communications and Networks Workshops, 6th Annual IEEE Communications Society Conference, 2009. [6] J. Su, J. Scott, P. Hui, J. Crowcroft, E. De Lara, C. Diot, A. Goel, M. H. Lim, and E. Upton, “Haggle: seamless networking for mobile applications,” in Proceedings of the 9th international conference on Ubiquitous computing, 2007, pp. 391–408. [7] J. K. Nurminen, O. Karonen, L. Farkas, and T. Partala, “Sharing the experience with mobile video: a student community trial,” in Proceedings of the 6th IEEE Conference on Consumer Communications and Networking Conference, 2009, pp. 1197–1201. [8] S. Jung, U. Lee, A. Chang, D. K. Cho, and M. Gerla, “Bluetorrent: Cooperative content sharing for bluetooth users,” in Fifth Annual IEEE International Conference on Pervasive Computing and Communications, 2007. [9] H. Yoon, J. Kim, F. Tan, and R. Hsieh, “On-demand video streaming in mobile opportunistic networks,” in Sixth Annual IEEE International Conference on Pervasive Computing and Communications, 2008. [10] Qualcomm, “Qualcomm to demonstrate new peer-to-peer technology at mobile world congress,” February 2011. [Online]. Available: http://www.qualcomm.com/media/releases/2011/02/08/ qualcomm-demonstrate-new-peer-peer-technology-mobile-world-congress [11] Wi-Fi Alliance, “Wi-fi direct.” [Online]. Available: http://www.wi-fi. org/discover-and-learn/wi-fi-direct