The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
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 numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention 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 invention.
The present invention may be a novel system and method enabling members of community 150 (
System 200 may comprise a community server 130 and at least two communications devices 110 used by members of community 150 (
As in the system disclosed by U.S. patent application Ser. No. 11/544,938, system 200 may facilitate the sharing of media content to be used on the occasion of call-related activity between members of community 150 (
Communications device 110A may be used by an “initiator”, a user that wishes to initiate an MEP call to a second user. The second user is the “receiver” who receives the MEP call on device 110B. The initiator and receiver may be buddies that have elected to share media content with each other.
As in U.S. Ser. No. 11/544,938, communications devices 110 may comprise a media player 112, a personalization content manager 137 and a buddy media clip database 138 which may store one or more media clips 136 selected by the initiator's buddies. Communications device 110A may also comprise a requester 210 configured to perform MEP calls. It will be appreciated that the presentation of communications device 110B without a requester 210 is exemplary; device 110B may also comprise a requester 210.
Both the initiator and the receiver may have already selected a media clip 136 to be played on the other's device 110 on the occasion of call-related activity. Furthermore, the selected media clips 136 may have already been downloaded to each of the buddies' devices 110.
The initiator may use requester 210 to initiate an MEP call to the receiver's device 110B. It will be appreciated that communications device 110A may not be capable of directly contacting communications device 100B without immediately opening voice connection 240. In accordance with a preferred embodiment of the present invention, requester 210 may, instead, use community server 130 to relay an MEP call request to device 110B. Accordingly, requester 210 may use connection 231 to send a call request for device 110B to community server 130.
It will be appreciated that the MEP call request may include a representation of the identity of the initiator or of the possibly previously selected media clip 136.
Community server 130 may comprise a notifier 220 and a timing manager 230. Notifier 220 may receive the call request from requester 210 and may relay it via connection 232 to personalization content manager 137B on device 110B. It will be appreciated that connection 232 may be an Internet connection using standard Internet protocols such as HTTP, TCP or UDP to “push” the call request to device 110B. In accordance with an alternative embodiment of the present invention, an SMS message may also be sent to “wake up” personalization content manager 137B. For example, if device 110B is a J2ME handset, this may be accomplished using the “push registry” mechanism described by JSR 120.
Using the information in the call request, personalization content manager 137B may locate media clip 136B previously selected by the initiator, and may play it on media player 112B. It will be appreciated that the initiator may not wish to interrupt the receiver while media clip 136 may be playing. However, device 110A may require some information in order to estimate the approximate time that media clip 136B may finish playing. Accordingly, personalization content manager 137B may also use connection 233 to send details to timing manager 230 regarding the time media player 112B began to play clip 136B and/or the expected playing time. It will be appreciated that connections 232 and 233 may be different logical connections even though they may share a physical connection. Similarly, connections 231 and 234 may also share a physical connection.
Timing manager 230 may send these details via connection 234 to personalization content manager 137A on the originator's device 110A. Personalization content manager 137A may locate media clip 136A, previously selected by the receiver, and may play it on media player 112A. Personalization content manager 137A may also use connection 234 to send details to timing manager 230 regarding the time media player 112A began to play clip 136A on device 110A and/or the expected playing time.
Thusly, timing manager 230 may pass timing details back and forth between devices 110A and 110B over connections 233 and 234 in order to attempt to synchronize the playing and expected ending times for media clips 136A and 136B. Both personalization content managers 137 may set timers to expire in accordance with the expected playing time of media clip 136 on the other device 110.
In accordance with an alternative preferred embodiment of the present invention, these expiration timers may also be adjusted to compensate for expected delays in call completion between devices 110A and 110B. For example, the timer on device 110A may be adjusted to expire slightly before device 110B finishes playing media clip 136B. This adjustment may be generally equivalent to the time required to complete a call between devices 110A and 110B. Accordingly device 110A may “time” a call to arrive at device 110B as close as possible to the end of the play of media 136.
When the timer on device 110A expires, personalization content manager 137 may instruct requester 210 to establish a call with device 110B. Typically, this may be accomplished using the built-in dialer application programming interface (API) on communications device 110A.
It will be appreciated that device 110A may initiate playing of a media clip on device 110B immediately before initiating a telephone call. Thus, the present invention may be used as a novel means to push “ringtone”—like media clips to communication devices that do not support the interception of incoming calls.
It will be appreciated that the implementation of requester 210 may depend on the technical specifications of device 110A. For example, if device 110 supports such functionality, requester 210 may comprise a handler that may use standard APIs to trap outgoing calls initiated by the device's built-in dialer function. Alternatively, requester 210 may be a separate GUI application that may not have any call handling capabilities. Requester 210 may also be implemented as a separate GUI application that may handle both MEP calls and regular outgoing calls. The existing built-in dialer may also be customized, on devices that support such customization, to handle both types of calls.
The initiator may begin by accessing requester 210 to initiate an MEP call to receiver's device 110B. In accordance with a preferred embodiment of the present invention, requester 210 may use APIs from the built-in dialing functionality of device 110A to trap outgoing calls. Accordingly, the initiator may request a media exchange with the receiver's device 110B by dialing the receiver's number or selecting the receiver from a contact list. In accordance with an alternative preferred embodiment of the present invention, requester 210 may comprise a dedicated GUI application which may be used to initiate an MEP call to a buddy.
In either case, requester 210 may process (step 300) the outgoing call, and may determine (step 310) whether or not the call is suitable for a media exchange. For example, requester 210 may check that device 110B belongs to a buddy. Some buddies may also be filtered out and depending on the circumstances may only receive regular calls.
Calls that are determined to be unsuitable for media exchanges may continue (step 350) with regular call processing. Otherwise, personalization content manager 137A may send (step 350) a media exchange notification to community server 130. Such notification may include the phone number dialed, a representation of the identity of the initiator or of the possibly previously selected media clip 136 and a request to set up an MEP call.
Notifier 220 on community server 130 may push (step 360) the MEP call request to device 110B. As discussed hereinabove, there are a number of alternatives for pushing this notification to device 110B. For example, the notification may be pushed via Internet protocols, or included in an SMS that may “wake up” personalization content manager 137B in order to process the incoming MEP call.
It will be appreciated that either of these may, in another embodiment, be provided directly from device 110A, rather than going through community server 130.
Personalization content manager 137B may notify (step 370) the receiver regarding the incoming MEP call via an audio alert and/or a message dialog. In accordance with a preferred embodiment of the present invention, the receiver may accept or refuse the incoming MEP call.
Personalization content manager 137B may send (step 380) the start time back to community server 130. It may also instruct media player 112B to play (410) media clip 136. It will be appreciated that sending the start time to community server 130 may constitute acknowledgement that the receiver is willing and able to accept the MEP call.
Timing manager 230 on community server 130 may receive (step 390) the start time from device 110B and may forward it to device 110A. Personalization content manager 137A on device 110A may send (step 400) timing information back to community server 130, and may set a timer to expire in accordance with the timing details received from device 110B via community server 130. It may also instruct media player 112A to play (420) media clip 136A.
Timing manager 230 may receive (step 390) the start time from device 110A and may forward it to device 110B.
Media clip 136B may continue to play on device 110B. Once media clip 136B finishes playing, personalization content manager 137B may display (step 440) a dialog indicating that a “pending call” may be expected from the initiator. In parallel, media clip 136A may continue playing on device 110A. Once media clip 136A finishes playing, personalization content manager 137A may wait (step 430) for the expiration of the timer set in step 400 before instructing requester 210 to establish (step 450) a call to the receiver's device 110B. Processing may then continue as with a regular call (step 330).
There may be other alternatives for establishing the voice call. For example, the receiver's device 110B may also be configured with a requester 210 to call the initiator's device 110A. Calls may also be established on appropriate devices/networks using other methods, such as via SIP (Session Initiation Protocol), for establishing a VoIP (Voice over IP) call.
Also, in accordance with an alternative preferred embodiment of the present invention, the initiator and/or receiver may elect not to establish a voice call after the media exchange.
There may also be a method for initiating a media exchange without using community server 130. In accordance with an alternative embodiment of the present invention, requester 210 may call receiver's device 110B and may immediately hang up. Personalization content managers 137 on both devices 110 may then instruct media players 112 to play media clips 136. As per the previous embodiment, a voice call may, or may not, be established between devices 110A and 110B after playing their respective media clips 136.
It will be appreciated that there may be times when the receiver is incapable or unwilling to receive an MEP call. System 200 may also comprise a login feature to track available devices 110. Notifier 220 may not push (step 360) a notification to a device 110 that is not already logged in. Furthermore, timing manager 230 may also set a timer while waiting for device 110B to send (step 380) a start time. An exemplary timer length may be 10 seconds. If a response is not received before the timer expires, it may be assumed that the receiver is either unavailable or unwilling to receive the MEP call.
In accordance with another preferred embodiment of the present invention, the receiver or initiator may record new media clips and/or may select existing media clips while media clips 136 are playing (steps 410 and 420) on their devices 110. These media clips may be sent to each other instead of, before, concurrent with, or after establishing (step 450) a voice call.
In accordance with another preferred embodiment of the present invention, personalization content managers 137 may enable the initiator and/or receiver to replay media clip(s) 136 instead of, before, concurrent with, or after establishing (step 450) a voice call. In such cases, any required timing information may be relayed between devices 110 by timing manager 230 in order to ensure that the initiator may not establish (step 450) a call while the receiver may be watching a replay of media clip 136B, and/or to inform the receiver that the initiator may still be watching clip 136B and may establish a call afterwards.
Prior patent application U.S. Ser. No. 11/775,249, assigned to the common assignees of the present invention and incorporated herein by reference, discloses a method by which media content sharing system 100 may be used to distribute media clip advertisements to devices 110. Such advertisements are then typically played on devices 110 as video ringtones, ringbacks and/or ringbyes on the occasion of call-related activity between members of community 150.
Applicants have realized that the “wake up” SMS described hereinabove may also be used to facilitate the playing of ringbyes in general, and ringbye advertisements in particular. Some communications devices may not be capable of passing call handling information to other applications on the device. Accordingly, the application may not be aware when the call has ended. The application also may not be capable of determining with whom the phone conversation took place.
However, in accordance with another preferred embodiment of the present invention, the communication device may work in conjunction with a back-end system that may be hosted by the mobile operator. When each phone call to/from the device ends, the operator's system may send the device a suitable “application wakeup” SMS message.
Mobile network 410 may comprise an operator server 420 and a call end monitor 430. Operator server may provide connection services between users of mobile network 410, for example, devices 110A and 110B. When a call between devices 110 ends, operator server 420 may alert call end monitor 430 and provide it with the phone numbers of both devices 110. Call end monitor 430 may then use the phone numbers to send an SMS to one or both device 110.
Each SMS message may include in its body an identification of the other phone number. For example, the SMS sent to device 110A may include the phone number of device 110B. Similarly, the SMS sent to device 110B may include the phone number of device 110A. The SMS may wake up a resident application on the device, for example, personalization content manager 137. Personalization content manager 137 may process the received information and may decide which (if any) media clip 136 to play.
It will be appreciated that the configuration of system 400 may be exemplary. Call end monitor 430, for example, may also be integrated within operator server 420. It will further be appreciated that call end monitor 430 and/or operator server 420 may also comprise logic to identify subscribers to the service provided by system 400.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
This application claims benefit from U.S. Provisional Patent Application No. 60/843,423, filed Sep. 11, 2006, and U.S. Provisional Patent Application No. 60/829,903, filed Oct. 18, 2006, both of which are hereby incorporated in their entirety by reference.
Number | Date | Country | |
---|---|---|---|
60843423 | Sep 2006 | US | |
60829903 | Oct 2006 | US |