SYSTEM AND METHOD FOR IMPROVED VIDEO STREAMING

- Wal-Mart

A system and method for improved video streaming is disclosed herein. After receiving a log-in request from a user, an embodiment can access the user's account information to find available media files for the user. An embodiment can then determine if any of the available media files for the user are partially viewed. The partially viewed media files are displayed to the user, including a title of the media file and a viewed time of each media file. Thereafter, a user can select one of the list of partially viewed media files. Playback of the media file begins at the viewed time of the selected media file. Other embodiments are also disclosed herein.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Provisional Patent Application Ser. No. 62/059,997, filed Oct. 5, 2014, incorporated herein by reference.

TECHNICAL FIELD

This disclosure relates generally to a media files, and relates more particularly to physical media files and related streaming media files.

BACKGROUND

People often desire to view or listen to content at their home or place of business. Content can include media such as movies, television shows, and music. Music is often purchased in the form of physical media such as CDs as well as via digital media, such as MP3s. Music can also be streamed. Movies and television shows can be purchased in the form of physical media such as DVDs and Blu-rays. Movies also can be streamed or downloaded using a variety of file formats and streaming services. It can be desirable to provide an improved viewing experience for users of a streaming service.

BRIEF DESCRIPTION OF THE DRAWINGS

To facilitate further description of the embodiments, the following drawings are provided in which:

FIG. 1 illustrates a front elevation view of a computer system that is suitable for implementing an embodiment of the system;

FIG. 2 illustrates a representative block diagram of an example of the elements included in the circuit boards inside a chassis of the computer system of FIG. 1;

FIG. 3 illustrates an exemplary screen shot of an embodiment;

FIG. 4 is a flowchart illustrating the operation of an embodiment for tracking the viewed time of media files in an embodiment;

FIG. 5 is a flowchart illustrating the operation of an embodiment for displaying information regarding partially viewed media;

FIG. 6 is a block diagram illustrating an exemplary system for tracking the viewed time of media files in an embodiment; and

FIG. 7 is a block diagram illustrating an exemplary system for displaying information regarding partially viewed media.

For simplicity and clarity of illustration, the drawing figures illustrate the general manner of construction, and descriptions and details of well-known features and techniques might be omitted to avoid unnecessarily obscuring the present disclosure. Additionally, elements in the drawing figures are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures might be exaggerated relative to other elements to help improve understanding of embodiments of the present disclosure. The same reference numerals in different figures denote the same elements.

The terms “first,” “second,” “third,” “fourth,” and the like in the description and in the claims, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms “include,” and “have,” and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, device, or apparatus that comprises a list of elements is not necessarily limited to those elements, but might include other elements not expressly listed or inherent to such process, method, system, article, device, or apparatus.

The terms “left,” “right,” “front,” “back,” “top,” “bottom,” “over,” “under,” and the like in the description and in the claims, if any, are used for descriptive purposes and not necessarily for describing permanent relative positions. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the apparatus, methods, and/or articles of manufacture described herein are, for example, capable of operation in other orientations than those illustrated or otherwise described herein.

The terms “couple,” “coupled,” “couples,” “coupling,” and the like should be broadly understood and refer to connecting two or more elements mechanically and/or otherwise. Two or more electrical elements can be electrically coupled together, but not be mechanically or otherwise coupled together. Coupling can be for any length of time, e.g., permanent or semi-permanent or only for an instant. “Electrical coupling” and the like should be broadly understood and include electrical coupling of all types. The absence of the word “removably,” “removable,” and the like near the word “coupled,” and the like does not mean that the coupling, etc. in question is or is not removable.

As defined herein, two or more elements are “integral” if they are comprised of the same piece of material. As defined herein, two or more elements are “non-integral” if each is comprised of a different piece of material.

As defined herein, “approximately” can, in some embodiments, mean within plus or minus ten percent of the stated value. In other embodiments, “approximately” can mean within plus or minus five percent of the stated value. In further embodiments, “approximately” can mean within plus or minus three percent of the stated value. In yet other embodiments, “approximately” can mean within plus or minus one percent of the stated value.

DESCRIPTION OF EXAMPLES OF EMBODIMENTS

In one embodiment, a method can comprise: receiving a log-in request from a user; accessing the user's account information to find available media files for the user; determining if any of the available media files for the user are partially viewed to form a list of two or more partially viewed media files; transmitting for display information regarding the list of one or more partially viewed media files, the information including a title and a viewed time for each media file in the list of two or more partially viewed media files; receiving a selection from the user indicating the desire to watch one of the list of two or more partially viewed media files; and transmitting the selected partially viewed media file in such a manner to result in playback of the selected partially viewed media file starting at the viewed time of the selected partially viewed media file.

