throbber
6446A1
`
`
`
`43
`
`US 200701
`
`as) United States
`a2) Patent Application Publication io) Pub. No.: US 2007/0136446 Al
`(43) Pub. Date:
`Jun. 14, 2007
`Rezvaniet al.
`
`(54) WIRELESS MEDIA SERVER SYSTEM AND
`METHOD
`
`Related U.S. Application Data
`
`(76)
`
`Inventors: Behrooz Rezvani, San Ramon, CA
`(US); Andrea Goldsmith, Menlo Park,
`CA (US)
`
`Correspondence Address:
`PERKINS COTE LLP
`P.O. BOX 2168
`MENLO PARK, CA 94026 (US)
`
`(21) Appl. No.:
`
`11/607,815
`
`(22)
`
`Filed:
`
`Dec. 1, 2006
`
`(60) Provisional application No. 60/741,672, filed on Dec.
`1, 2005.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`15/16
`GOOF
`(52) US. CM. cessscssssssssesestnsnsssnesertnsntessce 709/219
`
`ABSTRACT
`(57)
`Portable media devices allow a user to access music or other
`
`media stored on the device, and two portable media devices
`equipped with wireless technology can exchangestoredfiles
`over the air.
`
`100 —»
`
`
`
`
` 14
`
`
`
`Wireless Content Server
`102
`
`
`
`Content Database
`118
`
`DatabaseInterface
`116
`
`Content Provisioning Engine
`
`Wireless interface
`122
`
`NetworkInterface (Optional)
`120
`
`
`
`
`
`130) Content
`
`
`Wireless Network
`Provider
`106
`
`108
`
`
`
`
`
`Wired Network
`410
`
`
`
`
`Wireless Device
`Wireless Device
`
`Wireless Device
`4104-1
`104-2
`104-N
`
`
`
`
`
`
`1
`
`APPLE 1097
`APPLE 1097
`
`1
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 1 of 7
`
`US 2007/0136446 Al
`
`100
`
`Wireless Content Server
`102
`
`414
`
`Content Database
`118
`
`DatabaseInterface
`116
`
`Content Provisioning Engine
`
`Wireless Network
`
`126
`
`
`130] Content
`Provider
`
`
`108
`
`Wired Network
`4110
`
`106
`104-N
`
`Wireless Device
`104-1
`
`Wireless Device
`{04-2
`
`Wireless Device
`
`2
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 2 of 7
`
`US 2007/0136446 Al
`
`SSO}OsIAA
`
`éOld
` Elpey\—._.OOOO
`s}senbey/UOHeNiUy_)
`
`
`
`aoepajuleseqeyeq
`
`Soe
`
`ON
`
`joyyuoD
`
`ple
`
`
`
`UoIIUBODaYaDI0A,
`
`
`
`(JeuoydO)eurbuy
`
`oe
`
`
`
`Aieiqiqeipe;w
`
`Pee
`
`Zhe
`
`JANISWdM
`
`c0e
`
`SOPLO]U]
`
`O/lSSE[OIIMA
`
`saolaeq
`
`B02
`
`JUSHDWidM
`
`L-PO0d
`
`WaldWdM
`
`N-v0¢e
`
`ate
`
`
`
`
`
`WUN[OU0DSWdM
`
`Ole
`
`BOEHAIU)O/|P21
`
`O/|POdIAA
`902|saclAeg
`
`*—002
`
`3
`
`
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 3 of 7
`
`US 2007/0136446 Al
`
`300 ~~
`
`Establish wirelesslink between
`WPM server and WPM client
`
`
`
`
`
`
`
`
`Yes
`
`Change search criteria?
`g
`-
`
`316
`
`No
`
`Receive response(or no response)
`from WPM client
`
`
`
`Send search result from WPM
`server to WPM client
`
`.
`.
`Terminate search
`
`
`
`
`
`
`Receive request from WPMclientat
`WPMserveroverthe wirelesslink
`
`Determine search criteria
`
`Attemptto identify contentfiles
`matching searchcriteria
`
`One or more matches?
`
`310
`
`N
`
`More than one match?
`
`No
`
`Serve content to WPM client over
`.
`.
`wirelesslink for playback by user
`
`End
`
`Terminate wireless link between
`WPMserver and WPM client
`
`FIG. 3
`
`4
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 4 of 7
`
`US 2007/0136446 Al
`
`400
`
`402
`
`WPM Server
`
` Headset 404
`
`FIG. 4
`
`
`202
`
`WPMServer
`
`5
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 5 of 7
`
`US 2007/0136446 Al
`
`600 ~»
`
`A first user establishes a wireless
`connection to a WPMS via a headset
`
`604
`
`Thefirst user makes a search requestto
`identify a music file for sharing
`
`606
`
`Thefirst user requests that the musicfile
`be shared with a second user
`
`608
`
`The WPMS establishes a connection with
`the second user
`
`
`
`Second user consents?
`
`610
`
`N
`
`Yes
`
`612
`
`WPMSsendsthe musicfile simultaneously
`to the first user and the second user
`
`614
`
`Execute additional commands,if any
`
`
`
` 602
`
`
`
`
`
`
`
`
`
` 616
`seranoe?
`
`FIG. 6
`
`6
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 6 of 7
`
`US 2007/0136446 Al
`
`700 —~»«,
`
`_Headset 104-1
`702
`
`
`WPM Server
`
`Handset 704-2
`
`7
`
`

`

`Patent Application Publication Jun. 14,2007 Sheet 7 of 7
`
`US 2007/0136446 Al
`
`J8M9SWdM
`cosOY
`——_—_—_—_—_—}
`
`eIpayy
`
`uonellu)/sjsanbay
`
`V—008
`
`ele
`
`
`
`JayeedsO/luonluBooayeslo0/,
`
`
`jouesJe.4UOD(jeuondg)eulbuy
`wunvisO18
`
`BOBLO}U)O/!POI
`
`ors
`
`O/IPOs
`
`SedlAaq
`
`908
`
`
`
`BOBPO}U]SSOJOIIAA
`
`cle
`
`
`
`O/|SSB1B4IAA
`
`808|seo1aaqg
`
`8Sls
`
`708
`
`
`
`
`
`Wwayskssayeadsajqeyod
`
`8
`
`
`
`
`
`
`
`
`
`

`

`US 2007/0136446 Al
`
`Jun. 14, 2007
`
`WIRELESS MEDIA SERVER SYSTEM AND
`METHOD
`
`BACKGROUND
`
`[0001] Point-to-multipoint communication systems pro-
`vide communications between a central device and multiple
`remote devices. Communications may be directed at a
`specific remote device or to all/some devices simulta-
`neously. Wireless music centers store audio files and stream
`them wirelessly to multiple independentstations, but these
`devices are not portable.
`
`[0002] The foregoing examples of the related art and
`limitations related therewith are intended to beillustrative
`and not exclusive. Other limitations of the related art will
`
`becomeapparent to those of skill in the art upon a reading
`of the specification and a studyof the drawings.
`
`SUMMARY
`
`[0003] The following embodiments and aspects thereof
`are described and illustrated in conjunction with systems,
`tools, and methods that are meant to be exemplary and
`illustrative, not limiting in scope. In various embodiments,
`one or more of the above-described problems have been
`reducedor eliminated, while other embodimentsare directed
`to other improvements.
`
`[0004] A technique for providing content to wireless por-
`table media (WPM)clients involves creating a wireless link
`between the WPM clients and a WPM server. The WPM
`
`server mayreceive content from a content provider over a
`wireless or wired link. Once the content is uploaded to the
`WPM server,
`the WPMserver can provide the content
`wirelessly to the WPM clients. Advantageously, since the
`WPM server and the WPM client are both mobile,
`the
`system can be used in a variety of locations, such as, by way
`of example but not limitation, in a car, or at an impromptu
`party where media is shared between the WPMclients.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`[0005] Embodiments of the inventionsare illustrated in
`he figures. However,
`the embodiments and figures are
`illustrative rather than limiting; they provide examplesof the
`invention.
`
`FIG. 1 depicts an exampleof a systemthat includes
`[0006]
`a wireless content server.
`
`FIG. 2 depicts an example of a system including a
`[0007]
`WPMserver and a plurality of WPM clients.
`
`FIG. 3 depicts a flowchart of an example of a
`[0008]
`nethod for providing content from a WPMserver to aWPM
`client.
`
`FIG. 4 depicts an example of a system for provid-
`[0009]
`ing music from a WPMserverto a single WPM client.
`
`FIG. 5 depicts an example of a system for provid-
`[0010]
`ing music from a WPMserver to multiple WPMclients.
`
`FIG. 6 depicts a flowchart of an example of a
`[0011]
`nethod for music sharing in a WPMenvironment.
`
`FIG. 7 depicts an example ofa systemthat includes
`[0012]
`various WPMclients in a WPM environment.
`
`FIG. 8 depicts an example of a portable speaker
`[0013]
`system in a WPM environment.
`
`
`
`DETAILED DESCRIPTION
`
`
`Inthe following description, several specific details
`[0014]
`are presented to provide a thorough understanding of
`embodimentsof the invention. Oneskilled in the relevantart
`
`will recognize, however, that the invention can bepracticed
`withoutone or moreofthe specific details, or in combination
`with other components, etc. In other instances, well-known
`implementationsor operations are not shownor described in
`detail to avoid obscuring aspects of various embodiments of
`the invention.
`
`FIG. 1 depicts an example of a system 100 that
`[0015]
`includes a wireless contentserver. In the example of FIG.1,
`the system 100 includes a wireless content server 102,
`wireless devices 104-1 to 104-N (referred to collectivelyas
`wireless devices 104), a wireless network 106, a content
`provider 108, and a wired network 110.
`
`[0016] The wireless content server 102 may be imple-
`mented on any of many possible computer systems having
`different architectures. For example, personal computers
`based onan Intel microprocessor often have multiple buses,
`one of which can be an I/O busfor peripherals and one that
`directly connects processor and memory(often referred to as
`a memory bus). The buses are connected together through
`bridge components that perform any necessary translation
`due to differing bus protocols. Network computers are
`another type of computer system that can be used. Network
`computers do not usually include a hard disk or other mass
`storage, and the executable programs are loaded from a
`network connection into memory. A Web TV system, which
`is knownin the art,
`is also considered to be a computer
`system, but it may lack some of the features typical with
`personal computers, such as certain input or output devices.
`
`[0017] An apparatus for performing techniques described
`herein may be specially constructed for the required pur-
`poses, or it may comprise a general purpose computer
`selectively activated or reconfigured by a computer program
`stored in the computer. Such a computer program may be
`stored in a computer readable storage medium, such as, by
`way of example but not
`limitation, read-only memories
`
`(ROMs), RAMs, EPROMs, EEPROMs, magnetic oroptical
`cards, any type of disk including floppy disks, optical disks,
`CD-ROMs, DVDs, and magnetic-optical disks, or any
`known or convenient type of media suitable for storing
`electronic instructions.
`
`server 102 includes an
`[0018] The wireless content
`optional physical
`interface 112, a content provisioning
`engine 114, a database interface 116, a content database 118,
`an optional network interface 120, a wireless interface 122,
`and a content server engine 124. The optional physical
`interface 112 may include any port to which a device maybe
`directly connected to the wireless content server 102 (such
`as, by way of example butnotlimitation, a USBport, though
`any applicable known or convenient
`interface could be
`used).
`
`[0019] The content provisioning engine 114 includes a
`processor(such as, by wayof example butnot limitation, a
`microprocessor, though any applicable known or convenient
`processor could be used), whether dedicated or shared, and
`
`9
`
`

`

`US 2007/0136446 Al
`
`Jun. 14, 2007
`
`stored
`a computer-readable medium having programs
`hereon. The computer-readable medium may include
`nemory, which may be referred to as primary memory
`including, by way of example but not limitation, dynamic
`random access memory (DRAM) or static RAM (SRAM),
`hough any applicable known or convenient memory could
`be used) or secondary memory (including, by way of
`example but not
`limitation, a magnetic hard disk or an
`optical disk, though any applicable known or convenient
`nemory could be used). Data stored in secondary memory
`is typically written to primary memory during execution of
`he programs embodied in the computer-readable medium.
`The computer-readable medium encompassesa carrier wave
`hat encodes a data signal.
`
`[0020] The wireless content server 102 may be controlled
`by an operating system (OS). An OSis a software pro-
`gram—used on most, but not all, computer systems—that
`nanages the hardware and software resources of a computer.
`Typically, the OS performs basic tasks such as controlling
`and allocating memory, prioritizing system requests, con-
`rolling input and output devices, facilitating networking,
`and managing files. Examples of operating systems for
`personal computers include Microsoft Windows®, Linux,
`Mac OS®, orARM®(thelatter being popular in embedded
`systems). Delineating between the OS and application soft-
`ware is sometimesrather difficult. Fortunately, delineation is
`ot necessary to understand the techniques described herein,
`since any reasonable delineation should suflice.
`
`
`
`
`
`
`
`in typical
`[0021] The wireless content server 102 will,
`implementations, include I/O devices (such as, by way of
`example but not limitation, a keyboard, a disk drive, a
`printer, a scanner, a mouse, or buttons, switches, wheels, or
`dials). A display controller may control,
`in a known or
`convenient manner, a display (such as, by way of example
`but not limitation, a cathode ray tube (CRT)orliquid crystal
`display (LCD)). The display controller and/or other I/O
`controllers may include device drivers. A device driver is a
`specific type of computer software developed to allow
`interaction with hardware devices. Typically this constitutes
`an interface for communicating with the device, through a
`bus or communications subsystem that
`the hardware is
`connected to, providing commandsto and/or receiving data
`from the device, and on the other end, the requisite interfaces
`o the OS and software applications.
`
`
`
`[0022] The wireless devices 104 may include any device
`capable of receiving and using content from the wireless
`content server 102. Such devices may include wireless
`eadsets, handsets (such as, by way of example but not
`limitation, PDAs, cell phones, and the like), speakers, pro-
`jectors, etc.
`
`[0023] The wireless network 106 mayinclude one or more
`wireless access points that are capable ofreceiving wireless
`signals from the wireless content server 102 andthe wireless
`devices 104 and transmitting the wireless signals to the
`wireless content server 102 and the wireless devices 104. In
`this way, the wireless content server 102 and the wireless
`devices 104 are wirelessly connected to one another. In an
`embodiment, the wireless content server 102 could include
`an access point to which the wireless devices 104 connect
`(thereby obviating the need for a separate wireless network
`106). However, primarily for illustrative simplicity,
`it
`is
`assumed that a wireless network actually exists as distinct
`
`from the wireless content server 102, as shown in the
`example of FIG. 1. It should be noted that one or more ofthe
`wireless devices 104 could incorporate an access point, in a
`manner similar to that just described with respect to the
`wireless content server 102. The wireless network 106 may
`or may not be connected to a wired network.
`
`[0024] The content provider 108 may be any known or
`convenient device that is capable of providing content to the
`wireless content server 102. In an embodiment, the content
`provider 108 could include one or more of the wireless
`devices 104. There are many ways through which the
`content provider 108 provides content to the wireless con-
`tent server 102, a few of which are described later where the
`system 100 is described “in operation.” There are also many
`paths through which the content provider 108 could provide
`content to the wireless content server, which are generalized
`to the paths 126, 128, and 130 in the example of FIG. 1, each
`of which is described later where the system 100 is described
`“Gn operation.”
`
`[0025] The means by which the content provider 108 is
`stimulated to provide content is not critical. Some examples
`include a request by the wireless content server 102, a
`request by one of the wireless devices 104 (possibly indi-
`rectly through the wireless content server 102), a request
`received through email, instant messaging, or some other
`messaging protocol from a device (not shown), in accor-
`dance with a schedule at
`the content provider 108, as
`designated by an administrator (whether humanorartificial),
`or some other convenient means. The number of waysthat
`the content provider 108 could be stimulated to provide
`content is nearly innumerable so no attempt is made to
`provideall cases.
`
`[0026] Although the wired network 110 is not a critical
`component of the system 100, it will exist in any embodi-
`ment, even if not used, because the wired network 110 is
`intended to include the Internet. However,
`in a particular
`embodiment, the wired network 110 could include a WAN.
`LAN,or someother public, semi-public, private, ad hoc, or
`stand-alone (e.g., uncoupled to the Internet) network. The
`wired network 110 may include one or more wireless
`networks that are connected at some point
`to a wired
`backbone.
`
`In operation, (according to a first content provi-
`[0027]
`sioning embodiment) the content provider 108 sends content
`to the wireless content server 102 via the path 126 to the
`physical
`interface 112. The physical
`interface 112 is
`intended to include any applicable knownor convenientport
`through which a device can be directly coupled to the
`wireless content server. The connection of the device to the
`
`physical interface 112 is intended to include indirect con-
`nections, so long as the device is relatively local, and is wire
`connected (since if the device is wirelessly connected, the
`device would be connected via the wireless interface 122).
`
`[0028] The content provisioning engine 114 controls how
`content recetved on the physical
`interface 112 is to be
`handled. In a simple case, the content provisioning engine
`114 transmits, forwards, or allows through content to the
`database interface 116, which stores the content
`in the
`content database 118. Content may include audiofiles,
`multimediafiles, software applications, or any other content
`that is capable of playback at one or more of the wireless
`devices 104.
`
`10
`
`10
`
`

`

`US 2007/0136446 Al
`
`Jun. 14, 2007
`
`the network interface 120,
`alternative. Upon receipt at
`contentis treated similarly to that described with respect to
`the first content provisionig embodiment.
`
`it may be
`If the content database 118 is full,
`[0029]
`required for the content provisioning engine 114 to decide
`what to do. For example, the content provisioning engine
`114 mayreplace the oldest content with the content received
`on the physical
`interface 112. Alternatively,
`the content
`provisioning engine 114 may replace content that has been
`accessed least recently with the content received on the
`physical interface 112. Alternatively, the content provision-
`ing engine 114 mayreplace random content with the content
`received on the physical interface 112. In another embodi-
`ment, a portion of the content database 118 may be a shared
`library, while another portion may be allocated between
`users.
`
`[0030] Content could also havea priority value assigned to
`it uponreceipt, and the content provisioning engine 114 may
`replace lowerpriority content with higher priority content.
`In such an alternative, it may be possible that new content
`would not even be written to the content database 118,if it
`is lowerpriority than all of the content that currentlyfills up
`he content database 118.
`
`[0031] Avuser associated with content may also effect the
`determination by the content provisioning engine 114
`regarding whetherto replace older content with new content.
`For example, the content database 118 may be segmented to
`allow storage of content by users associated with one or
`nore of the wireless devices 104. Ifa first user associated
`
`with the wireless device 104-1 fills up the content database
`118 through requests to the content provider 108, a second
`ser associated with the wireless device 104-2 may request
`ew content that overwrites contentofthefirst user. Thefirst
`ser would not then be able to overwrite the second user’s
`requested content with a later request, even if the second
`ser’s requested contentis older. This may bereferredto as
`dynamicallocation of storage by user, since users can have
`nore than their share of contentif other users do not utilize
`
`heir full share. Alternatively, the content database 118 could
`be statically apportioned byuser such thata first user cannot
`fill up more than an allocated portion ofthe content database
`118, even if a second user does not use up his or herallocated
`portion.
`
`In operation, (according to a third content provi-
`[0034]
`sioning embodiment) the content provider 108 sends content
`to the wireless content server 102 via the path 130 to the
`wireless
`interface 122. The wireless
`interface 122 is
`intended to include any applicable knownor convenientport
`through which a device can be coupled to the wireless
`content server through a wireless network. For example, the
`wireless interface 122 may be associated with any known or
`convenient wireless protocol (such as, by way of example
`
`
`but not limitation, IEEE 802.11a/b/g/n, IEEE 802.15 (Blue-
`tooth/UWB/Zigbee), or a proprietary wireless protocol).
`
`in this content provi-
`[0035] The content provider 108,
`sioning embodiment, sends content through the wireless
`network 106 via the path 130. (The path 130 is represented
`as a dotted line because it is an alternative to the path 126,
`described previously).
`It may be noted that the path 126 (and
`the physical interface 112) and the path 130 (andthe wireless
`interface 122) may be implemented together or in the
`alternative. Upon receipt at
`the wireless interface 122,
`contentis treated similarly to that described with respect to
`the first content provisioning embodiment.
`
`
`
`
`
`
`It should be noted that in an embodimentin which
`[0036]
`the content provider 108 uses path 130, the content provider
`108 mayactually be included in the devices 104. However,
`for illustrative purposes, the content provider 108 is treated
`as distinct from the wireless devices 104 when describing
`instances where contentis provided to the wireless interface
`122 (concordantly, the wireless devices 104 are treated as
`distinct from the content provider 108 when content
`is
`received from the wireless interface 122). Thus, where
`content is transceived (e.g., the wireless devices 104 are
`capable of both sending and receiving content) the content
`provider 108 may not be needed as a distinct component
`(though it still could exist, in certain implementations, as a
`device that does not play content, but can provideit).
`
`In operation, regardless of the content provisioning
`[0037]
`embodiment used, the wireless devices 104 receive content
`from the wireless content server 102. The wireless devices
`104 may request content (or the request may be generated
`internally at the content server engine 124, or the request
`may be received from some other device (not shown)). A
`request for content from the wireless devices 104 is received
`at the wireless interface 122, and the content server engine
`124 determines how to respond. The content server engine
`124 will access the content database 118 through the data-
`base interface 116 to obtain the requested content, and
`transmit, forward, or pass through the content to the wireless
`interface 122 for transmission to the appropriate wireless
`device(s) 104. The content server engine 124 mayrequest
`additional information (e.g., narrow the search, provide an
`intendedlist of recipients, etc.) in the course of determining
`the appropriate content to serve.
`
`[0038] As used herein, algorithmic descriptions within a
`computer memory are believed to most effectively convey
`the techniques to others skilled in the art. An algorithm is
`here, and generally, conceived to be a self-consistent
`sequence of operations leading to a desired result. The
`operations are those requiring physical manipulations of
`physical quantities. Usually, though not necessarily, these
`
`11
`
`
`
`
`
`In operation, (according to a second content pro-
`[0032]
`Visioning embodiment) the content provider 108 sends con-
`ent to the wireless content server 102 via the path 128 to the
`etwork interface 120. The network interface 120 is
`
`intendedto include anyapplicable knownor convenientport
`hrough which a device can be coupled to the wireless
`content server through a wired network. For example, the
`etwork interface 120 maybe coupled to a modem (suchas,
`by wayof example but not limitation, an analog modem, an
`ISDN modem, or a cable modem). The network interface
`120 mayalso include a token ring interface,satellite trans-
`nission interface(e.g., “direct PC”), AM/FM/XMreceiver,
`or some other known or convenient interface for coupling
`one computer system to other computer systems accessible
`hrough a wired network.
`
`in this content provi-
`[0033] The content provider 108,
`sioning embodiment, sends content through the wired net-
`work 110 via the path 128. (The path 128 is represented as
`a dotted line because it is an alternative to the path 126,
`described previously). It maybe noted that the path 126 (and
`the physical interface 112) andthe path 128 (and the network
`interface 120) may be implemented together or in the
`
`11
`
`

`

`US 2007/0136446 Al
`
`Jun. 14, 2007
`
`quantities take the form ofelectrical or magnetic signals
`capable of being stored, transferred, combined, compared,
`and otherwise manipulated. It has proven convenient at
`imes, principally for reasons of commonusage,to refer to
`hese signals as bits, values, elements, symbols, characters,
`erms, numbers, or the like.
`
`It should be borne in mind, however, that all of
`[0039]
`hese and similar terms are to be associated with the appro-
`priate physical quantities and are merely convenientlabels
`applied to these quantities. Unless specifically stated other-
`wise as apparent from the following discussion,it is appre-
`ciated that throughout the description, discussions utilizing
`ermssuch as “processing”or “computing”or “calculating”
`or “determining” or “displaying” or the like, refer to the
`action and processes of a computer that manipulates and
`ransforms data represented as physical (electronic) quanti-
`ies within the computer system’s registers and memories
`into other data similarly represented as physical quantities
`within the computer system memoriesor registers or other
`such information storage, transmission or display devices.
`
`wireless I/O devices. However, the WPMclients 204 maybe
`distinguishable in that
`they are recipients of media for
`playback. The WPM clients 204 may be further distinguish-
`able from the wireless I/O devices 208 if they use, for
`example, a different protocol and/or a different wireless
`interface at the WPM server 202.
`
`In the example of FIG. 2, in operation, the WPM
`[0044]
`server 202 receives input on the wired I/O interface 210
`and/or the wireless interface 212. The input may include
`commandsthat are used by the WPMScontrol unit 218 to
`change parameters, effect media storage, or accomplish
`someother task. The input is received at the I/O control 214
`and converted (if necessary) to a format usable by the
`WPMScontrol unit 218. For example, if the input is in the
`form of voice, the I/O control 214 may makeuse of the voice
`recognition engine 216 to convert the voice commands to an
`appropriate format. The I/O control 214 provides the com-
`mands and/ordata associated with the input to the WPMS
`control unit 218.
`
`[0045] The input may be usedto change characteristics of
`the WPMScontrol unit 218, search parameters or other
`characteristics of the library search engine 220, or to store
`media in the media library 224 (via the database interface
`222). For example, the input mayinclude a commandto
`dynamically or statically apportion the media library 224
`such that storage resources are split between users associ-
`ated with one or more of the WPM clients 204. As another
`
`example, the data could include media thatis to be stored in
`the media library 224.
`
`
`
`
`[0040] The algorithms and displays presented herein are
`ot inherently related to any particular computer architec-
`ture. The techniques may be implemented using any known
`or convenient programming language, whether high level
`e.g., C/C++) or lowlevel (e.g., assembly language), and
`whetherinterpreted (e.g., Perl), compiled (e.g., C/C++), or
`Just-In-Time (JIT) compiled from bytecode (e.g., Java). Any
`known or convenient computer, regardless of architecture,
`should be capable of executing machine code compiled or
`otherwise assembled from any language into machine code
`hat is compatible with the computer’s architecture, includ-
`ing that of embedded systems,if applicable.
`
`In the example of FIG. 2, in operation, the WPM
`[0046]
`clients 204 attempt to wirelessly connect (initiation) to the
`WPMserver 202. The wireless connection may be formed in
`FIG. 2 depicts an example of a system 200 includ-
`[0041]
`any applicable known or convenient manner.
`ing a wireless portable media (WPM)server andaplurality
`[0047] Once a wireless connection is established,
`the
`of WPM clients. In the example of FIG. 2, the system 200
`WPMclients 204 make requests for media from the WPM
`includes a WPM server 202, WPM clients 204-1 to 204-N
`server 202. The requests are received at the wireless inter-
`referred to collectively as the WPMclients 204), wired I/O
`face 212 (which may or may not be a different wireless
`devices 206, and wireless I/O devices 208. In the example of
`interface from that on which input from the wireless I/O
`FIG. 2, the WPMserver 202 includes a wired I/O. interface
`devices 208 are received). The I/O control 214 provides the
`210, a wireless interface 212, /O control 214, an optional
`input to the WPMScontrol unit 218. The input mayinclude
`voice recognition engine 216, a WPM Server (WPMS)
`a request for media content,
`in which case the WPMS
`control unit 218, a library search engine 220, a database
`control unit 218 usesthe library search engine 220 to find the
`interface 222, and a media library 224. Advantageously, the
`media in the medialibrary 224. The input mayincludealist
`WPMserver 202 can be mountedpractically anywhere, such
`of intended recipients for media (which may be included in
`as in an automobile, on a worn article, or some other mobile
`a single request or sent separately).
`or small thing.
`
`[0042] The WPMclients 204 are anyportable devices that
`are capable of wirelessly receiving media from the WPM
`server 202 for playback. For audio media,this will typically
`include some type of speaker system (e.g., headphones or
`portable speakers). For video, this will typically include
`some type of display (e.g. an LCD or a projector). For
`multi-media, of course, this will typically include both a
`speaker system and a display.
`
`[0043] The wired I/O devices 206 mayinclude any appli-
`cable known or convenient I/O device (such as, by way of
`example but not limitation, buttons, keyboard, or micro-
`phone). The wireless I/O devices 208 may include many of
`the same types of devices that can be wire connected (e.g.,
`wireless keyboards or microphones), but further include
`remote controls, which are by definition wireless. It may be
`noted that the WPM clients 204 may be thought of as
`
`Inresponseto a request, the WPM control unit 218
`[0048]
`transmits, forwards, or allows through to the appropriate
`WPMclient(s) 204 media found in the media library 224 in
`accordance with searchcriteria provided in the input to the
`library search engine 220. Search criteria may be found in
`inputs from the WPM clients 204, generated in the WPMS
`control unit, and/or generated in the library search engine
`220 using instructions provided by the WPMScontrol unit.
`Searchcriteria may include, in an example where the media
`is music, song title, album name, artist name, keywords,
`lyrics, a hummed tune (input, for example, via a micro-
`phone), popularity, similarity to other music, genre, etc.
`
`[0049] The storage capacity for the media library 224 will
`depend on the memory capabilities of the WPM server 202.
`For example, a typical flash memory maystore 10-20 songs,
`depending on the music compression technique. The media
`
`12
`
`12
`
`

`

`US 2007/0136446 Al
`
`Jun. 14, 2007
`
`
`
`library 224 mayalso store media files for a single content
`request (e.g., a song) of different sizes based on different
`compression schemes. When a mediafile is requested, the
`nedia file’s size to transmit to the requesting device may be
`selected based on the available bandwidth in the system for
`hat transmission, which will depend on the propagation
`environment, the number of other users accessing the sys-
`em, and the amount of interference in the wireless signal
`bandwidth. The media library 224 may be created by one or
`nore users, and may be partitioned such that each user has
`heir own individual library (which can be made accessible
`o all/some other users) and/or there is a shared library
`accessible byall users.
`
`FIG. 3 depicts a flowchart 300 of an exampleof a
`[0050]
`nethod for providing content from a WPMserver to aWPM
`client. This method and other methods are depicted as
`serially arranged modules. However, modules of the meth-
`ods may be reordered, or arranged for parallel execution as
`appropriate. In the example of FIG. 3, the flowchart 300
`begins at module 302 where a wireless link is established
`between a WPMserver and a WPMclient. In the example
`of FIG.3, the flowchart 300 continues to module 304 where
`a request is received from the WPM client at the WPM
`server overthe wireless link.
`
`In the example of FIG. 3, the flowchart 300 con-
`[0051]
`tinues to module 306 where search criteria are determined.
`The search criteria may be found in the request from the
`WPMclient, or may be generated using someof the data in
`the request. In the example of FIG. 3, the flowchart 300
`continues to module 308 where an attempt
`is made to
`identify content files matching searchcriteria.
`
`In the example of FIG. 3, the flowchart 300 con-
`[0052]
`tinues to decision point 310 where it is determined whether
`one or more matches are found. Matches occur when the
`search criteria identify one or more contentfiles i

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket