# Patent

## Title
Battery pack with supplemental memory

## Abstract

Features are disclosed relating to a case for a mobile device that provides supplemental battery power and supplemental storage space to the mobile device. Additional features are disclosed relating to an external storage device that can provide supplemental battery power and/or supplemental storage space for one or more devices. Further features are disclosed relating sharing and searching for files. Files may be shared across multiple (e.g., two or more) devices, operated by or associated with multiple users, providing multiple file storage locations. Files may be searched across the multiple devices using, e.g., search terms, tags, and/or other search options. Searching may also be performed with respect to activities performed in connection with subject files.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Patent Application No. 61/909,578, filed on Nov. 27, 2013, and titled “BATTERY PACK WITH SUPPLEMENTAL MEMORY,” and of U.S. Provisional Patent Application No. 62/019,824, filed on Jul. 1, 2014, and titled “BATTERY PACK WITH SUPPLEMENTAL MEMORY,” the disclosures of both of which are hereby incorporated by reference in their entireties for all that they disclose.


BACKGROUND
Field of the Disclosure
Various embodiments of this disclosure relate to mobile electronic devices and/or to wearable computing devices, and certain embodiments relate to a battery pack with supplemental memory for use with a mobile electronic device.
Description of the Related Art
Mobile electronic devices sometimes have insufficient memory for storage of a user's files, especially in the case of media files (e.g., video and image files).
SUMMARY OF CERTAIN EMBODIMENTS
Various embodiments disclosed herein can relate to a system that includes a case configured to receive a mobile electronic device. The case can include a top wall, a bottom wall, a power output interface coupled to the bottom wall, the power output interface configured to engage a power input interface of the mobile electronic device, wherein the top wall is movable with respect to the power output interface from a first position in which the case is permitted to be removably attached to the mobile electronic device to a second position in which detachment of the case from the mobile electronic device is inhibited by engagement of the power output interface with the power input interface. The case can include a battery, and the power output interface can be configured to convey electrical power from the battery. The case can include an indicator component configured to indicate an amount of power in the battery. The case can include a non-transitory computer-readable case memory configured to store data accessible by at least the mobile electronic device via the power output interface. The system can include a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device, and the file management system can be configured to at least provide, to a media player executing on the mobile electronic device, access to a first media file in the case memory using a server-based communication protocol, and provide, to the media player, access to a second media file in memory of the mobile electronic device using a local storage access protocol.
The file management system can be configured to at least cause the mobile electronic device to transmit the media file to a second mobile electronic device via a wireless communication channel. The file management system can be configured to store metadata in connection with the first media file, and the metadata can include a tag defined by a user. The tag can include an audio recording, in some instances.
Various embodiments disclosed herein can relate to a system that includes a case configured to removably attach to a mobile electronic device. The case can include a battery, a non-transitory computer-readable case memory, an output interface configured to at least engage an input interface of the mobile electronic device, convey electrical power from the battery to the input interface of the mobile electronic device, and provide the mobile electronic device access to data stored in the case memory. The system can include a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device, and the file management system can be configured to at least provide, to an application executing on the mobile electronic device, access to data in the case memory.
The system can be used in combination with the mobile electronic device.
The file management system can be configured to provide access to the data in the case memory using a server-based communication protocol. The file management system can be configured to at least cause the mobile electronic device to transmit the data stored in the case memory to a second mobile electronic device via a wireless communication channel. The file management system can be configured to at least provide access to data in memory of the mobile electronic device using a local storage access protocol.
The file management system can be configured to at least store metadata in connection with a file stored in the case memory. The metadata can include a tag defined by a user. The metadata can include a tag generated based at least partly on calendar data stored in memory of the mobile electronic device. The file management system can be configured to provide access to a file stored in the case memory by transmitting, to a remote electronic device, a link to the file stored in the case memory.
The file management system can be configured to at least search a plurality of mobile electronic devices for a file meeting user-supplied search criteria. The file management system can be configured to search the plurality of mobile electronic devices using at least two different network connections in response to a single search request. The file management system can be configured to search the plurality of mobile electronic devices by communicating with file management systems executing on the plurality of mobile electronic devices. The file management system can be configured to at least enable modification of a search result file stored on a remote mobile electronic device of the plurality of mobile electronic devices.
The file management system can be configured to at least enable presentation of a sequence of two or more media files, wherein at least a first media file of the two or more media files is retrieved from a first remote mobile electronic device, and wherein at least a second media file of the two or more media files is retrieved from a second remote mobile electronic device. The sequence of two or more media files can include a playlist of audio files or a slide show of image files.
The file management system can be configured to search for a file based at least in part on user activity information. The user activity information can include an indication of an activity that the user was performing when the file was created or modified.
Various embodiments disclosed herein can relate to a method of manufacturing a case. The method can include providing a housing configured to removably attach to a mobile electronic device. The housing can include a battery and a non-transitory computer-readable case memory. The method can include providing an output interface configured to engage an input interface of the mobile electronic device, and the output interface can be configured to convey electrical power from the battery to a input interface. The output interface can be configured to provide access to data stored in the case memory. The method can include attaching the output interface to the housing. The method can include providing a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device. The file management system can be configured to at least provide, to an application executing on the mobile electronic device, access to data in the case memory.
Various embodiments disclosed herein can relate to an electronic storage device, which can include a first wireless communication interface, a second wireless communication interface configured to consume less power than the first wireless communication interface during operation, and a computing device configured to at least (1) transmit, using the second wireless communication interface, indicators regarding availability of the electronic storage device, (2) receive, using the second wireless communication interface, a communication from a mobile electronic device, and (3) in response to the communication (i) activate the first wireless communication interface, where the electronic storage device transmits data to the mobile electronic device using the first wireless communication interface subsequent to activation of the first wireless communication interface, and (ii) subsequent to transmitting the data to the mobile electronic device using the first wireless communication interface, deactivate the first wireless communication interface.
The summary of certain embodiments provided above is not intended to be limiting and provides some example of the various embodiment disclosed herein. Various alternatives and other embodiments are disclosed herein.



BRIEF DESCRIPTION OF THE DRAWINGS
Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the disclosure.
FIG. 1 shows an example embodiment of a case and a mobile electronic device.
FIG. 2A shows an example embodiment of a file management system for use with the mobile electronic device.
FIG. 2B shows an example interface for tagging files according to some embodiments.
FIG. 3 shows an example embodiment of an external storage device and a mobile electronic device.
FIG. 4A shows features of an example embodiment of a case for use with a mobile electronic device.
FIG. 4B shows features of an example embodiment of a case for use with a mobile electronic device.
FIG. 5A shows an example network environment in which a file management system can search files across multiple devices.
FIG. 5B shows example data flows and interactions between multiple devices when sharing files.
FIG. 6 shows example data flows and interactions between an external storage device and a mobile electronic device.
FIG. 7 shows an example process for activating components of an external storage device to provide communication-based services to a mobile electronic device.
FIG. 8 shows an example embodiment of mobile devices configured to share public and/or private data.
FIG. 9 shows an example embodiment of charging devices configured to share battery information with a mobile device.
FIG. 10 shows an example embodiment of sensor systems configured to communicate information to a mobile device.



DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
FIG. 1 shows an example embodiment of a case 100 (e.g., for use with a mobile electronic device 102, such as a cell phone). Although various embodiments are discussed herein in connection with a cell phone, various other mobile devices can be used, such as a tablet computer, a laptop computer, a wearable computing device (e.g., a smartwatch), etc. The case can include a housing 104. The outer shape of the housing 104 can generally conform to the shape of the mobile electronic device 102. The housing 104 can include a recess 106, which can generally conform to the shape of the mobile electronic device 102. The recess 106 can be configured to receive the mobile electronic device 102 therein. In some embodiments, the case 100 can be configured to provide protection to the mobile electronic device 102 (e.g., protection from impact in the event that the device 102 is dropped). The case 100 and/or the mobile electronic device 102 can include various features similar to those described in U.S. Patent Publication No. 2012/0303520 (the “'520 Publication”), published on Nov. 29, 2012, filed on Jun. 8, 2012 as U.S. patent application Ser. No. 13/492,785, and titled WIRELESS COMMUNICATION ACCESSORY FOR A MOBILE DEVICE, the entirety of which is hereby incorporated by reference and made a part of this specification for all that it discloses.
The case 100 can include a battery 108. The battery 108 can be rechargeable. The battery 108 of the case 100 can be used to provide electrical power to the mobile electronic device 102 (e.g., for recharging the battery 114 of the mobile electronic device 102). The case 100 can include a power input interface 110, which can be configured to deliver electrical power to the battery 108, e.g., for charging the battery 108. The power input interface 110 can include a port, which can be configured to receive an electrical plug (e.g., a micro USB or lightning electrical plug). In some embodiments, the power input interface 110 can include a wireless charging interface (e.g., for inductive charging). For example, the power input interface 110 can be configured to provide electrical power (e.g., to the battery 108 or other electrical components of the case 100 and/or device 102) when placed in an electromagnetic field (e.g., produced by a corresponding power output interface). In some embodiments, the power input interface 110 can be configured to send and/or receive data (e.g., via a wire or a wireless signal).
The case 100 can include a power output interface 112, which can be configured to deliver electrical power to the mobile electronic device 102 from the battery 108 of the case 100 (e.g., for recharging the battery 114 of the device 102). The power output interface 112 can include an electrical plug (e.g., a micro USB or lightning electrical plug). In some embodiments, the power output interface 112 can include a wireless charging interface (e.g., for inductive charging). For example, the power output interface 112 can be configured to produce an electromagnetic field that can cause a power input interface 116 to provide electrical power. In some embodiments, the power output interface 112 can be configured to transfer data (e.g., to or from the mobile electronic device 102). The mobile electronic device 102 can include a power input interface 116, which can be configured to receive electrical power from the power output interface 112 of the case 100. The power input interface 116 can include a port that is configured to receive the electrical plug of the case output interface 112 when the mobile electronic device 102 is coupled to the case 100. In some embodiments, the power input interface 116 can include a wireless charging interface (e.g., for inductive charging). For example, the power input interface 116 can be configured to provide electrical power when placed in an electromagnetic field (e.g., produced by the power output interface 112). In some embodiments, the power input interface 116 can be configured to send and/or receive data. Electrical power can be transferred from the battery 108 of the case 100 to the mobile electronic device 102 for recharging the battery 114 of the mobile electronic device 102 and/or for providing power to other components of the device 102 (e.g., the processor 132 and/or the display 124).
The case 100 can include a user interface 118. The user interface can include one or more user input elements (e.g., buttons, switches, knobs, etc.), which can be configured to receive input from the user. The case 100 can be configured to transfer electrical power from the case battery 108 to the mobile electronic device 102 in response to user input received by the user interface 118. The user interface 118 can include one or more user output elements (e.g., one or more lights, speakers, displays, etc.) configured to provide information to a user. For example, a plurality of lights can be included, which can selectively illuminate (e.g., in response to input from the user to the one or more user input elements) to indicate the amount of charge that the battery 108 has. For example, half the lights can illuminate to indicate that the battery 108 is about half charged.
The case 100 can include a controller 120. The controller can include one or more computing devices (e.g., computer processors). The controller 120 can be implemented using one or more general purpose computer processors, which can be configured to execute computer-executable instructions (e.g., stored on memory 122) to implement various features and processes discussed herein. In some embodiments, the controller 120 can include one or more specialized computing devices (e.g., integrated circuits) which can be configured to implement various features and processes disclosed herein. The controller 120 can be configured to control the transfer of electrical power and/or data to and from the mobile electronic device 102. The controller 120 can also control the user interface 118 and the memory 122 as described herein.
The case 100 can include memory 122, which can include non-transitory computer-readable storage (e.g., flash memory, a hard disc, etc.). In some embodiments, the memory 122 can store computer-executable instructions, which can be executed by one or more computing devices (e.g., the controller 120) to implement various features and processes discussed herein. In some embodiments, the memory 122 can be accessible to the mobile electronic device 102 (e.g., when the mobile electronic device 102 is coupled to the case 108). For example, data can be transferred from the mobile electronic device 102 to the memory 122 and/or from the memory 122 to the mobile electronic device 102 via the power output interface 112 of the case 100 and the power input interface 116 of the mobile electronic device 102. In some embodiments, separate interfaces can be used for transferring electrical power and data between the case 100 and the mobile electronic device 102, and in some implementations, the data and/or the electrical power can be transmitted wirelessly. In some embodiments, the memory 122 can be used as supplemental storage for files (e.g., videos, pictures, music, documents, etc.), which can be accessible to the mobile electronic device 102.
The mobile electronic device 102 can include a display 124, which can be configured to display images (e.g., text, pictures, video, etc.). In some embodiments, the display 124 can be a touchscreen and can be configured to receive input from a user. In some embodiments, the mobile electronic device 102 can include a user interface, which can include user input elements (e.g., one or more buttons 126, switches, knobs, microphones 128, etc.) configured to receive input from the user. The user interface can include user output elements (e.g., one or more lights, speakers 130, etc.) which can be configured to provide information to the user. In some embodiments, the display 124 can be configured to provide information to the user and/or to receive input from the user, and the display 124 can be considered part of the user interface 126. The one or more microphones 128 can be configured to receive voice commands from a user and/or to receive sounds for a phone call. The one or more speakers 130 can be configured to provide notifications and other information to the user and/or to output sound for a phone call.
The mobile electronic device 102 can include a controller 132, which can include one or more computing devices (e.g., computer processors). The controller 132 can be implemented using one or more general purpose computer processors, which can be configured to execute computer-executable instructions (e.g., stored on memory 134 or 122) to implement various features and processes discussed herein. In some embodiments, the controller 132 can include one or more specialized computing devices (e.g., integrated circuits) which can be configured to implement various features and processes disclosed herein. Mobile electronic device 102 can include memory 134, which can include non-transitory computer-readable storage (e.g., flash memory, a hard disc, etc.). In some embodiments, the memory 134 can store computer-executable instructions, which can be executed by one or more computing devices (e.g., the controller 132) to implement various features and processes discussed herein. The mobile electronic device 102 can also include at least one wireless communication interface 136. The wireless communication interface 136 can include one or more antennas and can be configured to receive and/or transmit data (e.g., via WiFi, Bluetooth, Near Field Communication (NFC), Code Division Multiple Access (CDMA), Global Systems for Mobile Communications (GSM), etc.).
The case battery 108 can be used to recharge the battery 114 of the mobile electronic device 102 and/or to provide electrical power directly to the display 124, controller 132, memory 134, user interface, etc. The case battery 108 can provide electrical power to components of the case 100 (e.g., the processor 120, memory 122, and/or user interface 118). The battery 114 of the mobile electronic device 102 can be used to power components on the case 100 (e.g., the processor 120, memory 122, and/or user interface 118), for example, if the battery 108 is depleted. In some cases, using the battery 108 of the case 100 to power the components of the case 100 can be advantageous by avoiding or reducing the draining of the battery 114 of the device 102 by operating the case 100 (e.g., accessing the memory 122).
In some embodiments, the housing 104 may include multiple (e.g., two or more) portions that can be separated from each other. For example, the housing 104 may include at least a first portion 101 and a second portion 103. The first and second portions 101, 103 may form the housing 104 by connecting or coupling to each other (e.g., via one or more tabs on one portion and one or more corresponding recesses on the other portion, by a tongue on one portion and a corresponding groove on the other portion, or by other attachment mechanisms, etc.). A user may install the case 100 onto the mobile electronic device 102 (or install the mobile electronic device 102 into the case 100) by separating the first and second portions 101, 103. For example, the first portion 101 may be moved away from the second portion 103 such that a distance between a top wall 105 of the recess 106 and a bottom wall 107 of the recess 106 is increased (or a distance between the top wall 105 and the power output interface 112 is increased). Thus, additional space may be created to allow the mobile electronic device 102 to be placed into the recess 106. The first portion 101 may then be advanced toward the second portion 103, reducing the distance between the top wall 105 and bottom wall 107, thereby exerting a gripping force one the mobile electronic device 102, causing the power output interface 112 to be inserted into the power input interface 116 of the mobile electronic device 102, or otherwise securing the mobile electronic device 102 within the recess 106.
In some embodiments, the housing 104 may include multiple portions that stack onto each other to “sandwich” or otherwise secure the mobile electronic device 102 into the case 100. For example, the housing 104 may include a back portion that corresponds to the back (e.g., the rear face) of the mobile electronic device 102 and a front portion that corresponds to the front (e.g., the front face or display face) of the mobile electronic device 102. The mobile electronic device 102 may be placed into a recess in a first portion (e.g., the back portion or the front portion), and the complimentary portion (front portion or back portion, respectively) may be coupled to the first portion to secure the mobile electronic device 102.
In some embodiments, the housing 104 (or some portion thereof) may be at least partially flexible such that the mobile electronic device 102 can be inserted into, and removed from, the recess 106, even if the recess 106 is substantially the same size (e.g., width, length, and/or thickness) as the mobile electronic device 102. Alternatively, or in addition, the power output interface 112 of the case 100 may be pivotable or otherwise movable to allow insertion into the power input interface 116 of the mobile electronic device 102. The mobile electronic device can then be placed into the recess 106 of the case 100 as the power output interface 112 pivots or otherwise moves back into its original position or orientation with respect to the housing 104.
In some embodiments, the case 100 can communicate with an external computing device (not shown), such as a personal computer. For example, a cable can extend between the power input interface 110 and the external computing device, and data can be transferred using the cable. In some implementations, the case 100 can include a wireless communication interface, and data can be transferred wirelessly. In some embodiments, the case 110 can be configured transmit data from the mobile electronic device 102 to the external computing device and/or to transmit data from the external computing device to the mobile electronic device 102. For example, by coupling the external computing device to the case 100 via a cable, the external computing device can communicate with the mobile electronic device 102 (e.g., memory 134) and/or the case 100 (e.g., memory 122). In some embodiments, the external computing device can access the memory 134 of the mobile electronic device 102 via the same interface and/or protocols as if the external computing device were communicating directly with the mobile electronic device 102 (e.g., via a cable coupled to the power input interface 116), without the case 100. In some embodiments, the memory 122 of the case 100 can be accessible to the external computing device as an extension of the mobile electronic device 102 (e.g., using the same interface and/or protocols used to access the memory 134 of the mobile electronic device 102). In some embodiments, the memory 122 of the case 100 can be accessible separate from the memory 134 of the mobile electronic device 102 (e.g., as a separate drive). In some embodiments, the memory 122 of the case 100 can be accessible to an external computing device, even when no mobile electronic device 102 is coupled to the case 100. In some embodiments, a user can store files on the memory 122 of the case 100 and can access the files on the memory 122 via an external computing device. Accordingly, the memory 122 on the case 100 can be used for storage and transfer of files instead of a USB flash drive, optical disc, or other computer storage device. Because the memory 122 is incorporated into the case 100 that is coupled to the mobile electronic device 102, the memory 122 can be less likely to be lost, as compared to a small computer storage device such as a USB flash drive or optical disc.
Various embodiments disclosed herein can relate to one or more software programs (e.g., one or more apps) which can run on the mobile electronic device 102 (e.g., using the controller 132), as discussed herein. Various features described herein can be implemented in single software program or in multiple software programs. Various embodiments can relate to one or more computer-readable storage devices (e.g., one or more non-transitory storage media) having executable instructions stored there, and the executable instructions can be configured to run on one or more computer processors to implement various features and processes described herein. In some embodiments, one or more specialized computing devices (e.g., integrated circuits) can be configured to implement various features and processes disclosed herein.
With reference to FIG. 2A, some embodiments can relate to a file management system 138. The file management system 138 can be implemented by the controller 132 (e.g., executing machine-executable instructions stored on the case memory 122 and/or on the device memory 134). For example, the file management system 138 may include one or more executable modules that can be loaded into memory 122 or 134 and executed by the controller 132. The file management system 138 may be integrated into an operating system of the case 100 and/or device 102, or the file management system 138 may be an add-in component, a stand-alone application or service, some combination thereof, etc.
The file management system 138 can be configured to access files 140 on the device memory 134 and files 142 on the case memory 122. The file management system 138 can include a file database 144, which can be stored on one or more computer-readable storage devices (e.g., the case memory 122 and/or the device memory 134). The file database 144 can include metadata associated with the files 140 on the device memory 134 and/or the files 142 on the case memory 122. The metadata can include one or more of the file location, the file type, the file creation time, one or more file edit times, the file version, the location where the file was created, user activity information associated with the file, security information regarding who may access the file and/or what the user may do (e.g., roles, permissions), etc.
The file management system 138 can be configured to provide a user interface 146, which can be a graphical user interface (GUI), (e.g., on the display 124 of the mobile electronic device 102), and the user interface 146 can be configured to enable a user to sort and/or search the files 140 and 142 regardless of whether they are stored on the device memory 134 or on the case memory 122 (or on some other device, as described in greater detail below). For example, the user interface 146 or some other component can be configured to receive input from the user (e.g., via a touchscreen 124, via user input elements 126, via a voice command received by a microphone, etc.). In some embodiments, user input can be received by another device and the user input data can be transmitted to the mobile electronic device 102. For example, a wearable computing device (e.g., a smartwatch, etc.) can be configured to receive input from a user (e.g., via a touch screen, via a voice command received by a microphone, etc.). The wearable computing device can transmit user input data to the file management system 138 (e.g., via the wireless communication interface 136). The file management system 138 can be configured to sort and/or search the files 140 and 142 in response to the user input. For example, the user interface 146 can be configured to enable the user to select a file type, and the user interface can display all files of that type that are stored on either the device memory 134 or the case memory 122, and regardless of the file location (e.g., regardless of what folder the file is in). For example, the user can provide user input selecting image files, and the file management system 138 can access the file database 144 to identify all image files stored in the case memory 122 and/or stored in the device memory 134, and the identified files can be presented (e.g., as icons, or on a list) on the user interface 146. The user interface 146 can enable the user to sort the files by various parameters, such as file type, file creation time, file edit time, location information associated with the file, user activity information associated with the file, etc. The user interface 146 can enable the user to search for files on the case memory 122 and/or on the device memory 134, as discussed herein.
In some embodiments, the file management system 138 can be configured to perform operations (open, view, edit, delete, share, etc.) on the files 140 and/or 142. For example, the user interface 146 can enable the user to provide user input for selecting a file. For example, the user interface 146 can display icons associated with the files 140 and/or 142 and the user can select an icon associated with a file. The user interface 146 can be configured to enable the user to select an operation for the file (e.g., to open, view, edit, delete, or share the file). In some embodiments, the file management system 138 can be configured to open a selected file using a different program. In some embodiments, the file management system 138 can be configured to perform operations (e.g., open, view, edit, delete, or share) on the files 140 and/or 142 directly from the file management system 138 or from a related program that is configured to function with the file management system 138 (e.g., by providing updated metadata regarding the files 140 and/or 142 back to the file management system 138). For example, the file management system 138 can include a media player which can be configured to use (e.g., view or play) media files (e.g., images, videos, or music files). In some embodiments, the file management system 138 can access a media player 148 of the mobile electronic device 102 (e.g., stored in the device memory 134) to use (e.g., view or play) media files.
In some instances, the mobile electronic device 102 may not be designed to use external memory (e.g., the case memory 122). The file management system 138 can enable the mobile electronic device 102 to use files stored on the case memory 122 as well as on the device memory 134. For example, in some instances, the media player 148 of the mobile electronic device 102 is not configured to use a media file 150 that is stored on an external local memory (e.g., on the case memory 122). In some instances the media player 122 of the device 102 can be configured to use (e.g., view or play) media files that are stored on the device memory 134 and/or that are stored remotely on a server (e.g., via the internet). For example, the media player 148 can include a local memory protocol (e.g., a first set of instructions) for accessing a media file on the local device memory 134, and the media player 148 can include a server protocol (e.g., a second set of instructions) for accessing a media file (e.g., streaming a video) from a server (e.g., over the internet). In some embodiments, in order to enable use of a media file 150 stored on the case memory 122, the document management system 138 can include a local server 152 (e.g., a hypertext transfer protocol (HTTP) server) that is configured to access the media file 150 on the case memory and present the media file 150 to the media player 148 as a file being read from a server (e.g., using the server protocol). For example, the local server 152 can stream a media file 150 (e.g., a video or music file) from the case memory 122 to the media player 148.
In some embodiments, files can be created using the file management system 138. For example, the user interface 146 of the file management system 138 can be configured to receive user input associated with creating a new file. For example, the file management system 138 can access a camera 152 of the mobile electronic device 102 to create an image file or video file in response to input received from the user. In some embodiment, the file management system 138 can access the camera program of the mobile electronic device 102 (e.g., stored on the device memory 134) in to create an image file using the camera. For example, the file management system 138 can call the camera application programming interface (API) in response to user input for taking a picture or video.
The file management system 138 can be configured to store metadata for the files 140 and 142 (e.g., in response to the creation of the file). For example, the file management system 138 can generate and/or store metadata for files created using the file management system 138. In some embodiments, the file management system 138 can be running in the background (e.g., as a service of the operating system of the device on which the file management system 138 is running). The file management system 138 can be notified by the operating system or otherwise configured to recognize when a file is created or modified by another program, and the file management system 138 can generate and/or store metadata (e.g., in response to a file being created or modified by a program other than the file management system 138). The metadata can be stored as part of the files 140 and/or 142 themselves, or the metadata can be stored in metadata files (e.g., in the file database 144) that are associated with the files 140 and/or 142. The metadata can include one or more of the file location, the file type, the file creation time, one or more file edit times, the file version, the geographical location where the file was created, user activity information associated with the file, etc.
The metadata can include geographical location information. For example, the file management system 138 can be configured to communicate with a location sensor 154 (e.g., of the mobile electronic device 102) that is configured to provide geographical location information. For the example, the location sensor 154 can be a global positioning system (GPS) element. When a file 140 or 142 is created or modified, the file management system 138 can obtain geographic location information from the location sensor 154 and can store that geographic location information as metadata for the file 140 or 142 (e.g., stored in the file database 144).
The metadata can include user activity information. For example, the file management system can be configured to communicate with one or more activity sensors 156. The activity sensors 156 can be configured to provide user activity information (e.g., sleeping, running, driving, etc.). In some embodiments, multiple activity sensors 156 can provide data which can be analyzed to determine user activity information. An activity analysis element 158 can be included (e.g., as part of the file management system 138 or as a separate program, which can be configured to communicate with the file management system 138). The activity analysis element 158 can be configured to receive data from the one or more activity sensors 156 and determine user activity information based at least in part on the data received from the one or more activity sensors 156. For example, the activity sensors 156 can be included on the mobile electronic device 102 or on a wearable computing device (e.g., a smartwatch, smartband, necklace, ear piece, eyewear, etc.). In some embodiments, multiple activity sensors 156 on multiple devices can provide data to the activity analysis element 158. When a file 140 or 142 is created or modified, the file management system 138 can obtain user activity information from the activity analysis element 158 and/or the one or more activity sensors 156, and can store the user activity information as metadata for the file 140 or 142 (e.g., store in the file database 144). Various features relating to activity determination, which can be used in the systems and methods disclosed herein, are described in U.S. Provisional Patent Application No. 62/057,931, filed Sep. 30, 2014, and titled SYSTEM AND METHOD FOR ACTIVITY DETERMINATION, which is hereby incorporated by reference in its entirety and made a part of this specification for all that it discloses.
The metadata may also or alternatively include descriptive tags, or tags indicative of the context of the file. In some embodiments, the tags may be automatically applied to a file or suggested for a file, defined by or selected by a user, etc. For example, a mobile electronic device 102 may include a camera. A user of the mobile electronic device 102 can use a camera application to capture images and/or videos of particular subjects, such as people, places, events, and the like. Illustratively, the user may capture multiple (e.g., 2, 10, or more) images of a particular subject, such as a graduation party. Later the same day, the user may capture multiple images of a different subject, such as a sporting event. By tagging the images for each event accordingly (e.g., adding a tag to the photos from the graduation party indicating the graduation party at which the photos were taken; adding a tag to the sporting event photos indicating the sporting event at which the photos were taken), the user can later search for and retrieve photos for the specific event without necessarily knowing which date the event took place, that multiple events took place on the same day, etc. By way of example, the tags can be used to indicate a one-time event (e.g., a graduation party), to indicate an event that occurs over the source of multiple days (e.g., a vacation), to indicate a series of related events that occur on different days (e.g., Sally's soccer games), or to indicate a category of events (e.g., work-related events or family-related events). Conventional file management systems, and even image-specific file management systems, may organize images in various ways that make it difficult to locate files of only one of the two subjects. For example, conventional image management systems may organize files by date, and may therefore group the two different events together. As another example, a conventional image management system may organize files by geographic location, and may therefore group the graduation party images with other images taken at the same location at another time (e.g., not in connection with the graduation party).
FIG. 2B shows a mobile electronic device 102 displaying, on a visual display 124, an example user interface for adding tags to photos. A user may use a camera application (or some other application or service for capturing photos) on the mobile electronic device 102. The application may provide an option 200 for adding tags to past or future photographs, managing tags, etc. Returning to the example above, a user may be taking photographs for a graduation party. The user may add a tag to each of the photos that are taken at the party so that the user (or other users) may later conduct a search using the tag. Use of the tag in this way can help users more quickly find the photos taken at the party.
As shown, a user may have multiple options 202, 204, and 206 for adding tags. The options may be predefined by the camera application (e.g., the camera application may be programmed with a set of possible tags, such as “graduation,” “anniversary,” “birthday,” “holiday,” “vacation,” “work,” “family,” and the like). In some embodiments, users may be permitted to define their own tags instead of, or in addition to, using tags predefined by the camera application. For example, options 202 and 204 may be tag options provided by the camera application or previously added by the user, and option 206 may be an option to add a new tag. A user can select option 206 and enter the new tag in the text box 208. In some embodiments, the system can be configured to allow a user to input a new tag name by a voice command (e.g., by speaking the words “graduation party” into a microphone on the mobile electronic device 102).
In some embodiments, the camera application may automatically generate or recommend tags to the user. For example, the camera application may have access to the user's calendar (e.g., the mobile device 102 may have a calendar application), and can determine that there is a birthday party scheduled for the current date and time. In the example shown in FIG. 2B, the camera application may determine that the user is scheduled to attend both a graduation party and a sporting event. Option 202 may correspond to the graduation party, option 204 may correspond to the sporting event, and option 206 may correspond to a user-definable tag. The user may select option 202, and all photos taken with option 202 selected may be tagged with the graduation party tag.
Tagging a file can include adding metadata to the file, storing tag data in a separate database of file properties, storing the file in a certain location (e.g., a tag-specific drive or directory), etc. The tag data may be automatically generated by the camera application, the file management system 138, or some other module or component. The tag itself may be or include the name of the tag (e.g., for a file tagged with the “graduation party,” the tag that is added to the file metadata, stored in the database, etc. may be the words “graduation party”). In some embodiments, the tag may be an identifier of the tag, such as an integer that is uniquely associated with the particular tag. In some embodiments, the tag may be an encoded version of the tag name, or data derived therefrom. For example, the tag may be a hash of the tag name.
In some embodiments, tags may not be text-based, but may instead be audio and/or visual-based tags. For example, a user may tag photographs, documents, and the like with a voice memo, such as a brief spoken description of the associated files. The voice memo may be stored as a file or stream of audio data. The audio data may be embedded into the file or stored separately from the file and associated with the file in some way. For example, a user may speak into (or in the presence of) the microphone 128. Audio data generated by the microphone (or audio data generated using a signal generated by the microphone) may be stored in a data store on the mobile electronic device 102 or otherwise under the control of the file management system 138. As another example, the audio data may be stored at a network storage provider (e.g., a “cloud-based” storage provider) and referenced by metadata embedded into or associated with the file (e.g., a link to a location from where the audio data may be streamed). As yet another example, a spoken utterance made by a user for purposes of adding a memo-based tag may be processed using an automatic speech recognition (ASR) component or service to generate a textual representation of the utterance, such as a transcription of the utterance. The transcription may be embedded into tagged files, stored in association with tagged files, etc. In some embodiments, the textual representation of the utterance can be used for the name of the tag (e.g., “graduation party”).
Although the example described above with respect to FIG. 2B relates to tagging of photos, the example is illustrative only. Other types of files may also tagged and searched, such as music files, video files, slide shows, word processing documents, spreadsheets, text messages, emails, and the like.
The tags that are applied to or otherwise associated with files may be used to search, sort, organize, and otherwise manage files. In some embodiments, the file management system 138 may include a file searching element 192, described in greater detail below. The file search element 192 may allow a user to select or submit a tag to use in a file search, and the file search element 192 can locate files with (or associated with) tags that match or satisfy searches in some way. In some embodiments, the system can be used to assign more than one tag to a single image or other type of file (e.g., a photo can be assigned the tags “family” and “graduation party”), which can enable the user to perform searches at various levels of specificity. As also described in greater detail below, the file search element 192 or some other module or component of the file management system 138 can use tags to search for files across multiple devices, potentially belonging to or otherwise operated by different users. As long as the users used the same tag to tag files, the files may be found by searching for the tag regardless of the device on which they are stored.
In some embodiments, the file management system 138 can include a file sharing element 160. The file sharing element 160 can be configured to share files 140 and/or 142 with an external computing device 162 (e.g., a cell phone, a tablet computer, a laptop computer, a desktop computer, or a wearable computing device). In some embodiments, the external computing device 162 can include features similar to those discussed in connection with the mobile electronic device 102. The file sharing element 160 can be configured to communicate with the external device 162 wirelessly, such as via the wireless communication interface 136 (e.g., using one or more of WiFi, Bluetooth, Near Field Communication (NFC), etc.). In some embodiments, the file sharing element 160 can be configured to provide a link to a file 140 or 142 to the external device 162 (e.g., via the wireless communication interface 136). The file sharing element 160 can create a link (e.g., a hypertext transfer protocol (HTTP) link) to the file 140 or 142 to be shared. The link can be transmitted to the external computing device 162 in various manners, such as by a text message, an email, a NFC communication, etc. In some embodiments, the link may include encoded access information, such as an account or device identifier, a security token, or some other information that may be used to determine whether the requestor is permitted to access the linked file. For example, the link may include authentication and/or authorization information that the file sharing element 160 or some other module or component of the file management system 138 can use to enforce security policies with respect to sharing of the linked file. In some embodiments, the external computing device 162 can have a file management system 164 similar to the file management system 138 of the mobile electronic device 102. In some implementations, the file sharing element 160 can be configured to communicate the link via a communication channel between the file management system 138 on the mobile electronic device 102 and the file management system 164 of the external computing device 162.
The external device 162 can use the transmitted link to access the file 140 or 142 that is stored on the case memory 122 or on the device memory 134. In some embodiments, the file sharing element 160 can function as a server. For example, the file sharing element 160 can be configured to provide links to files 140 and/or 142 to an external device 162. A request from the external device 162 associated with a shared link can be received by the file sharing element 160. In response to the request received form the external device 162, the file sharing element 160 can extract any access information provided with the request (e.g., information appended onto the link or embedded within the link and provided to the file sharing element 160 in connection with the request). The file sharing element 160 can then verify that the user/device that is requesting access to the file is permitted to access the file, and provide the external device 162 with access to the file associated with the link. In some embodiments, the file sharing element 160 can transmit a copy of the requested file 140 or 142 to the external computing device 162. In some embodiments, the file sharing element 162 can transmit one or more portions of the requested file 140 or 142 to the external device 162. For example, in some embodiments, the file sharing element 160 can be configured to stream a video file, a music file, or other file type, to the external device 162. In some embodiments, the file sharing element 160 can share a single file 140 or 142 with multiple external devices (e.g., multi-user streaming). In some embodiments, the file sharing element 160 can provide the external device 162 with read-only access to the file. In some embodiments, the file sharing element 160 can receive information from the external device 162 and can modify the shared file 140 or 142 based at least in part on the information received form the external device 162. For example, the external device 162 can send a modified version of the file 140 or 142 to the file sharing element 160 and the file management system 138 can replace the file 140 or 142 with the received modified version thereof, or can modify the file 140 or 142 based at least in part on the modified version thereof.
In some embodiments, the file sharing element 160 can be configured to provide access to the file 140 or 142 without sending a copy of the file 140 or 142 to the external device 162. For example, in some embodiments, the file sharing element 160 can provide image information to the external device 162, and the image information can correspond to the file 140 or 142. In some implementations, the image information can be based at least in part on the image that would be displayed on the display 124 if the file were accessed by the mobile electronic device 102. By way of example, if the shared file 140 or 142 is a text file, the file sharing element 160 can generate an image file of the image that would be displayed on the display 124 if the text file 140 or 142 were opened on the mobile electronic device 102. The image file (or a modified version thereof) can be transmitted to the external computing device 162 for display. Thus, the image displayed on the external computing device 162 can show the formatting of the text, without transmitting the text file itself to the external computing device 162. Other file types (including video files, image files, audio files, etc.) can be similarly hosted by the mobile electronic device 102 to provide the external computing device 162 with access to the files. In some embodiments, audio information that corresponds to the shared file can be transmitted to the external computing device 162 from the file sharing element 160 (e.g., in addition to or instead of the image information discussed above).
By hosting the file on the mobile electronic device 102, the external device 162 can access files 140 and/or 142 on the mobile electronic device 102 which are not themselves compatible with the external computing device 162. Thus, the file sharing element 160 can enable file sharing across different platforms (e.g., between the iOS operating system used by Apple, the Android operating system, the Windows operating system, etc.). For example, in some embodiments, the mobile electronic device 102 can operate on a first platform (e.g., iOS) and the external computing device 162 can operate on a second platform (e.g., Android). A file 140 or 142 can be compatible with the first platform, but not compatible with the second platform. Thus, merely transferring a copy of the file 140 or 142 to the external device 162 may not enable the user of the external device 162 to access the file 140 or 142. The file sharing element 160 can host the file 140 or 142 on the mobile electronic device 102 and can send data (e.g., image and/or audio information) that corresponds to the file 140 or 142 to the external device 162. Thus, the user of the external device 162 can be provided with access to the file 140 or 142 without opening the file on the external device 162.
In some embodiments, the hosted file data (e.g., image information and/or audio information) sent by the file sharing element 160 to the external device 162 can be tailored to the external device 162. For example, the file sharing element 160 can output the data in a format that is compatible with the external computing device 162. Thus, the file sharing element 160 can provide different data depending on the type of the external device 162 (e.g., an iOS platform, an Android platform). In some embodiments, the resolution of the image information transferred by the file sharing element 160 can be based at least in part on the type of the external device 162 (e.g., based on the resolution of the display of the external device 162). In some embodiments, the external device 162 can send information relating to the type of the external device 162 to the file sharing element 160. For example, when the external device 162 requests a file 140 or 142 (e.g., via a link sent from the file sharing element 160), the request can include information relating to the type of the external device 162. In some embodiments, the external device 162 (e.g., the file management system 164 thereof) can modify the hosted file data received from the file sharing element 160 (e.g., to change the format or resolution thereof).
In some embodiments, the file sharing element 160 may communicate (or cause communications) with the external device 166 using a display-based communication protocol that specifies mechanisms for transmitting bitmap presentations of visual display updates and encoded graphical user interface input via a network. Illustratively, the file sharing element 160 may provide a view of a file using Remote Desktop Protocol (RDP), X-Windows protocol, Virtual Network Computing (VNC) protocol, Remote Frame Buffer (RFB) protocol, or the like. In one illustrative example, the file sharing element 160 can receive user input information from the external device 162, and can adjust the hosted file data (e.g., image and/or sound information) that is sent to the external device 162 based on the user input information. Examples of user input include scrolling down in a text document, zooming in or out of the image file, pausing a video file, muting the audio in a video file, changing the treble or base audio elements in a music file, etc. The external device 162 can receive user input (e.g., via a touchscreen, voice command, etc.). The user input data can be sent to the file sharing element 160 (e.g., via the wireless communication interface 136). The file sharing element 160 can interpret the received user input data and can take action based on the received user input data. For example, the user input data can include a location of a touch on a touchscreen of the external device 162, and the file sharing element 160 can map the location of the user input data to a corresponding location on the touchscreen display 124 and can take action that is associated with a touch at the corresponding location of the touchscreen 124. By way of example, a user of the external device 162 can touch the portion of the display on the external device 162 that is displaying the portion of the image data corresponding to a virtual button, and the mobile electronic device 102 can respond by taking the action associated with the virtual button. In similar manner, the user of the external device 162 can provide input that causes the mobile electronic device 102 to take various actions. In some cases, the external device 162 can have read-only access to the files 140 and/or 142. In some implementations, input received by the external device 162 can be used to edit files 140 and/or 142 on the mobile electronic device 102, and in some cases to save modified versions of the files 140 and/or 142.
In some embodiments, the file sharing element 160 can be configured to translate files 140 and/or 142 to a different format (e.g., to be compatible with the external device 162 with which the files 140 and/or 142 are being shared). For example, a request from the external device 162 for a file can include an indication of the type of the external device 162 (e.g., iOS platform or Android platform). If the requested file 140 or 142 is not in a format that is compatible with the external device 162, the files sharing element 160 can modify the requested file 140 or 142 or produce a new modified version of the file 140 or 142 that is compatible with the external device 162, which is then shared with the external device 162. By way of example, the mobile electronic device 102 can have a first platform (e.g., iOS) and can have contact files (e.g., with information relating to one or more of the contacts' names, phone numbers, email addresses, home addresses, etc.) that are in a format compatible with the first platform. The external device 162 can have a second platform (e.g., Android) that uses contact information of a different format that is compatible with the second platform. To share a contact file from the mobile electronic device 102 (e.g., which uses the first platform) to the external device 162 (e.g., which uses the second platform), the file sharing element 160 can produce a new or modified file that is compatible with the second platform. The file sharing element 160 can extract the contact data out of the original file in the original format, and can produce a new or modified contact file from the extracted data that is in a format compatible with the external device 162. The new or modified contact file can be shared with (e.g., transmitted to) the external device 162, which can read the new or modified file, which is in the format that is compatible with the external device 162. Various data conversion techniques can be used to change data from various file formats to another different file formats. The file sharing element 160 can be configured to convert the format of various types of file, including text message files, contact files, image files, video files, document files, etc.
In some embodiments, the receiving device can perform the format conversion (e.g., similar to the format conversion discussed above). Thus, in some cases, a file 140 or 142 can be shared with the external device 162, and the external device 162 can produce a new file or a modified version of the file that is in a different format that is compatible with the external computing device 162.
In some embodiments, the file database 144 can store data in a platform-generic format, or in a format from which platform-specific files can be extracted, generated, etc. For example, the file sharing element 160 can be configured to extract data from a file of a platform-specific format and to save the extracted data in platform-generic format (e.g., in the file database 144). In some embodiments, the file sharing element 160 can be configured to extract the data and provide it in a platform-generic format. When data is to be shared from the mobile electronic device 102 to the external computing device 162, the platform-generic data can be converted to a format that is compatible with the external device 162, or the platform-generic data can be shared with the external device 162, which can convert the data to a file format that is compatible with the external device 162. In some embodiments, the file management system 164 of the external device 162 can be configured to receive and utilize the platform-generic data without converting it to a different format.
In some embodiments, the file management system 164 of the external device 162 can include a file sharing element, which can be similar to the file sharing element 160, and files from the external device 162 can be shared with the mobile electronic device 102 (e.g., similar to the techniques discussed above).
In some embodiments, the file sharing element 160 can be configured to share a plurality of files 140 and/or 142 with the external device 162, and the external device 162 can be used to manage the files 140 and/or 142 that are stored on the case memory 122 and/or on the device memory 134 using the external device 162. In some embodiments, the external device 162 can be a laptop computer or a desktop computer, which in some cases can be better equipped to enable a user to manage a large number of files 140 and/or 142.
Many variations are possible. For example, the file management system 138 can communicate with the external device 162 via a wired connection (e.g., a cable engaged with the power input interface 110) instead of the communication interface 136. Various elements described in connection with the file management system 138 can be separated into one or more additional components, and in some cases can be implemented in a separate device. For example, the activity analysis element 158 can be incorporated into a wearable computing device and can be configured to transmit user activity data to the mobile electronic device 102.
In some embodiments, the mobile electronic device 102 can be configured to communicate with an external storage device 166. In some embodiments, the external storage device can include a file management system 168, which can include features similar to those discussed in connection with the files management system 138 of the mobile electronic device 102.
FIG. 3 shows an example embodiment of an external storage device 166, which can be used with the mobile electronic device 102. Although the case 100 is not shown in FIG. 3, the external storage device 166 can be used with the mobile electronic device 102 with or without the case 100 attached thereto. The external storage device 166 can include a housing 170, which can support or enclose various other components of the device 166. The external storage device 166 can include a battery 172. The battery 172 can be rechargeable. A power input interface 174 can be configured to provide electrical power to the battery 172 (e.g., for recharging the battery 172). The power input interface 174 can be similar to the power input interface 110 discussed in connection with the case 100. The power input interface 174 can include a port configured to receive an electrical plug, or can be configure to receive electrical power wirelessly (e.g., via inductive charging). The power input interface 174 can also send or receive data (e.g., via a cable coupled to the port).
The battery 172 can be configured to provide electrical power to a power output interface 176. The power output interface 176 can be similar to the power output interface 112 discussed in connection with the case 100. The power output interface 176 can include a port configured to receive an electrical plug 178, or can be configured to perform wireless charging (e.g., via inductive charging). In some embodiments, the power output interface 176 can include an electrical plug (e.g., that is configured to engage the power input interface 110 or 116. The power output interface 176 can be configured to send or receive data (e.g., via a cable coupled to the port). In some embodiments, an electrical cable 180 can be used to transfer electrical power and/or data between the external storage device 166 and the mobile electronic device 102 and/or case 100. In some implementations, electrical plugs 178 and 182 can be positioned at the ends of the cable 180. In some embodiments, a single port on the external storage device 166 can receive electrical power and can output electrical power.
The battery 172 can be electrically coupled to various components of the external storage device 166, and the battery 72 can provide electrical power to operate the various components. In some embodiments, the battery 172 can output electrical power (e.g., via the power output interface 176) to another device (e.g., to the mobile electronic device 102 and/or the case 100). Thus, the external storage device 166 can be used to recharge the battery 114 of the mobile electronic device 102, or the battery 108 of the case, or batteries on various other devices.
The external storage device 166 can include a controller 184. The controller 184 can include one or more computing devices (e.g., computer processors). The controller 184 can be implemented using one or more general purpose computer processors, which can be configured to execute computer-executable instructions (e.g., stored on memory 186) to implement various features and processes discussed herein (e.g., to implement features of the file management system 168). In some embodiments, the controller 184 can include one or more specialized computing devices (e.g., integrated circuits) which can be configured to implement various features and processes disclosed herein.
The external storage device 166 can include memory 186, which can include non-transitory computer-readable storage (e.g., flash memory, a hard disc, etc.). In some embodiments, the memory 186 can store computer-executable instructions, which can be executed by one or more computing devices (e.g., the controller 184) to implement various features and processes discussed herein. The memory 186 can also be used to store files (which can be made accessible to the mobile electronic device 102 and/or to one or more other devices).
The external storage device 166 can include a wireless communication interface 188, which can be configured to communicate wirelessly with other devices (e.g., via WiFi, Bluetooth, NFC, etc.). The wireless communication interface 188 can be used to transfer files, links to files, metadata, other data relating the files that are stored on the memory 186 (e.g., to the mobile electronic device 102 and/or to other electronic devices). In some embodiments data can be transferred via a wire connection (e.g., via the cable 180). In some embodiments, the external storage device 166 can be used as a central storage location for multiple users. In some embodiments, files can be transmitted in parts (e.g., streaming a video) such that access to the file can begin with little to no delay. In some embodiments, the external storage device 166 can use multiple communication protocols. For example, the external storage device 166 can use Bluetooth to communicate with devices within a first range, and WiFi to communicate with devices within a second range that is larger than the first range. In some embodiments, the external storage device 166 can include or can be in communication with a router device (e.g., a 4G router) to enable the external storage device 166 to communicate with remote devices.
In some embodiments, the wireless communication interface 188 may provide multiple (e.g., two or more) distinct communication modes, such as a first or “normal power” mode and a second or “low power” mode. One example of a multi-mode wireless communication interface is a device implementing the Bluetooth 4.0 (or later) standard. Such a device can provide a “classic” Bluetooth communication mode and also a Bluetooth Low Energy (“BLE”) mode. As used herein, the terms “low power” and “normal power” are relative terms, and the range of modes and/or devices described using the terms may overlap to some degree. In addition, many “normal power” modes or devices may consume or require much less power than certain other modes or devices. Generally described, the “low power” devices and modes of the present disclosure consume or require less power than the “normal power” devices and modes of the present disclosure.
A multi-mode wireless communication interface 188 may use a normal-power mode to transfer data, such as files managed by the file manager system 168 described herein. The wireless communication interface 188 may use a low-power mode to advertise the availability of the external storage device 166 for connection and use. The wireless communication interface 188 may use a lower-power mode to receive a communication (e.g., a request for data) from another device (e.g., mobile electronic device 102). Illustratively, the external storage device 166 (or certain components thereof, such as the controller 184) may enter a “sleep” mode or some other low- or no-power mode when not in use, such as when the external storage device 166 is not providing power, data, or other resources or functionality to any mobile electronic device 102. As described in greater detail below with respect to FIGS. 6 and 7, the external storage device 166 may still be able to communicate with a mobile electronic device 102 even when the external storage device 166 is in the sleep mode. A mobile electronic device 102 may provide a notification or indication to the external storage device 166 that the mobile electronic device 102 would like to, e.g., transfer a file to or from the external storage device 168. The notification or indication may be provided to the wireless communication interface 188 using an appropriate communications protocol for the low-power mode. The wireless communication interface 188 (or a separate microcontroller in communication therewith, such as a low-power microcontroller) may then cause the primary controller 184 and/or other components of the external storage device 166 to “wake up” or otherwise resume normal operations so that the mobile electronic device 102 can transfer files to or from the external storage device 166. The file transfers may then be conducted using the normal-power mode of the wireless communication interface 188.
In some embodiments, an external storage device 166 may include multiple (e.g., two or more) distinct wireless communication interfaces, rather than a single multi-mode wireless communication interface 188. For example, one wireless communication interface may be a low-power microcontroller (“MCU”) with integrated low-power wireless communication capabilities, such as BLE, or which otherwise has access to low-power wireless communication capabilities. A second wireless communication interface may be exclusively or primarily a normal-power communication interface, such as a wireless communication interface integrated with or otherwise utilized by the main or primary controller 184 of the external storage device 166. The low-power communication interface can manage communications with mobile electronic devices 102 (or other electronic devices) while the primary controller 184 and/or other components of the external storage device 166 are in sleep mode. The low-power communication interface can then cause the primary controller 184 and/or other components of the external storage device 166 to wake up and communicate with mobile electronic devices 102 via the normal-power communication interface.
The external storage device 166 can include a user interface 190, which can be similar to the user interface 118 discussed in connection with the case 100. The user interface 190 can be configured to receive input from a user (e.g., a command to transfer electrical power, such as via the power output interface 176, or a command to indicate am amount of charge for the battery 172. The user interface 190 can output information to the user (e.g., the amount of charge remaining for the battery).
The external storage device 166 can include a file management system 168, which can have one or more of the features disclosed in connection with the file management system 138. For example, the external storage device 166 can include a file sharing element, which can be similar to, or the same as, the file sharing element 160 disclosed in connection with the device 102. The disclosure relating to the file sharing element 160 is applicable to the files sharing element of the external storage device 166 and is not repeated here for sake of brevity. The external storage device 166 can provide links to files stored in the memory 186 to the device 102 and/or to other devices. The external storage device 166 can receive requests associated with the provided links and can share, or otherwise provide access to, files that are related to the requests (e.g., similar to the discussion herein relating to the file sharing element 160. The external storage device 166 can be configured to host requested files and provide data (e.g., image and/or audio information) associated with the hosted files, as discussed herein. In some embodiments, the file sharing element of the external storage device 166 can share a single file with multiple external devices (e.g., multi-user streaming).
In some embodiments, the file sharing element of the external storage device 166 can be configured to translate files stored in the memory 186 to a different format (e.g., to be compatible with the mobile electronic device 102, or other receiving device), similar to the discussion above in connection with the file sharing element 160. In some embodiments, the receiving device can perform the format conversion. In some embodiments, the external storage device 166 can be configured to provide and/or store data in a platform-generic format, similar to the discussion above in connection with the file management system 138.
In some embodiments, a local server 152 (e.g., on the mobile electronic device 102 or on the external storage device 166) can be used to present files that are stored on the memory 186 of the external storage device 166 to the media player 148 of the mobile electronic device 102, similar to the discussion above.
FIG. 4A shows various features of an example embodiment of the case 100. FIG. 4B shows various features of another example embodiment of the case 100. Electrical power can be delivered to the battery 108 from the power input interface 110 (e.g., when the power input interface 110 is coupled to a power source). The electrical power can be routed through a battery management system, which can be configured to route electrical power (e.g., received from the power input interface 110) to the case battery 108 and/or to the power output interface 112 (e.g., for relaying the electrical power to the mobile electronic device 102 (e.g., for recharging the battery 114). Electrical power from the battery 108 can be directed (e.g., by the battery management system) to the power output interface 112 (e.g., for recharging the battery 114 of the mobile electronic device 102). Data can be communicated between the power input interface 110, the power output interface 112, the controller 120, and the memory 122. Data can be communicated between the power input interface 110 and the power output interface 112, which can enable an external device, such as a computer that is coupled to the power input interface and the mobile electronic device 102 that is coupled to the power output interface 112 to communicate with each other. Data can be communicated between the power input element 110 and the components of the case 100 (e.g., the memory 122 and the controller 120), which can enable the case and an external device (e.g., a computer) attached to the power input interface to communicate with each other. Data can also be communicated between the power output interface 112 and the components of the case 100 (e.g., the memory 122 and the controller 120), which can enable the case 100 and the mobile electronic device 102 to communicate with each other. Many variations are possible.
In some embodiments, a first type of wireless communication (e.g., NFC) can be used to establish a connection or authorization between two devices, and a second type of wireless communication (e.g., WiFi) can be used to transfer files and other data between the two devices. The first type of wireless communication can have a shorter range than the second type of wireless communication. For example, NFC can have a relatively short range of communication (e.g., generally only a few centimeters), thus NFC communication can be used to establish authorization to share files between two devices. Because NFC communication generally requires that the two devices be placed in very close proximity to each other (e.g., touching), the use of NFC to establish sharing authorization can reduce the chance that sharing authorization is unintentionally provided to a device. However, because NFC has a relatively short range, a different type of wireless communication (e.g., WiFi or Bluetooth, etc.) can be used to transfer files and data between the two devices, thereby enabling file sharing between authorized devices when they are outside the range of NFC.
By way of example, the external device 162 can be brought into close enough proximity of the mobile electronic device 102 for an NFC connection between the devices 102 and 162. The file management system 138 can store an indication that the external device 162 is authorized for file sharing. Files 140 and/or 142 can then be shared with the external device 162 (e.g., via a different type of wireless communication such as WiFi, Bluetooth, etc.). In some cases, the external device 162 can store an indication that the mobile electronic device 102 is authorized for sharing, and the external device 162 can share files with the device 102 (e.g., via WiFi). By way of another example, the mobile electronic device 102 can be brought into close enough proximity to the external storage device 166 to establish an NFC connection between the mobile electronic device 102 and the external storage device 166. The mobile electronic device 102 and/or the external storage device 166 can store an indication that the other device is authorized for file sharing, and files can be shared via a different non-NFC wireless communication protocol. In some embodiments a user interface can enable the user to specify the files that are authorized for sharing. In some embodiments, the authorization can last for an amount of time and can expire. In some embodiments, multiple devices can have file sharing authorization at the same time.
With reference again to FIG. 2A, the file management system 138 can include a file searching element 192. The searching element 192 can be configured to search for files that are located on the device memory 134, on the case memory 122, on an external computing device 162, and/or on an external storage device 166. The search element 192 can receive a query, which can include text. The query can be inputted by a user (e.g., via the touchscreen display 124, via the user input elements, via a voice command, etc.). The search element 192 can be configured to parse the query and identify parts of the query that relate to different categories of data, and the search element 192 can perform the search based on the different portions of the query that relate to different categories of data. Fuzzy logic, natural language understanding, and other such techniques can be used to parse a query. For example, the search can be based on one or more of the following categories of data: file/notification type, action type, time information, geographic location information, and user activity information. The searching can include searching the metadata of files to identify files that fit the query. For example, the query “show me all text messages I received while driving yesterday” can be parsed into various components. The file/notification type can be “text messages.” The action type can be “received.” The time information can be “yesterday.” The user activity information can be “driving.” The file searching element 192 can then identify all the files that satisfy the query (e.g., by searching the metadata). This example, query could enable a user to quickly identify a text message that was missed while driving even if the user does not know who it was from or exactly when it was received. By way of another example, the query “show me all photos that I took in Europe last year” can be parsed so that the file/notification type is “photos,” so that the action type is “taken,” so that the geographic location information is “in Europe,” and so that the time information is “last year.”
In some embodiments, the query may include tags that the user would like to use when searching. For example, as described above with respect to FIG. 2B, a user may take photographs at a graduation party, and may tag the photos accordingly (e.g., by selecting or creating a “graduation party” tag before or after taking pictures). When searching for tagged items, the user may simply search for the tag, or provide other search terms and options (e.g., dates, times, locations, etc.). The searching element 192 can search the device memory 134, case memory 122, memory on an external computing device 162 and/or external storage device 166, etc. for files with tags matching (or substantially matching) the queried tag.
FIG. 5A shows an example network environment in which files can be searched and shared across multiple (e.g., two or more) devices. Various combinations of external storage devices 166a and 166b, mobile electronic devices 102a and 102b, and cases 100 can communicate with each other via one or more communication networks 410 and 420. One or both of the networks may be a publicly accessible network of linked networks, possibly operated by various distinct parties, such as the Internet. In other embodiments, one or both of the networks 410 and 420 may include a private network, personal area network, local area network, wide area network, cable network, satellite network, cellular telephone network, etc. or combination thereof, each with access to and/or from the Internet. For example, network 410 may be a WiFi-based local area network, such as a local area network implemented in a home or office. The network 410 may be provided by various network computing components, such as routers, wireless access points, and the like. As another example, the network 420 may be a mobile device network, such as a fourth-generation (4g) cellular phone network, or the network 420 may be the Internet.
A user of any of the various devices 166a, 166b, 102a, 102b, and/or 100 may use a file management system, such as one of the file management systems described herein, to search for files on any one or more of the various devices 166a, 166b, 102a, 102b, and/or 100. For example, a user of device 102a may initiate a search query, which may include search terms, tags, and/or other search options. A file management system 138 executing on device 102a may search memory 134 of the device 102a for files that match the terms, tags, and other search options. The file management system 138 may also search for files, on the external storage device 166a, matching the terms, tags, and other search options. To perform such a search, the file management system 138 on the device 102a may establish communications with the external storage device 166a via the network 410. The file management system 138 can transmit search parameters (search terms, tags, and/or other search options) to the external storage device 166a, and a file management system 168 executing on the external storage device 166a can perform the search and return any matching files (or data regarding any matching files) to the device 102a. In some embodiments, the file management system 138 on the mobile electronic device 102a may perform the search for files on the external storage device 166a, rather than a separate file management system 168 on the external storage device 166a. For example, the file management system 138 on the mobile electronic device 102a may have access to information about files on the external storage device 166a obtained via periodic or dynamic synchronization procedures during which various devices exchange information about their stored files.
The file management system 138 may also use the search parameters to search for files on other devices connected to the network 410, such as external storage device 166b, case 100, etc. In addition, the file management system 138 may use the search parameters to search for files on other devices connected to a different network, such as network 420. As described above, network 410 may be a WiFi-based local area network, such as home or office network. The mobile electronic device 102a may use a different network connection, such as cellular telephone network 420 to connect to mobile electronic device 102b. The mobile electronic device 102a may search for files on the other mobile electronic device 102b in a manner similar to that used to search for files in the external storage device 166a, described above. Illustratively, the mobile electronic device 102a may use both network connections currently, or in response to a single search request.
The file management system 138 may determine which devices to include in the search based on device grouping configuration information, dynamic device discovery, etc. For example, one or more users may define a device group that includes a specified set of devices, such as the devices 166a, 166b, 102a, 102b, and/or 100 shown in FIG. 5A. The mobile device 102a may then search the memory or other file storage of each of those devices (or some subset thereof) in response to search requests. In some embodiments, the mobile device 102a may use a default contact method, such as attempting to contact a device over a local area network first. If that contact method fails, the mobile device 102a may use a secondary contact method, such as attempting to contact the device over a cellular telephone network and/or the Internet. In addition, or alternatively, file management system 138 may dynamically discover devices on which to search for files. For example, the file management system 138 of mobile electronic device 102a may determine which devices are currently accessible via the local area network 410, and may transmit search queries to those devices. The example search methods and configurations described and shown are illustrative only, and are not intended to be limiting. In some embodiments, additional and/or alternative search methods and configurations may be used.
The file management system 138 can present search results from multiple devices seamlessly, such that the user is shielded from the underlying device on which each search result is stored. For example, a user may search images tagged with the “graduation party” tag described above. Rather than just searching for images on the user's own device 102a, or on an external device 166a to which the user may have stored the images, the user can instead search for images on any device that is reachable via a network connection. If other users on the same local area network, or in the same device group configuration, have images tagged “graduation party” stored on their devices, such images may be returned to the user searching from device 102a, even though the user of device 102a may not have taken the images, tagged the images, known where the images where stored, or even known that the images existed prior to conducting the search.
FIG. 5B shows an illustrative example of seamless cross-device searching and file sharing. As shown, users 450 and 452 may have mobile electronic devices 460 and 462 respectively (e.g., mobile electronic devices 102 or devices in cases 100, described above). The users 460 and 462 may be in close proximity, such as in a home 400, and may therefore be connected to the same WiFi-based local area network. In addition, there may be an external storage device 464 that is also connected to the local area network. The external storage device 464 or the local area network may be connected to or in communication with a second network 420, which may be a cellular telephone network or the Internet. A third user 456 with mobile electronic device 466 may be outside the home 400. The mobile electronic device 466 of the third user 456 may not be connected to or in direct communication with the local area network of the home 400, but my instead be connected to or in communication with the network 420.
User 456 may initiate a search for tagged files. Illustratively, the user 456 may initiate a search for files tagged with the “graduation party” tag described above. The file management system 138 on the user's device 466 can initiate searching for images within memory of the user's device 466, and also images on devices 460, 462 and 464, even though one or more of those devices may not necessarily be connected to the same network 420 as the third user's device 466. The file management system 138 may present results to the user, and the user may interact with the results without regard to the particular device on which any given image file may be stored. For example, the user 456 may define a slide show of images tagged with the “graduation party” tag. The slideshow may include images from multiple different devices 460, 462, 464, and/or 466, devices connected to different networks (e.g., the local area network of the house 400 and/or a cellular telephone network 420), etc. The user 456 may initiate playback of the slide show from outside of the home 400, and the mobile electronic device 466 can access image files on one or more other devices 460, 462, and/or 464 as needed via the cellular phone network 420, the external storage device 464, and the local area network of the home 400. Subsequently, the user 456 may enter the home 400 and initiate playback of the slide show. The device 466 may in this case access images files on the other devices 460, 462, and/or 464 as needed via the local area network of the home 400. The slideshow may continue to work even if one or both of the other devices 460 and/or 462 is no longer in the home 400, as long as the user devices 460 and/or 462 is accessible via some other network, such as the cellular network 420.
Although the example described above with respect to FIG. 5B focuses on the use of seamless cross-device searching and sharing of files, the example is illustrative only, and is not intended to be limiting. In some embodiments, a user may search for, access, and share any other type of file. For example, the third user 456 may define a playlist of music, and individual songs on the playlist may be stored as individual files on any number of different computing devices. The user 456 may then start playback of the playlist on device 466, and music files from mobile devices 460 and 462 and/or external storage device 466 may be accessed and played on device 466 as needed. In addition, the user 456 may initiate playback of the playlist regardless of which network connection or connections are currently available to the mobile electronic device 466 as long as the various other devices 460, 462, and/or 464 are accessible to the device 466 via some network.
In some embodiments, files may be stored only once for all devices 460, 462, 464 and/or 466 of a group, even if multiple users have initiated storage of their own copies of a given file. For example, the storage provided by the combination of devices 460, 462, 464 and/or 466 of a given group may be allocated by a file management system 138 (or multiple file management systems executing on different devices) on an as-needed basis group-wide, rather than a device-specific, user-specific basis. Therefore, if first user 450 stores a file on external storage device 464 (or some other device, such as mobile electronic device 460), a subsequent user that initiates storage of an identical file will instead be associated with the file stored by the first user 450. For example, the file management system 138 executing on a second user's device 462 may determine whether an identical copy of the file has been stored on any other device of the group of devices and, if so, the file management system can store metadata indicating the location and identity of file in lieu of storing a duplicate copy of the file.
In some embodiments, tags may be used to determine which users may access shared files. For example, the first user 450 may store a particular file on the external storage device 464, but may not wish to have the file available to any and all users associated with the group. The first user 450 may add a tag to the file (as described above) linking the tag to a particular subset of users, such as a “personal” tag indicating that the file is not to be shared with any other user or device (in which case the file may be stored on the user's specific device 460 by default), a “public” tag indicating that any user or device of the group may access the file, a “home” tag indicating that only members of the user's household may access the file, etc.
Returning to FIG. 2A, a search query can also include information regarding one or more actions to be performed on the results. For example, the user can provide input to “delete all contacts that were modified last week,” and the query can be parsed to have a file/notification type of “contacts,” an action type of “modified,” and time information of “last week.” The query can also be parsed to identify that the action to be performed on the identified files is “delete.” The time information can be a specific time, or a range of times. The geographic location can be specific location or a more general area. In some embodiments, the file searching element 192 can provide additional information that is determined to be relevant to the submitted query. For example, the user can submit a query of “how was my sleep last night?” The file searching element 192 can parse the query and provide an appropriate response, such as “You slept for 7 hours and the score of your sleep was 85%.” The file searching element 192 can access an appropriate program for computing the sleep score, or the file searching element 192 can be configured to make this determination itself. The file searching element 192 can also provide additional information or questions, such as “would you like to see how well your sleep compares to the national average?” or “would you like to see how well your sleep compares to your friends?” The search techniques discussed above can be used for searching files on a computer and for searching for files on the internet as well.
Various embodiments disclosed herein can relate to wearable computing devices, such as those discussed in PCT Patent Application No. PCT/US2014/045549, filed Jul. 7, 2014, and titled METHOD AND SYSTEM FOR COMMUNICATIVELY COUPLING A WEARABLE COMPUTER WITH ONE OR MORE NON-WEARABLE COMPUTERS, which claims the benefit of U.S. Provisional Patent Application No. 61/845,316 (the “'316 Application”), filed Jul. 11, 2013, and titled METHOD AND SYSTEM FOR COMMUNICATIVELY COUPLING A WEARABLE COMPUTER WITH ONE OR MORE EXTERNAL COMPUTERS, both of which are hereby incorporated by reference in their entirety and made a part of this specification for all that they disclose. As described herein and in the '316 Application, wearable computing devices can be used to determine user activity information. The mobile electronic device 102 and/or the wearable computing device can take action based at least in part on the determined user activity. For example, if a determination is made that the user is driving, the user's electronic calendar can be consulted and the device can present or offer to present driving directions to the location of the next appointment in the calendar.
When the determination is made that a user has stopped an activity, the mobile electronic device 102 and/or the wearable computing device can provide the user with a summary of the activity that was stopped. For example, if the determination is made that the user was running and has now stopped, the device can inform the user with information about the run (e.g., of how far the user ran, the average speed, the improvement over one or more prior runs, a map of the run, etc.). In some instances, the device can make an inquiry to the user of whether the user has completed the run or has merely stopped temporarily (e.g., to stretch). By way of another example, when the determination is made that the user was sleeping and is now awake, the mobile electronic device 102 and/or the wearable computing device can provide the user with a summary of the user's sleep (e.g., number of hours, score of the estimated quality of sleep, etc.). In some instances, the device can make an inquiry to the user of whether the user is finished sleeping or has only awoken temporarily (e.g., to use the bathroom). In some embodiments, the mobile electronic device 102 and/or the wearable computing device can stop delivering notifications to the user, or can change the notifications, during the time that the user is asleep (e.g., as discussed in the '316 Application). In some embodiments, when the user wakes up, the mobile electronic device 102 and/or the wearable computing device can provide notifications to the user that were suppressed while the user was sleeping.
In some embodiments, the activity analysis element 158 can conduct analysis on the activities of the user and can recommend modifications in the user's behavior. For example, by analyzing the user's sleep patterns, the activity analysis element 158 can determine that when the user goes to sleep within less than one hour after finishing a run, the user's sleep quality is lower than when the user finishes running at least two hours before going to sleep. The mobile electronic device 102 and/or the wearable computing device can provide a recommendation that the user's schedule be changed so that the user can go running earlier in order to improve the user's quality of sleep. In some embodiments, the activity analysis can include information from a plurality of individuals and in some cases can analyze user activity data on a macro scale. For example, analyzing the user activity data could determine what activities are commonly performed during the time prior to a heart attack. In the event that the user activities for an individual user indicate a risk of heart attack, the mobile electronic device 102 and/or the wearable computing device can provide a notification to the user (e.g., a warning or recommendation to change behavior).
Various embodiments disclosed herein relate to systems and methods relating to building automation (e.g., home automation). For example, one or more rooms can include sensors that are configured to sense the presence of a user in the room. The user can be wearing a wearable computing device (e.g., a smartwatch), that can communication wirelessly with the sensors. In some embodiments, the one or more sensors can determine whether a user wearing a compatible wearable computing device is present. In some embodiments, the mobile electronic device 102 and/or the wearable computing device is configured to determine a location of the user (e.g., by communicating with the one or more sensors in the one or more rooms). A building automation system can be configured to change parameters of a room in response to the presence of a user. For example, user preferences can be stored in one or more computer-readable memory devices, and the building automation system can include a controller (e.g., including one or more computing devices) that is configure to access the user's preferences from the one or more memory devices and to implement changes based on the user preferences. For example, the building automation system can chance the brightness of the lights, the temperature of the room, the volume of a media device, etc. If multiple users are present the preferences for a dominant user can be used, or the preferences of the users can be averaged, or combined using a weighted algorithm.
In some embodiments, the building automation system can be configured to change parameters of a room based at least in part on the user activity information (e.g., determined using the wearable computing device). For example, if the user is sleeping, the building automation system can turn the lights in the room down or off, and can turn a media device off, or turn the volume down. By way of another example, if the user activity is determined to be running on a treadmill, the building automation can lower the temperature of the room. Many variations are possible.
FIG. 6 shows example interactions and data flows between a mobile electronic device 102 and an external storage device 166. The mobile electronic device 102 and external storage device 166 may be similar or identical in many respects to the mobile electronic device 102 and external storage device 166 described above. As shown in FIG. 6, the external storage device 166 may have a main or primary controller 184, wireless communication interface 188, and a low-power wireless communication interface 198. The low-power wireless communication interface 198 may have an integrated MCU, or it may be in communication with a separate low-power MCU (not shown).
The mobile electronic device 102 may also have a wireless communication interface 136. Illustratively, the mobile electronic device 102 and external storage device 166 may communicate wirelessly using various wireless standards and protocols. Although the examples described below focus on the use of Bluetooth and BLE, these examples are illustrative only and are not intended to be limiting. In some embodiments, the mobile electronic device 102 and external storage device 166 may communicate using other wireless standards, protocols, and technologies, such WiFi, 4G LTE, Bluetooth, ZigBee, Ant, and the like.
The external storage device 166 may be in a low-power or “sleep” state, or it may be in a normal-power or “wake” state, depending upon current operating conditions. For example, the default state of the external storage device 166 may be the sleep state when it is not providing power, communications, or other features to mobile electronic devices (or to other computing devices). In this way, the external storage device 166 can minimize the use of its battery power. However, even though the external storage device 166 may be in the sleep state, the low-power wireless communication interface 198 may remain active and capable of communicating with other devices. For example, if the low-power wireless communication interface 198 is configured to communicate using BLE, then it may advertise its availability to nearby electronic devices at (1). This advertisement can consume substantially less battery power than would be required by the wireless communication interface 188 to advertise availability or remain ready for communication using classic Bluetooth.
At (2), a nearby mobile electronic device 102 in receipt of such an advertisement may notify the external storage device 166 that it would like to connect to the external storage device 166 (e.g. open and maintain a wireless communication channel, rather than exchange advertisements, notification, indications, and the like). For example, a user of the mobile electronic device 102 may wish to access data stored on the external storage device 166. The wireless communication interface 136 of the mobile electronic device 102 can transmit a request or notification to the external storage device using the appropriate low-power protocol.
FIG. 7 is a flow diagram of an illustrative process 700 that may be executed by the external storage device 166 to respond to notifications or requests received from other computing devices while the external storage device 166 is in the sleep state. The process may be implemented in a set of executable program instructions stored on a non-transitory computer-readable medium. The program instructions can be loaded into memory (e.g., RAM) and executed by a processor (e.g., the low-power MCU integrated with or in communication with the low-power communication interface 198). In some embodiments, the process 700 may be implemented in hardware, such as an integrated circuit.
At block 702, low-power communication interface 198 can receive a communication from another computing device, such as the notification received from the mobile electronic device 102 at (2), above.
At block 704, the low-power MCU can activate the main controller 184, wireless communication interface 188, and/or other components of the external storage device 166. The activation of the components from the sleep state can occur very quickly, thereby minimizing or reducing any latency perceived by a user of the mobile electronic device 102 when compared to communicating with an external storage device 166 that is not in sleep mode. For example, the activation of the external storage device 166 components may take less than about 1.0 second, less than about 0.5 seconds, or less than about 0.1 seconds.
At block 706, the main controller 184, wireless communication interface 188, and/or other components of the external electronic device 166 can conduct a communication session with the mobile electronic device 102. As shown in FIG. 6, the communication session may include the exchange of data at (4) between the mobile electronic device 102 and the external storage device 166, as described in greater detail above. The exchange of data may include the transmission or streaming of one or more files to the mobile electronic device 102 for use, the transmission of one or more files to the external storage device 166 for storage, or any other appropriate exchange.
At decision block 708, the low-power MCU can determine whether a communication timeout has occurred. If so, the process 700 can proceed to block 710, whether the main controller 184 and/or any other components activated in block 704 can return to sleep mode. If no timeout has occurred, the process may return to (or remain in) block 706, where the communication session is conducted. In some embodiments, a communication session may be terminated by one or both devices. In such cases, the MCU can return the components of the external storage device 166 to sleep mode without waiting for a timeout period to pass.
Returning to FIG. 6, the low-power wireless communication interface 198 may resume advertising availability at (6) after the main controller 184, normal power wireless communication interface 186, and/or other components of the external storage device 166 have resumed sleep mode at (5).
In some embodiments, the low-power wireless communication interface 198 may not advertise availability when other components of the external storage device 166 are in sleep mode. Instead, the lower-power wireless communication interface 198 may monitor various wireless frequencies or frequency bands—in a process referred to as “listening”—for requests, advertisements, or other communications from the mobile electronic device 102 (or other devices). The wireless communication interface 136 of the mobile electronic device 102 can initiate communication with the external storage device 166 while the external device 166 is in sleep mode by transmitting a request, notification, or other communication to the external storage device 166 using the appropriate low-power protocol. The wireless communication interface 198 can receive the communication and activate the main controller 184, wireless communication interface 188, and/or other components of the external storage device 166 in order to conduct a communication session with the mobile electronic device 102. Upon completion of the communication session, expiration of a timeout period after the last communication activity, or in response to some other determination, the main controller 184, normal power wireless communication interface 186, and/or other components of the external storage device 166 can resume sleep mode. The low-power wireless communication interface 198 may resume “listening” for communications.
With reference to FIG. 8, in various embodiments, mobile devices can exchange information with each other. The mobile devices 802, 804, and 806 can be cell phones (e.g., smart phones), tablet computers, wearable computing devices (e.g., smartwatches or smart bands), protective battery cases, external storage devices, or combinations thereof, etc. In some embodiments, wearable computing devices (e.g., smartwatches or smart bands) can communicate directly with each other (e.g., rather than to a host device such as a cell phone). The mobile devices 802, 804, and 806 can communicate by various wireless communication protocols, including Bluetooth, Bluetooth Low Energy, ZigBee, etc. The mobile devices 802, 804 and 806 can include features described in connection with the case 100, the mobile device 102, the file management system 138 (and other features discussed in connection with FIG. 2A), and the external storage device 166.
In some embodiments, the mobile devices 802, 804, 806 can include public data 810 and private data 812. The mobile devices can be configured to share the public data 810 more freely than the private data 812. For example, in some embodiments, the public data 810 can be shared without restriction (e.g., made available to all devices within the communication range). In some embodiments, the private data 812 can be restricted so that it cannot be shared with other devices, or so that it is only shared upon permission received from the user. In some embodiments, the public data 810 can be restricted to some degree as well. For example, the public data 810 can be shared only to approved devices, such as devices that the user has put onto an approved device list, or devices belonging to Facebook friends of the user. The mobile devices 802, 804, 806 can have several tiers of data with varying levels of restriction that are customizable by the user, although FIG. 8 only shows public data 810 and private data 812.
By way of example, the public data 810 of mobile device 802 can include the user's name and a link to the user's social medial (e.g., Facebook) profile. The private data 812 can include the photos, videos, calendar appointments, contacts, etc. The mobile device 802 can be configured to share the public data 810 only with devices on an approved list (e.g., specified previously by the user of device 802). Thus, device 802 can be configured to share the public data 810 with approved mobile device 804 (e.g., automatically when devices 802 and 804 are close enough for communication), and the device 802 can be configured to not share the public data 810 with unapproved mobile device 806.
The devices 802, 804, 806 can store data received from other devices, and the devices 802, 804, and 806, can store data associated with the interaction between devices (e.g., the identity of the other device or user, the time that the devices started the interaction, the time the devices stopped the interaction, and/or the duration of the interaction). Thus, when devices 802 and 804 come into communication proximity with each other, each device 802 and 804 can store that interaction time, and when the devices 802 and 804 move out of communication proximity, each device 802 and 804 can store that time as well. This information can be used by a searching element (e.g., similar to or the same as file searching element 192). For example, a user can submit a query such as, “who did I see last week while I was jogging,” “who was at the party last night,” or “how long did I see Mike yesterday.” As discussed herein, the searching element can parse the query and can identify different categories of data (e.g., time: “last week,” activity: “jogging,”). The searching element can use the stored data to determine who the user interacted with and when.
In some embodiments, a user interface can allow a user to enable or disable sharing of data (e.g., even public data 810 that would otherwise be shared). The user interface can allow a user to enable or disable receiving of data (e.g., even public data broadcast by other devices).
With reference to FIG. 9, in some embodiments, charging devices 904, 906, and 908 having supplemental batteries 910 can share information regarding the available battery power of the supplemental batteries 910. In the example embodiment of FIG. 9, charging device 904 can be a battery case (e.g., battery case 100 discussed herein) coupled to the mobile device 902, and charging devices 906 and 908 can be external storage devices (e.g., external storage devices 166 discussed herein). The information can be communicated using various wireless communication protocols, including Bluetooth, Bluetooth Low Energy, ZigBee, etc. In some embodiments, the battery information can be transferred from the charging device 904 to the mobile device 902 via a wired connection (e.g., if the mobile device is mounted in a battery case charging device 904). In some embodiments, an external charging device 906 can communicate the battery information to the mobile device 902 directly, or relayed through the charging device 904 that is coupled to the mobile device 902.
In some embodiments, the charging devices 904, 906, 908 can provide the battery information in response to a request received from another device (e.g., from the mobile device 902, such as a cell phone, tablet computer, etc.). For example, a user can send a query from the mobile device 902 requesting information about available battery power. In the example of FIG. 9, the charging device 904 belongs to the user and is a battery case 100 coupled to the mobile device 902, the charging device 906 belongs to the user and is an external storage device 166 (e.g., in the user's backpack). The charging device 908 belongs to a different user and is within the wireless communication range. In some embodiments, the charging devices 904, 906, 908 can share the battery information only with approved devices. For example, the mobile device 902 can request battery information only from devices that are on a list of devices owned by the same user (e.g., charging devices 904 and 906). In some embodiments, the mobile device 902 can request battery information from all available sources (e.g., charging devices owned by the same user, charging devices owned by other users within the communication range, charging devices that are for sale or available for public use within the communication range). The battery information can be categorized and displayed on the mobile device 902. For example, a display can show the amount of battery power available on charging devices that belong to the user, on charging devices owned by other nearby users, on charging devices for sale nearby, etc.). In some embodiments, charging devices can transmit location information (e.g., GPS coordinates) to a mobile device 902 to help the user of the mobile device to find the charging device 906. The mobile device 902 can display a map showing the locations of available charging devices. The charging devices can include a user interface to allow a user to enable or disable the sharing of battery information from the charging devices, or to configure the parameters and restrictions of battery information sharing.
In some embodiments, the mobile device 902 can provide information about how long it will take for the battery of the mobile device 902 to become fully charged, for example, based on one or more of the current onto the battery, the current off of the battery, a battery charge decay algorithm, and a voltage output from the battery.
With reference to FIG. 10, in some embodiments, a mobile device 1002 can communicate wirelessly with sensor systems 1004a-d to gather information. For simplicity the components of the sensor systems 1004a-d are shown in connection with sensor system 1004a, and the other sensor systems 1004b-d can include similar components. The sensor system 1004a can include one or more sensors 1006 (e.g., a temperature sensor, a humidity sensor, a light sensor, a microphone, etc.). The sensor system 1004a can include a communication interface 1008 configured to communicate with the mobile device 1002 and/or with other sensor systems 1004b-d by a wireless communication protocol (e.g., Bluetooth, Bluetooth Low Energy, Wifi, ZigBee, etc.). In some embodiments, Bluetooth Low Energy can be used because of its low power consumption. The sensor system 1004a can include a controller 1010 configured to operate the components of the sensor system 1004a as discussed herein. The sensor system 1004a can include memory 1012, which can store information collected by the one or more sensors 1006. In some embodiments, the memory 1012 can store the information from a sensor 1006 for a time (e.g., one day, two days, four days, one week, or two weeks, etc.), and after that time, the controller 1010 can calculate average values to be stored in the memory 1012 (e.g., daily averages, weekly averages, etc.). The sensor system 1004a can include a battery 1014 to provide power to the components of the sensor system 1004a. The sensor system 1004a can be configured to consume very little power such that a small battery (e.g., a button cell battery) can operate the sensor system 1004a for extended periods of time (e.g., days, months, or years).
The sensor systems 1004a-d can be configured to send information to a mobile device 1002 in response to a query sent by the mobile device 1002. For example, a user can use the mobile device 1002 to send a query asking for temperature information. A sensor system 1004a-d having a temperature sensor that is within communication range can send temperature information to the mobile device in response to the query. The mobile device 1002 can request past information (e.g., what was the temperature at this location 2 hours ago, or yesterday, or last week). The sensor system 1004a-d can access past information from the memory and send the information to the mobile device 1002.
In some embodiments, information can be relayed from one sensor system 1004d to another 1004c. In the embodiment of FIG. 10, the mobile device 1002 is within the communication range of sensor system 1004c, but not 1004d. Information from sensor system 1004d can be sent to sensor system 1004c, which can send the information to the mobile device 1002. By way of example, mobile device 1002 can request humidity information. If the sensor systems 1004a-c that are within direct communication range of the mobile device 1002 cannot provide the requested humidity information, the sensor systems 1004a-c can relay the request to other sensor systems 1004d that are out of direct communication range with the mobile device 1002. In FIG. 10, sensor system 1004c (e.g., which can include a temperature sensor) can relay the request for humidity information to the sensor system 1004d (which can include a humidity sensor). The sensor system 1004d can send the requested humidity information to the sensor system 1004c, and the sensor system 1004c can send the requested humidity information to the mobile device 1004b. In some embodiments, the memory 1012 of the sensor system can store information about the other surrounding sensor systems so that the sensor systems 1004a-d can appropriately direct queries to other sensor systems 1004a-d. 
Sensor systems 1004a-d can be used in connection with building automation systems (e.g., home automation systems). As discussed above, sensors can detect the presence of a user in a room. Sensor systems 1004a-d can be used to detect environmental information as discussed herein (e.g., temperature, humidity, light levels, sound volume). An automation controller can change parameters based on the user presence information and/or the environmental information. The automation controller can use various different communication protocols. For example, a relatively short-range communication protocol (e.g., Bluetooth or Bluetooth Low Energy) can be used by the automation controller to communicate with sensor systems 1004a-d and devices within short ranges. A longer-range communication protocol (e.g., Wifi) can be used to communicate with sensor systems 1004a-d and devices at longer ranges. In some embodiments, the automation controller can include, or be in communication with, a router (e.g., 4G router) which can enable communication with remote devices. In some embodiments, the automation controller can communicate with remove devices via the internet.
In some embodiments, content providing devices can be used to download content (e.g., videos). For example, videos and other content can be downloaded by a cell phone, a tablet computer, a laptop, a personal computer, a smart TV, a DVR system, etc. In some instances, a user must wait for the video to at least partially download before the user can begin to watch the video. In some embodiments, a content providing device can predict videos and/or other content that a user is likely to want and can pre-download that content before the user has requested to view the content. Thus, if the user later requests to view the pre-downloaded content, the user can view the content without waiting for the content to be downloaded. By way of example, if a user requests to watch one episode of a show, the content providing device can also download one or more of the subsequent episodes of that show. In some embodiments, the pre-downloaded content can be stored in a restricted (e.g., encrypted) manner so that the user cannot view the pre-downloaded content until that content is paid for.
One or more of the features illustrated in the drawings and/or described herein may be rearranged and/or combined into a single component or embodied in several components. Additional components may also be added. While certain example embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive. Thus, the inventions are not limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art based on the present disclosure.
The various operations of methods described above may be performed by any suitable means capable of performing the operations, such as various hardware and/or software component(s), circuits, and/or module(s). Generally, any operations illustrated in the Figures may be performed by corresponding functional means capable of performing the operations.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims. Method step and/or actions disclosed herein can be performed in conjunction with each other, and steps and/or actions can be further divided into additional steps and/or actions.
The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA), or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine, etc. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media). In addition, in some aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable media.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above.

## Claims

1. A system comprising:
a case configured to receive a mobile electronic device, the case comprising:
a top wall;
a bottom wall;
a power output interface coupled to the bottom wall, the power output interface configured to engage a power input interface of the mobile electronic device, wherein the top wall is movable with respect to the power output interface from a first position in which the case is permitted to be removably attached to the mobile electronic device to a second position in which detachment of the case from the mobile electronic device is inhibited by engagement of the power output interface with the power input interface;
a battery, wherein the power output interface is configured to convey electrical power from the battery;
an indicator component configured to indicate an amount of power in the battery; and
a non-transitory computer-readable case memory configured to store data accessible by at least the mobile electronic device via the power output interface; and

a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device, the file management system configured to at least:
provide, to a media player executing on the mobile electronic device, access to a first media file in the case memory using a server-based communication protocol; and
provide, to the media player, access to a second media file in memory of the mobile electronic device using a local storage access protocol.

2. The system of claim 1, wherein the file management system is further configured to at least cause the mobile electronic device to transmit the media file to a second mobile electronic device via a wireless communication channel.

3. The system of claim 1, wherein the file management system is further configured to store metadata in connection with the first media file, the metadata comprising a tag defined by a user.

4. The system of claim 3, wherein the tag comprises an audio recording.

5. A system comprising:
a case configured to removably attach to a mobile electronic device, the case comprising:
a battery;
a non-transitory computer-readable case memory; and
an output interface configured to at least:
engage an input interface of the mobile electronic device;
convey electrical power from the battery to the input interface of the mobile electronic device; and
provide the mobile electronic device access to data stored in the case memory; and


a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device, the file management system configured to at least provide, to an application executing on the mobile electronic device, access to data in the case memory.

6. A combination of the system of claim 5 and the mobile electronic device.

7. The system of claim 5, wherein the file management system is configured to provide access to the data in the case memory using a server-based communication protocol.

8. The system of claim 5, wherein the file management system is further configured to at least cause the mobile electronic device to transmit the data stored in the case memory to a second mobile electronic device via a wireless communication channel.

9. The system of claim 5, wherein the file management system is further configured to at least provide access to data in memory of the mobile electronic device using a local storage access protocol.

10. The system of claim 5, wherein the file management system is further configured to at least store metadata in connection with a file stored in the case memory.

11. The system of claim 10, wherein the metadata comprises a tag defined by a user.

12. The system of claim 10, wherein the metadata comprises a tag generated based at least partly on calendar data stored in memory of the mobile electronic device.

13. The system of claim 5, wherein the file management system is further configured to provide access to a file stored in the case memory by transmitting, to a remote electronic device, a link to the file stored in the case memory.

14. The system of claim 5, wherein the file management system is further configured to at least search a plurality of mobile electronic devices for a file meeting user-supplied search criteria.

15. The system of claim 14, wherein the file management system is further configured to search the plurality of mobile electronic devices using at least two different network connections in response to a single search request.

16. The system of claim 14, wherein the file management system is further configured to search the plurality of mobile electronic devices by communicating with file management systems executing on the plurality of mobile electronic devices.

17. The system of claim 14, wherein the file management system is further configured to at least enable modification of a search result file stored on a remote mobile electronic device of the plurality of mobile electronic devices.

18. The system of claim 5, wherein the file management system is further configured to at least enable presentation of a sequence of two or more media files, wherein at least a first media file of the two or more media files is retrieved from a first remote mobile electronic device, and wherein at least a second media file of the two or more media files is retrieved from a second remote mobile electronic device.

19. The system of claim 18, wherein the sequence of two or more media files comprises a playlist of audio files or a slide show of image files.

20. The system of claim 5, wherein the file management system is configured to search for a file based at least in part on user activity information.

21. The system of claim 20, wherein the user activity information comprises an indication of an activity that the user was performing when the file was created or modified.

22. A method of manufacturing a case, the method comprising:
providing a housing configured to removably attach to a mobile electronic device, the housing comprising a battery and a non-transitory computer-readable case memory;
providing an output interface configured to engage an input interface of the mobile electronic device, wherein the output interface is further configured to convey electrical power from the battery to a input interface, and wherein the output interface is further configured to provide access to data stored in the case memory;
attaching the output interface to the housing; and
providing a non-transitory computer readable medium having stored thereon a file management system configured to run on the mobile electronic device, the file management system configured to at least provide, to an application executing on the mobile electronic device, access to data in the case memory.

23. An electronic storage device comprising:
a first wireless communication interface;
a second wireless communication interface configured to consume less power than the first wireless communication interface during operation; and
a computing device configured to at least:
transmit, using the second wireless communication interface, indicators regarding availability of the electronic storage device;
receive, using the second wireless communication interface, a communication from a mobile electronic device; and
in response to the communication:
activate the first wireless communication interface, wherein the electronic storage device transmits data to the mobile electronic device using the first wireless communication interface subsequent to activation of the first wireless communication interface; and
subsequent to transmitting the data to the mobile electronic device using the first wireless communication interface, deactivate the first wireless communication interface.