In one embodiment, a system can comprise: one or more processing modules; and one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform the acts of receiving a log-in request from a user; accessing the user's account information to find available media files for the user; determining if any of the available media files for the user are partially viewed to form a list of two or more partially viewed media files; transmitting for display information regarding the list of one or more partially viewed media files, the information including a title and a viewed time for each media file in the list of two or more partially viewed media files; receiving a selection from the user indicating the desire to watch one of the list of two or more partially viewed media files; and transmitting the selected partially viewed media file in such a manner to result in playback of the selected partially viewed media file starting at the viewed time of the selected partially viewed media file.

In one embodiment, a method can comprise: receiving a log-in request from a user; accessing the user's account information to find available media files for the user; receiving a selection from the user indicating the desire to watch one of the available media files; transmitting the selected media file in such a manner to the user to result in playback of the selected media file; receiving an indication from the user to stop playback of the selected media file; and storing the viewed time of the selected media file with the user's account information.

In one embodiment, a system can comprise: one or more processing modules; and one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform the acts of receiving a log-in request from a user; accessing the user's account information to find available media files for the user; receiving a selection from the user indicating the desire to watch one of the available media files; transmitting the selected media file in such a manner to the user to result in playback of the selected media file; receiving an indication from the user to stop playback of the selected media file; and storing the viewed time of the selected media file with the user's account information.

Turning to the drawings, FIG. 1 illustrates an exemplary embodiment of a computer system 100, all of which or a portion of which can be suitable for implementing the techniques described herein. As an example, a different or separate one of a chassis 102 (and its internal components) can be suitable for implementing the techniques described herein. Furthermore, one or more elements of computer system 100 (e.g., a refreshing monitor 106, a keyboard 104, and/or a mouse 110, etc.) also can be appropriate for implementing the techniques described herein. Computer system 100 comprises chassis 102 containing one or more circuit boards (not shown), a Universal Serial Bus (USB) port 112, a Compact Disc Read-Only Memory (CD-ROM), Digital Video Disc (DVD) drive, or Blu-ray drive 116, and a hard drive 114. A representative block diagram of the elements included on the circuit boards inside chassis 102 is shown in FIG. 2. A central processing unit (CPU) 210 in FIG. 2 is coupled to a system bus 214 in FIG. 2. In various embodiments, the architecture of CPU 210 can be compliant with any of a variety of commercially distributed architecture families.

Continuing with FIG. 2, system bus 214 also is coupled to a memory storage unit 208, where memory storage unit 208 comprises both read only memory (ROM) and random access memory (RAM). Non-volatile portions of memory storage unit 208 or the ROM can be encoded with a boot code sequence suitable for restoring computer system 100 (FIG. 1) to a functional state after a system reset. In addition, memory storage unit 208 can comprise microcode such as a Basic Input-Output System (BIOS) or Unified Extensible Firmware Interface (UEFI). In some examples, the one or more memory storage units of the various embodiments disclosed herein can comprise memory storage unit 208, a USB-equipped electronic device, such as, an external memory storage unit (not shown) coupled to universal serial bus (USB) port 112 (FIGS. 1-2), hard drive 114 (FIGS. 1-2), and/or CD-ROM, DVD drive, or Blu-ray drive 116 (FIGS. 1-2). In the same or different examples, the one or more memory storage units of the various embodiments disclosed herein can comprise an operating system, which can be a software program that manages the hardware and software resources of a computer and/or a computer network. The operating system can perform basic tasks such as, for example, controlling and allocating memory, prioritizing the processing of instructions, controlling input and output devices, facilitating networking, and managing files. Some examples of common operating systems can comprise various versions/distributions of Microsoft® Windows® operating system (OS), Apple® OS X, UNIX® OS, and Linux® OS.

As used herein, “processor” and/or “processing module” means any type of computational circuit, such as but not limited to a microprocessor, a microcontroller, a controller, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a graphics processor, a digital signal processor, or any other type of processor or processing circuit capable of performing the desired functions. In some examples, the one or more processors of the various embodiments disclosed herein can comprise CPU 210.

In the depicted embodiment of FIG. 2, various I/O devices such as a disk controller 204, a graphics adapter 224, a video controller 202, a keyboard adapter 226, a mouse adapter 206, a network adapter 220, and other I/O devices 222 can be coupled to system bus 214. Keyboard adapter 226 and mouse adapter 206 are coupled to keyboard 104 (FIGS. 1-2) and mouse 110 (FIGS. 1-2), respectively, of computer system 100 (FIG. 1). While graphics adapter 224 and video controller 202 are indicated as distinct units in FIG. 2, video controller 202 can be integrated into graphics adapter 224, or vice versa in other embodiments. Video controller 202 is suitable for refreshing monitor 106 (FIGS. 1-2) to display images on a screen 108 (FIG. 1) of computer system 100 (FIG. 1). Disk controller 204 can control hard drive 114 (FIGS. 1-2), USB port 112 (FIGS. 1-2), and CD-ROM drive 116 (FIGS. 1-2). In other embodiments, distinct units can be used to control each of these devices separately.

In some embodiments, network adapter 220 can comprise and/or be implemented as a WNIC (wireless network interface controller) card (not shown) plugged or coupled to an expansion port (not shown) in computer system 100 (FIG. 1). In other embodiments, the WNIC card can be a wireless network card built into computer system 100 (FIG. 1). A wireless network adapter can be built into computer system 100 by having wireless communication capabilities integrated into the motherboard chipset (not shown), or implemented via one or more dedicated wireless communication chips (not shown), connected through a PCI (peripheral component interconnector) or a PCI express bus of computer system 100 (FIG. 1) or USB port 112 (FIG. 1). In other embodiments, network adapter 220 can comprise and/or be implemented as a wired network interface controller card (not shown).

Although many other components of computer system 100 (FIG. 1) are not shown, such components and their interconnection are well known to those of ordinary skill in the art. Accordingly, further details concerning the construction and composition of computer system 100 and the circuit boards inside chassis 102 (FIG. 1) are not discussed herein.

When computer system 100 in FIG. 1 is running, program instructions stored on a USB-equipped electronic device connected to USB port 112, on a CD-ROM or DVD in CD-ROM and/or DVD drive 116, on hard drive 114, or in memory storage unit 208 (FIG. 2) are executed by CPU 210 (FIG. 2). A portion of the program instructions, stored on these devices, can be suitable for carrying out at least part of the techniques described herein.

Although computer system 100 is illustrated as a desktop computer in FIG. 1, there can be examples where computer system 100 can take a different form factor while still having functional elements similar to those described for computer system 100. In some embodiments, computer system 100 can comprise a single computer, a single server, or a cluster or collection of computers or servers, or a cloud of computers or servers. Typically, a cluster or collection of servers can be used when the demand on computer system 100 exceeds the reasonable capability of a single server or computer. In certain embodiments, computer system 100 can comprise a portable computer, such as a laptop computer. In certain other embodiments, computer system 100 can comprise a mobile device, such as a smart phone or a tablet. In certain additional embodiments, computer system 100 can comprise an embedded system. It should also be understood that a particular configuration of computer system 100 might or might not contain each of the items shown in FIG. 1 or 2 or might in fact contain multiple of each of the items shown in FIG. 1 or 2. For example, certain implementations of computer system 100 might not contain a CD-ROM, DVD, or Blu-ray drive 116. Other implementations of computer system 100 might contain two CD-ROM, DVD, or Blu-ray drives 116. Other implementations of computer system 100 can contain 2 or more monitors 106. Other implementations of computer system 100 could contain no monitors. Other implementations of computer system 100 can contain equivalents to certain items. For example, hard drive 114 can be replaced or augmented by a solid-state drive (SSD). Computer system 100 could be a special-purpose machine, such as a set-top box or video game console. In other embodiments, computer system 100 can be a general-purpose computer.

Today's technology provides many different ways for users to access content. Optical discs provide music, movie, and television (“TV”) show content to users in a high-quality, yet compact medium. High-speed Internet allows users to “stream” or otherwise download content over the Internet to their Internet-capable devices, without the need to use physical media. The terms stream and download might be used interchangeably in the remainder of this specification. Exemplary content can include, but is not limited to, movies, music, TV shows, books, magazines, podcasts, radio shows, and the like. Internet-capable devices can include, but are not limited to, set-top boxes, gaming consoles, personal computers, tablets, smartphones, and the like. Some Internet-capable devices also provide the capability to read optical media, such as compact discs (CDs), Digital Versatile Discs (DVDs), and Blu-ray through the use of an attached or built-in optical reader and/or writer. As of 2014, exemplary Internet capable devices can include smartphones, tablets such as Apple's iPad, Microsoft's Surface, Samsung's Galaxy Tab, and Amazon's Kindle Fire, set top boxes or plug-in devices such as Roku, Google's Chromecast, and Apple TV, video game devices such as Sony's Playstation 3 and Playstation 4, Nintendo's Wii and Wii U, and Microsoft's Xbox 360 and Xbox One, personal computers (including both desktop and laptop devices), Blu-ray and DVD drives, and smart TVs.

With such a device, a user can select content that he wishes to read, view, and/or hear. The user can read, view, and/or hear the content on or from a built-in display, or via an attached TV, monitor, and/or speakers.

Embodiments provide a method and system by which users can navigate across movie and TV shows and find their desired content quickly and easily. In one embodiment, a user is able to access a watch list, where the user can view a list of which media files he has previously watched or started to watch. In such a manner, a user is able to view a movie or an episode of a TV show at the point they stopped watching, even if the user is on a different device.

In some embodiments, after a user signs in to a streaming account, the user can be presented with a listing of all TV episodes and movies that the user has started watching, but did not finish watching. This data can be tracked in one of a variety of ways known in the art. For example, a streaming service often keeps track of when a user has stopped viewing a movie or TV episode. The streaming service can have several reasons for tracking such information. For example, the streaming service might need to know where a particular user is because the streaming service needs to know which portion of the movie or TV episode to transmit next. The streaming service might also keep track of such information because users often pause content, either on purpose or accidentally (for example, in the event of a power outage.)

With reference to FIG. 3, an exemplary screen shot 300 is presented. FIG. 3 is merely exemplary and embodiments of the screen representation and menu system are not limited to the embodiments presented herein. The screen representation and menu system can be employed in many different embodiments or examples not specifically depicted or described herein. As an example, screen shot 300 can be shown on a screen of refreshing monitor 106 (FIG. 1).

Screen shot 300 shows a menu 302 with various available choices. Among the choices is watchlist 304, which can be configured to show the movies/TV shows available for this particular user. In screen shot 300, the user has selected watchlist 304, indicated by the underline under the choice. In some embodiments, other methods of notation can be used. For example, the chosen selection can be a different shade or a different color than the selections that were not chosen.

Three choices are shown to the user in boxes below menu 302. Boxes 310, 330, and 350 are available in this particular example. Box 310 represents the TV show, Walking Dead, at season 3, episode 5. Box 330 represents a movie: X-Men: Days of Future Past. Box 350 represents a movie: The Lego Movie. In some embodiments (such as the embodiment shown in FIG. 3) boxes 310, 330, and 350 can show the title of the movie or the TV show. In some embodiments, the boxes 310, 330, and 350 can also include a graphical representation that illustrates the content of the media, such as a movie poster or title graphics.

Within each of boxes 310, 330, and 350 are several design elements. The design elements illustrated in FIG. 3 are merely exemplary and other design elements are also possible. For example, buttons 312, 332, and 352 can serve as selection buttons such that, when the user selects those buttons, the corresponding media can begin or resume playback. Graphs 314, 334, and 354 are bar graphs illustrating how far into the media the user was when the user last viewed the media (the “viewed time”). Timers 316, 336, and 356 show that same data in textual format. In some embodiments, graphs 314, 334, and 354 and timers 316, 336, and 356 are both shown to the user. In some embodiments, only the graphs are shown. In some embodiments, only the timers are shown. Either the graphs or the timers can serve as visual representation of the viewed time. In some embodiment, the user can have the ability to choose which of the graph and timer are shown. While only three different media files are shown in FIG. 3, there can be more or fewer choices shown to the user.

In FIG. 3, it can be seen in timer 336 that the user stopped viewing X-Men: Days of Future Past at 101 minutes and 44 seconds into the movie, which is 131 minutes and 52 seconds long. While this data was shown in minutes and seconds, in some embodiments, the data can be shown as hours, minutes, and seconds (e.g., 1:41:44/2:11:52). The format of the text can be changed in some embodiments. Graph 334 is a visual representation of that data. Such a visual representation can be useful to a user to choose which media file to view. The user will be able to see that he is closer to the end of X-Men: Days of Future Past than he is with The Lego Movie. The user can use such information to choose which movie to view.

While the visual representation is shown as a horizontal bar graph 334, the visual representation can take a variety of different formats. In some embodiments, the visual representation can be a pie chart. In some embodiments, the visual representation can be a vertical bar graph. Other types of visual representation can also be used.

It can also be seen that the user stopped watching The Lego Movie at 64 minutes 21 seconds into the 100 minutes and 11 second movie. By activating button 352, the user signals to the streaming service provider that he/she wishes to resume playback of the Lego Movie at 64 minutes and 21 seconds into the movie.

This functionality can be provided even if the user is using a different device. For example, a user can begin watching a TV episode on a laptop computer, and then, the user can resume watching the same TV episode using a tablet. As another example, a user can begin watching a movie on a device attached to her living room TV, and after stopping the movie, the user can resume watching the same movie on their bedroom TV at the same point in the movie that she stopped watching in the living room.

The data shown in FIG. 3 can be presented in a variety of other manners. In some embodiments, a user is presented with a scrollable list of TV episodes or movies that he has been watching. In some embodiments, this list can be in a text format. In some embodiments, the list can be graphical, featuring graphical representations of the TV episodes or movies he has been watching (such as that illustrated in FIG. 3). The graphical representations can be in a variety of different forms. For example, the graphical representations can be graphical representations of the TV show or movie, such as an image of a poster.

In some embodiments, a user's progress through a TV series also can be displayed. Many TV shows are episodic and seasonal, showing a number of episodes of a TV show per year (otherwise known as a season, typically ranging from 13 to 24 shows per season). An embodiment can display to a user which episode the user last watched and/or what is the next episode to be watched. If the user had just finished episode 4 of a particular season of a TV show, such a fact can be indicated on the display. The ability to begin playback at the next episode of the TV show (episode 5 in this example), can also be present.

With reference to FIG. 3, such a situation is shown in box 310. Box 310 represents a TV show, The Walking Dead. Within box 310 is an indicator 318. Indicator 318 is used for TV shows to indicate the season and episode of a TV show. In FIG. 3, user had just finished viewing season 3, episode 4 of The Walking Dead. So the next episode (season 3, episode 5), is indicated by indicator 318.

In such a manner, the user can “binge watch” a series, watching many episodes in a relatively short amount of time, and have a representation of how many episodes the user has watched and/or how many episodes the user has left to watch.

A similar mechanism can be used for movies. Some movies are sequels to other movies. For example, the first movie in the Toy Story series was Toy Story. That movie was followed by Toy Story 2, and then by Toy Story 3. An embodiment can display Toy Story 3 as being available after the user finished watching Toy Story 2. In some embodiments, sequels to movies can be shown on a different screen than the watch list, such as a “suggested viewing” list.

In some embodiments, various subscription models can be used for the streaming service. In one embodiment, a user can pay a set amount of money per time period (such as a month), and be granted unlimited access to the streaming service for that time period. In some embodiments, a pay-per-movie or pay-per-show payment scheme can be used for the streaming service. In such a scheme, a user separately pays for each movie or each TV show that the user wishes to view. In some embodiments, elements of subscription and pay-per-show can be combined. In some embodiments, instead of paying separately for each episode of a TV show, a user can purchase an entire season of a TV show. In some embodiments, there can be different tiers of subscription services. A lower tier can grant the user access to certain TV shows and movies, but the user might be required to upgrade to a higher tier to access other TV shows and movies.

In some embodiments, a user can purchase an entire season of a TV show while it is being aired on broadcast TV. For example, as of the writing of this disclosure, the TV series Walking Dead is in its fifth season. The example shown in FIG. 3 is of a user who was watching the third season of Walking Dead. That user is able to watch all sixteen episodes of the third season without having to wait.

A user can purchase the entire fifth season of Walking Dead. However, because the fifth season has not aired yet, the user does not receive access to the next episode of the series until it airs on the network. In such a situation, a user can be informed on a watch-list screen that the next episode of Walking Dead is now available to that user.

In embodiments where elements of pay-per-movie or pay-per-show are used, an embodiment can show the next movie or episode in the series as being available for purchase. Thus, a user will not be granted access to the next movie or episode in the series unless the user pays for such access.

With reference to FIG. 4, a flowchart illustrating the operation of a method 400 of tracking the viewed time of media viewing is disclosed. Method 400 is merely exemplary and is not limited to the embodiments presented herein. Method 400 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes and/or the activities of method 400 can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of method 400 can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities of method 400 can be combined or skipped. In some embodiments, method 400 can be implemented by computer system 100 (FIG. 1).

A user opens a connection to a streaming service (block 402). Typically, this can be accomplished by a user logging in to the streaming service by entering his credentials (such as a user name and password). In some embodiments, such credentials can be saved such that the credentials do not have to be entered every time the user logs in.

The streaming service receives input from a user selecting a media file to view (block 404). This can be done in a variety of different manners, such as moving a cursor to a particular representation of the media file and pressing a specific key on a remote control. The streaming service transmits the selected media file to the user for playback to the user (block 406). The user later indicates a desire to stop playback of the media file (block 408). At this time, the streaming service stores information in a database regarding the media file, including which media file the user is watching and at what time the user stopped watching (the “viewed time”) (block 410). Typically, while the media file is known by the movie title to the user, the database can use a unique identifier to represent the media file.

With reference to FIG. 5, a flowchart illustrating the operation of a method 500 of displaying the information regarding partially watched media. Method 500 is merely exemplary and is not limited to the embodiments presented herein. Method 500 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, the procedures, the processes and/or the activities of method 500 can be performed in the order presented. In other embodiments, the procedures, the processes, and/or the activities of method 500 can be performed in any other suitable order. In still other embodiments, one or more of the procedures, the processes, and/or the activities of method 500 can be combined or skipped. In some embodiments, method 500 can be implemented by computer system 100 (FIG. 1).

A user opens a connection to a streaming service (block 502). Typically, this can be accomplished by a user logging in to the streaming service by entering his credentials (such as a user name and password). In some embodiments, such credentials can be saved such that the credentials do not have to be entered every time the user logs in.

The streaming service will access the user's account information to find available media files (block 504). As discussed, some embodiments might operate on a subscription model where the user has access to certain types of TV shows and movies, depending on the level of subscription. Some embodiments might have a free account, but the user has to pay for each movie and/or TV show. In such situations, the streaming service needs to determine which movies and TV shows are available to the user. Typically, such information is stored in some form of database. The streaming service will access the applicable database to determine which movies and TV shows (also known as media files) are available to the user.

The streaming service will then examine the available media files to determine which, if any, of the media files have been partially viewed by the user (block 506). A list can be created containing the partially viewed movie files. As described above with respect to FIG. 4, when a user only watches a portion of a movie or TV show, that fact can be stored in a database along with the viewed time (the time in the media file at which the user stopped playback).

As described above with respect to FIG. 3, box 310, some media files are part of a series of media files. A series of media files may be, for example, a TV series, which typically airs in seasons, with many episodes per seasons. In some embodiments, a series of movies can also comprise a series of media files, for example, the six movies of the Star Wars movie.

If a media file is a part of a series of media files, it can be treated differently in some respects, but not others. For example, if a media file is a part of a series of media files, but is partially viewed, it can be treated as above. However, if a media file is a part of a series of media files and has been viewed in its entirety, an embodiment can determine which media file is next in the series of media files. For example, if the user had finished watching season 3, episode 4 of The Walking Dead, then season 3, episode 5 of The Walking Dead can be denoted as the next media file in the series of media files. That next media file can then be placed in the list of partially viewed media files.

In some situations, there might be a newly available media file. A newly available media file can be a media file that was not available to the user the last time the user logged into the streaming system. As an example, a currently airing TV show can have an episode that was not previously available to the user. The newly available media file can be placed in the list of partially viewed media files.

Returning to FIG. 5, the streaming service can transmit for display information regarding the list of partially viewed media files (block 508). The information can be displayed in a variety of different manners. In some embodiments, the display can be similar to that shown in FIG. 3.

In some embodiments, a streaming service can allow pre-orders. That is, a user can purchase a movie or TV show even though the release date has not occurred. For example, the movie Dawn of the Planet of the Apes will be released on DVD on Dec. 2, 2014. That date can also be the date the movie becomes available on some streaming services. Prior to that date, a user can purchase the movie. Thereafter, when Dec. 2, 2014 passes, Dawn of the Planet of the Apes becomes available to be viewed. Because the user had previously purchased Dawn of the Planet of the Apes, that movie can become available to the user on or after Dec. 2, 2014. Since this is newly available content, the movie can be placed in the list of partially viewed media files.

In some embodiments, the list of partially viewed media files can be sorted. A variety of different sort orders can be used. In some embodiments, the list of partially viewed media files can be sorted such that the most recently viewed media file is displayed first. In some embodiments, newly available media files (such as new episodes of TV shows or pre-orders of movies), can be placed at the top of the list of partially viewed media files.

Returning to FIG. 5, the user might indicate the desire to watch a partially viewed media file (block 510). The streaming service will then transmit the partially viewed media file to the user (512). This transmission will begin playback of the partially viewed media file, starting at the viewed time of the selected media file. For example, if the user had stopped watching The Lego Movie at 64 minutes and 21 seconds into the movie, the playback will begin at approximately 64 minutes and 21 seconds into the movie.

Turning ahead in the figures, FIG. 6 illustrates a block diagram of a system 600 that is capable of performing disclosed embodiments. System 600 is merely exemplary and is not limited to the embodiments presented herein. System 600 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, certain elements or modules of system 600 can perform various procedures, processes, and/or acts. In other embodiments, the procedures, processes, and/or acts can be performed by other suitable elements or modules.

In a number of embodiments, system 600 can include a connection opening module 602. In certain embodiments, connection opening module 602 can perform block 402 (FIG. 4) of opening a connection between a user and system 600.

Returning to FIG. 6, system 600 can include a selection acceptance module 604. In certain embodiments, selection acceptance module 604 can perform block 404 (FIG. 4) of accepting a selection of a media file to view.

Returning to FIG. 6, system 600 can include a transmission module 606. In certain embodiments, transmission module 606 can perform block 406 (FIG. 4) of transmitting a media file for playback.

Returning to FIG. 6, system 600 can include a stop acceptance module 608. In certain embodiments, stop acceptance module 608 can perform block 408 (FIG. 4) of receiving an indication to stop playback of a media file.

Returning to FIG. 6, system 600 can include a storage module 610. In certain embodiments, storage module 610 can perform block 410 (FIG. 4) of storing the viewed time of a media file.

Turning ahead in the figures, FIG. 7 illustrates a block diagram of a system 700 that is capable of performing disclosed embodiments. System 700 is merely exemplary and is not limited to the embodiments presented herein. System 700 can be employed in many different embodiments or examples not specifically depicted or described herein. In some embodiments, certain elements or modules of system 700 can perform various procedures, processes, and/or acts. In other embodiments, the procedures, processes, and/or acts can be performed by other suitable elements or modules.

In a number of embodiments, system 700 can include a connection opening module 702. In certain embodiments, connection opening module 702 can perform block 502 (FIG. 5) of opening a connection between a user and system 700.

Returning to FIG. 7, system 700 can include account information access module 704. In certain embodiments, account information access module 704 can perform block 504 (FIG. 5) of accessing account information of a user.

Returning to FIG. 7, system 700 can include determination module 706. In certain embodiments, determination module 706 can perform block 506 (FIG. 5) of determining which media files have been partially viewed by the user.

Returning to FIG. 7, system 700 can include display module 708. In certain embodiments, display module 708 can perform block 508 (FIG. 5) of displaying information regarding the list of partially viewed media files.

Returning to FIG. 7, system 700 can include input module 710. In certain embodiments, input module 710 can perform block 510 (FIG. 5) of accepting input from a user regarding the list of partially viewed media files.

Returning to FIG. 7, system 700 can include transmission module 712. In certain embodiments, transmission module 712 can perform block 512 (FIG. 5) of transmitting the partially viewed media file to the user.

Although the above embodiments have been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes can be made without departing from the spirit or scope of the disclosure. Accordingly, the disclosure of embodiments is intended to be illustrative of the scope of the disclosure and is not intended to be limiting. It is intended that the scope of the disclosure shall be limited only to the extent required by the appended claims. For example, to one of ordinary skill in the art, it will be readily apparent that any element of FIGS. 1-7 can be modified, and that the foregoing discussion of certain of these embodiments does not necessarily represent a complete description of all possible embodiments. For example, one or more of the procedures, processes, or activities of FIGS. 1-7 can include different procedures, processes, and/or activities and be performed by many different modules, in many different orders.

All elements claimed in any particular claim are essential to the embodiment claimed in that particular claim. Consequently, replacement of one or more claimed elements constitutes reconstruction and not repair. Additionally, benefits, other advantages, and solutions to problems have been described with regard to specific embodiments. The benefits, advantages, solutions to problems, and any element or elements that can cause any benefit, advantage, or solution to occur or become more pronounced, however, are not to be construed as critical, required, or essential features or elements of any or all of the claims, unless such benefits, advantages, solutions, or elements are stated in such claim.

Moreover, embodiments and limitations disclosed herein are not dedicated to the public under the doctrine of dedication if the embodiments and/or limitations: (1) are not expressly claimed in the claims; and (2) are or are potentially equivalents of express elements and/or limitations in the claims under the doctrine of equivalents.

Claims

1. A method comprising:

receiving a log-in request from a user;
accessing the user's account information to find available media files for the user;
determining if any of the available media files for the user are partially viewed to form a list of two or more partially viewed media files;
transmitting for display information regarding the list of one or more partially viewed media files, the information including a title and a viewed time for each media file in the list of two or more partially viewed media files;
receiving a selection from the user indicating the desire to watch one of the list of two or more partially viewed media files; and
transmitting the selected partially viewed media file in such a manner to result in playback of the selected partially viewed media file starting at the viewed time of the selected partially viewed media file.

2. The method of claim 1 wherein:

transmitting for display information regarding the list of two or more partially viewed media files further comprises, for each file in the list of two or more partially viewed media file, displaying a graphical representation of the partially viewed media file.

3. The method of claim 1 wherein:

transmitting for display information regarding the list of partially viewed media files further comprises, for each file in the list of two or more partially viewed media file, displaying a visual representation of the viewed time for each one of the list of two or more partially viewed media files.

4. The method of claim 1 further comprising:

determining if any of the available media files is part of a series of media files;
determining which media file of the series of media files was most recently viewed by the user; and
placing a next media file in the series of media files in the list of two or more partially viewed media files.

5. The method of claim 1 further comprising:

determining if any of the available media files is part of a series of media files;
determining if there exists a newly available media file that is part of the series of media files; and
placing the newly available media file in the series of media files in the list of two or more partially viewed media files.

6. The method of claim 1 further comprising:

determining if any of the available media files is a newly available media file within a series of media files; and
placing the newly available media file in the series of media files in the list of two or more partially viewed media files.

7. The method of claim 1 further comprising:

sorting the list of two or more partially viewed media files in order of most recently viewed by the user; and wherein:
displaying the information regarding the list of two or more partially viewed media files further comprises displaying the information in the sorted order.

8. The method of claim 7 wherein:

sorting the list of two or more partially viewed media files in order of most recently viewed by the user further comprises: placing newly available media before the most recently viewed media.

9. A system comprising:

one or more processing modules; and
one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform the acts of: receiving a log-in request from a user;
accessing the user's account information to find available media files for the user;
determining if any of the available media files for the user are partially viewed to form a list of two or more partially viewed media files;
transmitting for display information regarding the list of one or more partially viewed media files, the information including a title and a viewed time for each media file in the list of two or more partially viewed media files;
receiving a selection from the user indicating the desire to watch one of the list of two or more partially viewed media files; and
transmitting the selected partially viewed media file in such a manner to result in playback of the selected partially viewed media file starting at the viewed time of the selected partially viewed media file.

10. The system of claim 9 wherein:

transmitting for display information regarding the list of two or more partially viewed media files further comprises, for each file in the list of two or more partially viewed media file, displaying a graphical representation of the partially viewed media file.

11. The system of claim 9 wherein:

transmitting for display information regarding the list of partially viewed media files further comprises, for each file in the list of two or more partially viewed media file, displaying a visual representation of the viewed time for each one of the list of two or more partially viewed media files.

12. The system of claim 9 wherein the computing instructions further comprise:

determining if any of the available media files is part of a series of media files;
determining which media file of the series of media files was most recently viewed by the user; and
placing a next media file in the series of media files in the list of two or more partially viewed media files.

13. The system of claim 9 wherein the computing instructions further comprise:

determining if any of the available media files is part of a series of media files;
determining if there exists a newly available media file that is part of the series of media files; and
placing the newly available media file in the series of media files in the list of two or more partially viewed media files.

14. The system of claim 9 wherein the computing instructions further comprise:

determining if any of the available media files is a newly available media file within a series of media files; and
placing the newly available media file in the series of media files in the list of two or more partially viewed media files.

15. The system of claim 9 wherein the computing instructions further comprise:

sorting the list of two or more partially viewed media files in order of most recently viewed by the user; and wherein:
displaying the information regarding the list of two or more partially viewed media files further comprises displaying the information in the sorted order.

16. The system of claim 15 wherein:

sorting the list of two or more partially viewed media files in order of most recently viewed by the user further comprises: placing newly available media before the most recently viewed media

17. A method comprising:

receiving a log-in request from a user;
accessing the user's account information to find available media files for the user;
receiving a selection from the user indicating the desire to watch one of the available media files;
transmitting the selected media file in such a manner to the user to result in playback of the selected media file;
receiving an indication from the user to stop playback of the selected media file; and
storing the viewed time of the selected media file with the user's account information.

18. The method of claim 17 further comprising:

receiving a selection from the user indicating the desire to watch the selected media file; and
transmitting the selected partially viewed media file in such a manner to result in playback of the selected media file starting at the viewed time of the selected media file.

19. A system comprising:

one or more processing modules; and
one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform the acts of: receiving a log-in request from a user; accessing the user's account information to find available media files for the user; receiving a selection from the user indicating the desire to watch one of the available media files; transmitting the selected media file in such a manner to the user to result in playback of the selected media file; receiving an indication from the user to stop playback of the selected media file; and storing the viewed time of the selected media file with the user's account information.

20. The system of claim 19 wherein the computing instructions further comprise:

receiving a selection from the user indicating the desire to watch the selected media file; and
transmitting the selected partially viewed media file in such a manner to result in playback of the selected media file starting at the viewed time of the selected media file.
Patent History
Publication number: 20160099991
Type: Application
Filed: Dec 19, 2014
Publication Date: Apr 7, 2016
Patent Grant number: 10642880
Applicant: WAL-MART STORES, INC. (Bentonville, AR)
Inventors: Gajanan Lonkar (Fremont, CA), Stefan Belavy (Oakland, CA), Ping-Hsien Lin (Milpitas, CA), Vikas Deshpande (Fremont, CA), Gouri Deshpande (Sunnyvale, CA)
Application Number: 14/578,102
Classifications
International Classification: H04L 29/06 (20060101);