An apparatus and computer program product are disclosed for distributing inventory data for a distributed cache provided by a plurality of wireless mobile communication devices. A first inventory data is received from a first wireless mobile communication device, and a second inventory data is received from a second wireless mobile communication device. The first inventory data and the second inventory data are compared to identify one or more matching data resources. In response to identifying one or more matching data resources, a matching inventory data that identifies the one or more matching data resources is sent to the first wireless mobile communication device. The matching inventory data enables the first wireless mobile communication device to access each of the one or more matching data resources stored on the second wireless mobile communication device.
|
1. An apparatus for distributing inventory data for a distributed cache provided by a plurality of wireless mobile communication devices, the apparatus comprising:
a processor;
a system memory coupled to the processor; and
program code that when executed by said processor provides a distributed cache (DC) server that:
receives first inventory data from a first wireless mobile communication device, said first inventory data identifying one or more data resources associated with said first wireless mobile communication device;
receives second inventory data from a second wireless mobile communication device, said second inventory data identifying one or more data resources associated with said second wireless mobile communication device;
compares said first inventory data and said second inventory data to identify one or more matching data resources; and
in response to identifying one or more matching data resources, sends, to said first wireless mobile communication device, a matching inventory data that identifies said one or more matching data resources, wherein said matching inventory data enables said first wireless mobile communication device to access each of said one or more matching data resources stored on said second wireless mobile communication device.
10. A computer program product comprising software code and stored on a non-transitory computer-readable storage medium that is loadable into an internal memory of a data processing system, and that when run on the data processing system, causes the data processing system to perform a method for distributing inventory data for a distributed cache provided by a plurality of wireless mobile communication devices, said method comprising:
receiving, at a distributed cache (DC) server, first inventory data from a first wireless mobile communication device, said first inventory data identifying one or more data resources associated with said first wireless mobile communication device;
receiving, at the DC server, second inventory data from a second wireless mobile communication device, said second inventory data identifying one or more data resources associated with said second wireless mobile communication device;
the DC server comparing said first inventory data and said second inventory data to identify one or more matching data resources; and
in response to identifying one or more matching data resources, the DC server sending, to said first wireless mobile communication device, a matching inventory data that identifies said one or more matching data resources, wherein said matching inventory data enables said first wireless mobile communication device to access each of said one or more matching data resources stored on said second wireless mobile communication device.
2. The apparatus according to
3. The apparatus according to
4. The apparatus according to
determines a location of said first wireless mobile communication device and said second wireless mobile communication device;
wherein said matching inventory data is sent to said first wireless mobile communication device only if said first wireless mobile communication device and said second wireless mobile communication device are within a predetermined proximity.
5. The apparatus according to
6. The apparatus according to
7. The apparatus according to
compiles said first inventory data on said first wireless mobile communication device;
sends said first inventory data to said DC server;
receives, from said DC server, said matching inventory data; and
in response to said first wireless mobile communication device receiving said matching inventory data, triggers an alert.
8. The apparatus according to
9. The apparatus according to
11. The computer program product according to
12. The computer program product according to
13. The computer program product according to
the DC server determining a location of said first wireless mobile communication device and said second wireless mobile communication device;
wherein said matching inventory data is sent to said first wireless mobile communication device only if said first wireless mobile communication device and said second wireless mobile communication device are within a predetermined proximity.
14. The computer program product according to
15. The computer program product according to
16. The computer program product according to
compiles said first inventory data on said first wireless mobile communication device;
sends said first inventory data to said DC server; and
receives said matching inventory data from said DC server.
17. The computer program product according to
in response to receiving said matching inventory data, triggers a alert.
18. The computer program product according to
19. The computer program product according to
|
The present disclosure relates to an apparatus or computer program product for managing inventory data of a distributed cache provided by a plurality of wireless mobile communication devices.
Mobile devices such as mobile telephones are commonly used for data intensive activities such as information retrieval. Such intensive data activities have a negative effect on a mobile communications network since data transmission capacity of the mobile communications network may be limited or expensive.
There are several potential solutions to this problem. One such solution comprises caching data in a distributed cache provided by the mobile devices themselves such that each mobile device provides part of the storage required for the cache, and that the cache is shared among a group of mobile devices. Different caching policies are provided, each aimed at improving effectiveness of the distributed cache. However, problems arise with some mobile caching systems because of their intrinsically opportunistic nature. Each mobile device must discover relevant data by scanning the caches of all neighboring devices. Periodically scanning all neighboring devices to determine if relevant data exists in the neighboring devices uses a significant amount of power.
Disclosed are an apparatus and computer program product for distributing inventory data for a distributed cache provided by a plurality of wireless mobile communication devices. The computer program product comprises program instructions for: receiving first inventory data from a first wireless mobile communication device, the first inventory data identifying one or more data resources associated with the first wireless mobile communication device; receiving second inventory data from a second wireless mobile communication device, the second inventory data identifying one or more data resources associated with the second wireless mobile communication device; comparing the first inventory data and the second inventory data to identify one or more matching data resources; and in response to identifying one or more matching data resources, sending, to the first wireless mobile communication device, a matching inventory data that identifies the one or more matching data resources, wherein the matching inventory data enables the first wireless mobile communication device to access each of the one or more matching data resources stored on the second wireless mobile communication device.
The matching inventory data may further comprise an identification of the second device so as to enable the first wireless mobile communication device to initiate a connection directly with the second device. Receiving and sending of the inventory data may be performed using a first wireless communications network. The first and second devices create a peer-to-peer network to enable the access by the first wireless mobile communication device to the matching data resource stored on the second device. The method may comprise determining the location of the first and second devices. In another embodiment the sending of the matching inventory data may only be performed if the first and second devices are within a predetermined proximity. The location may be a predicted proximity determined for a predetermined future time period. The one or more data resources may comprise one or more of a data subscription, a data topic, a data category, a data item, a search term, a user preference, and a user interest.
The first wireless mobile communication device may further compile the first inventory data, send the first inventory data to a distributed cache (DC) server application program that is further configured to identify one or more other wireless mobile communication devices of the plurality of mobile devices having the one or more matching data resources, and receive the matching inventory data identifying the second device. In response to the first wireless mobile communication device receiving the matching inventory data, a user alert may be triggered. The first inventory data may identify any resources available from the first device to the second device or any resources required by the first device and/or may identify resources required by the first device that are available from the second device.
The present disclosure can be better understood by referring to the following description when read in conjunction with the accompanying drawings, in which same or similar reference numerals are used to denote same or similar components. The drawings, together with the following detailed description, are included in the specification and form part thereof, and are used to further illustrate, by way of example, embodiments of the present disclosure and to explain principles and advantages of the present disclosure.
Described herein is a system, method, and computer program product for distributing inventory data in a distributed cache by a plurality of wireless mobile communication devices. Although an illustrative implementation of one or more embodiments is provided below, the disclosed systems and/or methods may be implemented using any number of techniques. This disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numbers may be repeated among the figures to indicate corresponding or analogous features.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood by those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present disclosure.
With reference to
With reference to
With reference to
With reference to
With reference to
With reference to
With reference to the flow chart of
With reference to the flow chart of
In another embodiment, the user profile is further configured to enable defining of two sets of inventory data. The first set of inventory data defines the data resources available for sharing via the distributed cache. The second set of inventory data defines data resources that the user wishes to source from the distributed cache. Thus, the second set of data defines the requested data resources and/or the data to be sourced from the distributed cache. In the present embodiment, the notifications received from the DC server comprise an identification of the resources for the requested data such as an identification of the other mobile communication devices within the distributed cache that may provide the requested data resource. The DC client may be further configured to provide only the first set of inventory data where only data sharing is required. Alternatively, the DC client may be configured to provide only the second set of inventory data to the DC server where only data acquisition or sourcing is required.
In another embodiment, the DC server application is provided with data identifying the locations of suitable nodes for secondary wireless communication between the mobile communication devices, such as available WiFi™ nodes. The location of such available nodes is taken into account when determining proximity of devices for a given notification. For example, the measure of relative proximity may be centered on a WiFi™ node so as to ensure that all relevant mobile communication devices contributing to the distributed cache are within operational range.
As will be understood by those skilled in the art, the DC server may be further configured to use any suitable location technique for determining the positions of the relevant mobile communication devices. For example, to locate mobile communication devices the DC server may utilize network based systems, such as mobile signal triangulation, or device based systems, such as Global Positioning Satellites (GPS). In another embodiment the mobile communication devices are configured to determine their own respective positions which may then be transmitted to the DC server.
In another embodiment, the DC client application program is configured to perform part or all of the determination of which other mobile communication devices are within suitable proximity. For example, the DC server may supply only the positions of other mobile communication devices in a notification. The DC clients then individually determine which other mobile communication devices are within a suitable proximity based on their own self-calculated position. In another embodiment the location of mobile communication devices performed by either the DC server or DC client are predictive such that positions of mobile communication devices are calculated for a future time slot.
As will be understood by those skilled in the art, any suitable correlation technique may be employed for determining correlations between user profiles. In another embodiment, the data correlation method is predictive. User subscriptions or other data sources may be monitored to determine data likely to be available on a given mobile communication device.
Embodiments of the disclosure provide a system in which mobile communication devices within the distributed cache gain prior knowledge from the network on the availability and proximity of relevant data in neighboring devices. With this knowledge, mobile communication devices within the distributed cache passively engage in sharing subscribed content that is relevant to a user, thus conserving power. Embodiments of the disclosure provide a deterministic content retrieval system in which participating mobile communication devices share targeted content classes.
Embodiments of the disclosure enable autonomous information sharing between anonymous neighboring mobile communication devices, minimally assisted by the network through the use of optionally predictive location and optionally predictive content of the targeted mobile communication devices. The participating mobile communication devices are able to acquire knowledge of content that the network has determined to exist within a local area. By utilizing prediction techniques for mobile location and content, the need for wide-spread scanning is removed thus reducing the overhead on the network. Embodiments of the disclosure differ from opportunistic distributed content sharing systems by enabling devices to independently acquire knowledge of nearby relevant data and target the acquisition of this data, thus conserving energy and enabling targeted content retrieval.
It will be understood by those skilled in the art that the apparatus that embodies a part or all of the present disclosure may be a general purpose device having at least one processor, a memory, and a software executing on the at least one processor that is further configured to provide a part or all of an embodiment of the disclosure. The device may be a single device or a group of devices. The software may be a single program or a set of programs. Furthermore, any or all of the software used to implement the disclosure can be communicated via any suitable transmission or storage means so that the software can be loaded onto one or more devices.
The present disclosure can take the form of a computer program product accessible from a computer-usable or computer-readable storage device providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this disclosure, a computer usable or computer-readable storage device can be any tangible apparatus that contains, stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device. The device can be an electronic, magnetic, optical, electromagnetic, or semiconductor system (or apparatus or device). Examples of a computer-readable storage device include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk read only memory (CD-ROM), compact disk read/write (CD-R/W), and DVD.
While the present disclosure has been described with reference to exemplary embodiments, and while the embodiments have been described in considerable detail, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the disclosure. Additional advantages and modifications will readily appear to those skilled in the art. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many improvements, modifications, and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present disclosure. In addition, many modifications may be made to adapt a particular system, device or component thereof to the teachings of the disclosure without departing from the essential scope thereof. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated. Therefore, it is intended that the disclosure not be limited to the particular embodiments disclosed for carrying out this disclosure, but that the disclosure will include all embodiments falling within the scope of the appended claims.
O'Neill, Patrick, Forrest, Patrick Daniel, Murray, Ivan Patrick, Murray, Ken, Whooley, Ted
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6851049, | Oct 02 2000 | CA, INC | Method and apparatus for facilitating secure anonymous email recipients |
7664242, | Mar 30 2006 | BENDING SPOONS S P A | System and method for anonymous telephone communication |
7849135, | Apr 09 2004 | NIM SAR; RCS IP, LLC | Sharing content on mobile devices |
8688148, | Oct 25 2005 | Qualcomm Incorporated | Dynamic resource matching system |
20040264471, | |||
20050113076, | |||
20060616798, | |||
20080084982, | |||
20090094317, | |||
20090111378, | |||
20090276540, | |||
20100023585, | |||
20100046507, | |||
20100291909, | |||
20110145397, | |||
CN101848236, | |||
GB2415854, | |||
WO2007046101, | |||
WO2011136708, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 02 2012 | International Business Machines Corporation | (assignment on the face of the patent) | / | |||
Oct 07 2013 | FORREST, PATRICK DANIEL | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031678 | /0664 | |
Oct 07 2013 | MURRAY, IVAN PATRICK | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031678 | /0664 | |
Oct 07 2013 | MURRAY, KEN | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031678 | /0664 | |
Oct 07 2013 | O NEILL, PATRICK | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031678 | /0664 | |
Oct 07 2013 | WHOOLEY, TED | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031678 | /0664 |
Date | Maintenance Fee Events |
Oct 14 2019 | REM: Maintenance Fee Reminder Mailed. |
Mar 30 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |