US20080182665A1 - Video game to web site upload utility - Google Patents

Video game to web site upload utility Download PDF

Info

Publication number
US20080182665A1
US20080182665A1 US11/699,673 US69967307A US2008182665A1 US 20080182665 A1 US20080182665 A1 US 20080182665A1 US 69967307 A US69967307 A US 69967307A US 2008182665 A1 US2008182665 A1 US 2008182665A1
Authority
US
United States
Prior art keywords
media
user
game
computer
visual entertainment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/699,673
Inventor
Michael Sharps
Jason Graf
Robert J. Conn
Brick Baldwin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US11/699,673 priority Critical patent/US20080182665A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRAF, JASON, BALDWIN, BRICK, CONN, ROBERT J., II, SHARPS, MICHAEL
Publication of US20080182665A1 publication Critical patent/US20080182665A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Definitions

  • Interactive audio-visual entertainment devices such as video game consoles and the video games themselves, are designed to provide entertainment by engaging one or more users in an interactive experience having one or more goals.
  • video games based on sports engage users by providing an interactive experience in which the user attempts to win within the context of the sport on which the game is based.
  • interactive audio-visual entertainment devices traditionally require the user to improve various skills, thereby engaging the user throughout the time that the user attempts to improve their skills.
  • Increasingly skilled users are rewarded with aspects of the interactive entertainment that are generally not provided to less skilled users.
  • video games based on combat situations can provide skilled users the opportunity to use more potent weapons and travel to more exotic destinations.
  • interactive audio-visual entertainment device offer an increasingly rich audio visual experience.
  • many video games feature high resolution graphics and multi-channel audio, both of which are supported by modern video game consoles. Consequently, interactive audio-visual entertainment may be entertaining, not only to those interacting with it, but also to spectators.
  • Spectators in addition to enjoying a rich audio visual experience, often seek to learn by merely observing others' interactions. For example, some video games enable users to receive special privileges once a specific series of actions are performed in a specific manner. Users can learn of those actions by observing other users interacting with the game.
  • users may seek to demonstrate their prowess by inviting others to observe either the user interacting with the game directly, or a listing of the most successful tallies accumulated by the user. For example, users interacting with a video game simulating a race can share various race times as evidence of their respective successes.
  • interactive audio-visual entertainment options increase, the reasons for which one user may seek to share their experiences with others likewise increase.
  • modern video games often provide advanced customization options that are, in some respects, tangential to the purpose of the game. Nevertheless, such customization provides users with yet another reason to share their gaming experiences.
  • Audio aspects can be captured into an audio file encoded using standard audio encoding schemes and video can be captured into an image file encoded using standard image encoding schemes or into a movie file, again encoded using standardized mechanisms.
  • Some interactive audio-visual entertainment devices provide no mechanisms by which an aspect of the interactive experience can be captured into a transportable and shareable format. For example, while some video games provide the user with the ability to capture specific elements of the game, those elements are only saved within the context of the game itself and cannot be removed from the game.
  • a server program can receive raw data from a game, representing game-related media, such as media directed to presenting an aspect of the game, together with a header packet identifying the information. Subsequently, the server can parse out relevant elements from the header packet, such as information identifying the game, the user, or other relevant information. The information obtained by the server can subsequently be used to store the received game-related media in an appropriate manner, such as by storing it in a sub-location based on the game and entitling the data based on unique identifying information.
  • a service can monitor specific locations for particular types of data.
  • a single service can monitor specific locations for multiple types of data, including movie data, picture data or audio data.
  • multiple services can monitor specific locations, with each service being directed to specific types of data, such as one service being directed to movie data, a second service to picture data and a third service to audio data.
  • the service can validate the naming structure of the container file, and identify or derive further relevant information, such as identifying information.
  • the service can then create an appropriate set of related data, such as thumbnails, to enable more efficient access and sharing of the game-related media. Such information can be provided to a website hosting the game-related media. To enhance security, remaining metadata that is not used can be removed.
  • a website hosting game-related media can require identifying information from users seeking to access the website.
  • the identifying information can be used to associate a user of the website with a user of one or more games. Consequently, the website can present the user with the game-related media that is relevant to that user, such as game-related media captured by that user, or game-related media sent to that user by another user.
  • the user can further download the game-related media, which can be presented in standardized formats to enable further sharing.
  • FIG. 1 is a diagram of an exemplary environment for sharing media from interactive audio-visual entertainment
  • FIG. 2 is a block diagram of an exemplary computing device
  • FIG. 3 is an exemplary flow chart illustrating the receipt of media from interactive audio-visual entertainment
  • FIG. 4 is an exemplary flow chart illustrating the organization of media from interactive audio-visual entertainment.
  • FIG. 5 is an exemplary flow chart illustrating the sharing of media from interactive audio-visual entertainment.
  • Back end server computing devices can host processes that interface with existing mechanisms in interactive audio-visual entertainment, thereby enabling the export of media from that audio-visual entertainment.
  • the hosted processes can comprise a server program for receiving and storing game-related media, a service process for obtaining information about the game-related media that aids in its identification and for removing unneeded metadata, and a hosting process that provides user-specific access to the game-related media.
  • the techniques described herein focus on the mechanisms by which media from interactive audio-visual entertainment can be obtained, categorized, and provided to one or more users.
  • One such mechanism comprises a server process that can receive data from interactive audio-visual entertainment and store the data in a predefined manner.
  • Another mechanism comprises a service that retrieves the stored data and prepares it for presentation, including the generation of thumbnails, and the removal of unused, and potentially harmful metadata.
  • a further mechanism comprises a hosting process that identifies users and provides user-specific data for browsing and downloading.
  • This manipulation transforms the data or maintains it at locations in memory, which reconfigures or otherwise alters the operation of the computing device or peripherals in a manner well understood by those skilled in the art.
  • the data structures where data is maintained are physical locations that have particular properties defined by the format of the data.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the computing devices need not be limited to conventional personal computers and conventional personal electronics devices, and can include other devices capable of computation, including hand-held devices, multi-processor systems, other microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the computing devices need not be limited to a stand-alone device, as the mechanisms may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • the exemplary environment 99 includes interactive audio-visual entertainment hardware, such as an entertainment computing device 10 , and interactive audio-visual entertainment software, such as a game 11 for use on the entertainment computing device 10 .
  • the exemplary environment 99 also comprises a personal computing device 40 having a web browser 41 .
  • the personal computing device 40 and the entertainment computing device 10 are co-located such that media from the entertainment computing device 10 generated by a user will be accessed by that same user on the personal computing device 40 .
  • the exemplary environment 99 further comprises an upload server computing device 20 and a website host computing device 30 .
  • the upload server computing device 20 hosts a server program 21 and a service 22
  • the website host computing device 30 hosts a website 31 and a database 32 .
  • the upload server computing device 20 and the website host computing device 30 are physically distinct computing devices as illustrated in FIG. 1 .
  • the upload server computing device 20 and the website host computing device 30 can be a single computing device hosting the server program 21 , the service 22 , the website 31 and the database 32 .
  • FIG. 1 refers to a website 31 , hosted by a website host computing device 30 , and a web browser 41 executing on a personal computing device 40 .
  • the described mechanisms in no way require the use of either the HyperText Transfer Protocol (HTTP), nor the HyperText Markup Language (HTML).
  • HTTP HyperText Transfer Protocol
  • HTTP HyperText Markup Language
  • the described mechanisms can be equally implemented via a File Transfer Protocol (FTP) site and any FTP client program.
  • FTP File Transfer Protocol
  • the described mechanisms could be implemented using Really Simple Syndication (RSS) server software and RSS readers or aggregators.
  • RSS Really Simple Syndication
  • a user interacting with the entertainment computing device 10 can select game-related media for upload to the upload server computing device 20 .
  • the game 11 can provide users with the ability to capture still images from the game, or to capture a sequence of events as a movie.
  • the game 11 could likewise provide users with the ability to record various audio aspects of the game as a sound, or otherwise capture game-related media.
  • Such images, movies, sounds, or other game-related media would traditionally be stored and accessible only from within the game 11 itself.
  • the game 11 could provide for a media gallery that would enable users interacting with the game to view previously captured media.
  • the game 11 can be modified to upload previously captured media to another computing device, such as the upload server computing device 21 as indicated by the arrow 51 of FIG. 1 .
  • Such modifications can leverage the networking abilities present in many modern games, such as games which enable users to interact with, or compete with, other users over a networked connection. Often, games which enable multiple users to interact over a network connection do so by leveraging a server computing device to facilitate the maintenance and exchange of information common to all of the users.
  • a server computing device can itself act as the upload server computing device 20 , or it can redirect communications 51 to another computing device acting as the upload server computing device 20 .
  • Uploaded game-related media can be received by the server program 21 running on the upload server computing device 20 .
  • the server program 21 conforms to standard file transfer protocols, such as the Hyper Text Transfer Protocol (HTTP) or the File Transfer Protocol (FTP).
  • HTTP Hyper Text Transfer Protocol
  • FTP File Transfer Protocol
  • the server program 21 can parse out relevant information that can have been included with the game-related media by the entertainment computing device or the game 11 .
  • relevant information can include an identifier of the game 11 , an identifier of the user, a name the user selected for themselves within the context of the game or within the context of the server computing device used to exchange information common to all of the users (commonly referred to as a “gamer tag”), or other identifying or otherwise pertinent information.
  • such information can be stored in a header, such as an HTTP header packet.
  • the server program 21 can store, or otherwise persist, the received game-related media on the upload server computing device 20 or on another computing device communicationally connected to the upload server computing device.
  • the game-related media is stored in a folder, or other type of storage partition, based on the game 11 that uploaded the game-related media.
  • the game identifier provided with the game-related media can be associated with a common name for the game 11
  • the folder into which the server program 21 stores the game-related media can be identified with the same common name of the game 11 .
  • the folder into which the server program 21 stores the game-related media can be identified with the game identifier itself, without requiring the server program 21 to lookup an associated common name of the game 11 .
  • the server program 21 can generate a file name for the file containing the game-related media.
  • the server program 21 can generate a random identifier based, at least in part, on the identifier of the user, the user's gamer tag, or some combination thereof. The randomness of the identifier can distinguish between multiple game-related media uploaded by the same user.
  • a service 22 can detect the storage of the game-related media and can further process the game related media to prepare it for sharing.
  • the service 22 can continually monitor one or more storage locations on the upload server computing device 20 , or on another computing device communicationally connected to the upload server computing device 20 .
  • the service 22 can first perform one or more verifications to ensure that the detected file was properly stored. For example, the service 22 can verify that the file name is properly constructed.
  • the service 22 which can access the algorithm used by the server program 21 to generate the file name, can reverse that algorithm to extract information from the file name, such as the user's gamer tag or identifier.
  • Information identifying the game 11 can be obtained by the service 22 from the folder in which the game-related media was stored.
  • the name of the folder can be a game identifier or the common name of the game 11 , as indicated above.
  • the service 22 can also prepare the game-related media for sharing, such as through a web server.
  • the service 22 can create one or more appropriate thumbnails for the game-related media. For example, if the game-related media comprises images or video, the service 22 can generate a smaller, lower resolution image or a still frame image to act as a thumbnail for the game-related media. Likewise, if the game-related media comprises audio, the service 22 can generate a shorter, lower bit rate recording to act as a thumbnail for the game-related media.
  • the service 22 can remove unneeded meta-data from the game-related media.
  • some media files can comprise a substantial amount of meta-data, which can be used to exploit security weaknesses. Since the meta-data referenced by, or otherwise used by, the service 22 is limited, the remaining meta-data can be removed by the service 22 to enhance the security of the sharing of game-related media.
  • the service 22 can transfer, via communications 52 , the game-related media to a website host computing device 30 , on which a website 31 is executing.
  • the website host computing device 30 can be co-located with the upload server computing device 20 , such that the server program 21 , the service 22 and the website 31 are all being executed by the same computing device.
  • the website host computing device 30 can be a distinct computing device in the manner illustrated in FIG. 1 .
  • the transfer 52 of the game-related media from the service 22 to the website host computing device 30 includes the transfer of thumbnails generated by the service and any other data augmenting the game-related media data itself.
  • the transfer 52 likewise includes categorizing information extracted by the service 22 , such as the identifier of the game 11 , the common name of the game, the identifier of the user, the user's gamer tag, or other information that can be used to categorize the game-related media for easier access through the website 31 .
  • the website host computing device 30 upon receipt of the categorized and augmented game-related media, can store the received information into a database 32 .
  • the game-related media itself can be related to the categorizing information provided by the service 22 and it can further be related to the thumbnail likewise provided by the service 22 . Consequently, the game-related media can be searched for based on any one of the categorizing information provided, including, for example, the identifier of the game 11 , the common name of the game, the identifier of the user or the gamer tag.
  • the game-related media can likewise be searched for via the thumbnails provided by the service 22 .
  • the website 31 can enable the user to download one or more game-related media as indicated by communication 53 .
  • the website 31 can present to the user for downloading any of the game-related media stored in the database 32 .
  • Such a presentation can comprise the creation of one or more web pages comprising thumbnails, identifying information, or some combination thereof.
  • Such a selection can be communicated back to the website 31 in a known manner, which can reference the database 32 to obtain the game-related media selected by the user, and provide that media, via communication 53 , to the web browser 41 .
  • the game-related media can be shared by the user in the same manner as any other media on the personal computing device.
  • the website 31 can require users to authenticate themselves, such as by providing a user name and a password.
  • the authentication information provided can identify a particular user of the game 11 . More specifically, the user name provided by the user to the website 31 can be associated with a user identifier or a gamer tag. Such as association can either be maintained by the website host computing device 30 , or on a separate computing device or system. With such an association, the website 31 can present to the authenticated user only the game-related media that is associated with that user in the database, such as via the user's identifier or gamer tag.
  • the website 31 provides, to authenticated users, one or more web pages comprising thumbnails, identifying information, or some combination thereof corresponding only to game-related media captured by that user.
  • the website 31 provides, to authenticated users, not only access to the game-related media captured by that user, but also to game-related media captured by other users and shared by those other users with the current user.
  • the user can select one or more game-related media for download by selecting a corresponding thumbnail or other identifying information that was presented through the web browser 41 .
  • Such a selection can be communicated back to the website 31 in a known manner, which can reference the database 32 to obtain the game-related media selected by the user, and provide that media, via communication 53 , to the web browser 41 .
  • the game-related media is stored on the personal computing device 40 , it can be shared in the same manner as any other media on the personal computing device.
  • FIG. 2 an exemplary computing device 100 is illustrated.
  • the term “computing device,” as used herein, includes consumer entertainment devices, such a video game consoles, digital video recorders, and content provider interfaces such as the ubiquitous “cable box.”
  • the exemplary computing device 100 can be representative of any of the computing devices shown in FIG. 1 , including the entertainment computing device 10 , the upload server computing device 20 , the website host computing device 30 , the personal computing device 40 , or any combination thereof since, as previously indicated, the computing devices of FIG. 1 do not have to be physically distinct from one another.
  • the exemplary computing device 100 can include, but is not limited to, one or more central processing units (CPUs) 120 , a system memory 130 , and a system bus 121 that couples various system components including the system memory to the processing unit 120 .
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the computing device 100 can include graphics hardware, including, but not limited to, a graphics hardware interface 190 and a display device 191 .
  • the computing device 100 also typically includes computer readable media, which can include any available media that can be accessed by computing device 100 and includes both volatile and nonvolatile media and removable and non-removable media.
  • computer readable media may comprise computer storage media, communication media or combinations thereof.
  • Computer storage media includes media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132 .
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120 .
  • FIG. 2 illustrates operating system 134 , other program modules 135 , and program data 136 .
  • the computing device 100 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
  • FIG. 2 illustrates a hard disk drive 141 that reads from or writes to nonvolatile magnetic media.
  • Other removable/non-removable, volatile/nonvolatile computer storage media that can be used with the exemplary computing device include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through an interface such as non-volatile memory interface 140 .
  • hard disk drive 141 is illustrated as storing operating system 144 , other program modules 145 , and program data 146 . Note that these components can either be the same as or different from operating system 134 , other program modules 135 and program data 136 . Operating system 144 , other program modules 145 and program data 146 are given different numbers hereto illustrate that, at a minimum, they are different copies.
  • the computing device 100 may operate in a networked environment using logical connections to one or more remote computers.
  • the computing device 100 is shown in FIG. 2 to be connected to the network 90 .
  • the computing device 100 is not limited to any particular network or networking protocols.
  • the network connection depicted in FIGS. 1 and 2 is a general network connection 171 that can be a local area network (LAN), a wide area network (WAN) or other networks.
  • the computing device 100 is connected to the general network connection 171 through a network interface or adapter 170 which is, in turn, connected to the system bus 121 .
  • program modules depicted relative to the computing device 100 may be stored in the memory of one or more other computing devices that are communicatively coupled to the computing device 100 through the general network connection 171 .
  • the network connections shown are exemplary and other means of establishing a communications link between computing devices may be used.
  • the general network connection 171 to the network 90 can be used to communicate with one or more other computing devices that are likewise connected to the network.
  • Communications 51 , 52 and 53 illustrated in FIG. 1 , are shown as proceeding directly between computing devices 10 , 20 , 30 and 40 , and bypassing network 90 , only for simplicity of illustration. Instead, more accurately, communications 51 , 52 and 53 are exchanged between the computing devices 10 , 20 , 30 and 40 through the network 90 in a manner well known to those skilled in the art.
  • Communication 51 can comprise the transmission of game-related media from a game 11 to a server program 21 designed to receive such game-related media.
  • Communication 52 can comprise the transmission of categorized and augmented game-related media to a website host computing device 30
  • communication 53 can comprise the transmission of game-related media to the personal computing device 40 .
  • FIGS. 3 , 4 and 5 illustrate flow diagrams corresponding to processes that either trigger or receive these communications.
  • FIG. 3 illustrates an exemplary process performed by the server program 21 upon receipt of communication 51
  • FIG. 4 illustrates an exemplary process performed by the service 22 prior to the transmission of communication 52
  • FIG. 5 illustrates an exemplary process performed by the website 31 prior to the transmission 53 .
  • a flow diagram 300 begins with the receipt of the game-related media at step 310 .
  • the game-related media can be sent by a game 11 executing on an entertainment computing device 10 .
  • the game 11 comprises mechanisms for enabling a user to capture game-related media, such as a picture, movie, audio, or other media.
  • the game 11 can further comprise mechanisms for enabling the user to view previously captured game-related media within the context of the game, such as through a “gallery” generated by the game.
  • network communication capability sufficient to encapsulate such previously captured game-related media can be added, either to the game 11 itself, or to the entertainment computing device 10 .
  • the network communication capability can transmit one or more previously captured game-related media to the upload server computing device 20 by constructing one or more network packets comprising some or all of the game-related media.
  • the transmitted game-related media can be selected by the user of the game 11 , such as through the gallery.
  • the network packets include a header packet having a user data section for transmitting information about the game-related media, such as the name of the game 11 from which the game-related media was obtained, a unique identifier for the game 11 , a unique identifier for the user of the game that captured the game-related media, the user's gamer tag, or other information that can further identify the game-related media.
  • information about the game-related media such as the name of the game 11 from which the game-related media was obtained, a unique identifier for the game 11 , a unique identifier for the user of the game that captured the game-related media, the user's gamer tag, or other information that can further identify the game-related media.
  • Such information can be stored as a string in the header packet, with appropriate separators, such as a “#” symbol, dividing the individual elements of data.
  • the above information can be stored in separate elements within the header packet or can be otherwise transmitted in an appropriate manner.
  • the server program 21 When the server program 21 receives the game-related media at step 310 , it can, at step 320 , parse the header packet, separating out the individual elements of data, as delineated by the separators. As part of the parsing step 320 , the server program 21 can further encode each of the individual elements into strings, or other appropriate data structures, for subsequent processing. One aspect of such subsequent processing can be the identification of a “common” name of the game 11 , such as the name by which the game is marketed, at step 330 . If the information provided in the header packet did not already comprise the name of the game 11 , but instead comprised a unique identifier, the server program 21 can use the unique game identifier to look up the common name of the game. A correlation between game identifiers and game names can be maintained by the upload server computing device 20 , or it can be maintained by another computing device connected to the network 90 .
  • Step 330 can additionally verify that the game 11 sending the game-related media is valid. For example, if the identifier provided in the header packet does not correspond to any common name, the game 11 may not be a game that is to be allowed to upload game-related media. In such a case, the server program 21 need not perform any further operations with respect to the received game-related media. In an alternative embodiment, however, the server program 21 can provide an error message back to the game 11 to provide troubleshooting information, should it be needed. In a further alternative embodiment, the server program 21 can perform additional verifications beyond game identification, such as verifying that the game-related media is encoded in an acceptable format, such as a standard image, movie, or audio format.
  • an acceptable format such as a standard image, movie, or audio format.
  • the server program 21 can create a random Globally Unique IDentifier (GUID) for the game-related media received at step 310 .
  • GUID Globally Unique IDentifier
  • the GUID can be created and subsequently combined with the user's identifier, gamer tag, or some combination thereof to create a unique combination.
  • the GUID can also be combined with, or otherwise related to, the time when the game-related media was captured or the time when it was received at step 310 .
  • a continually changing parameter such as a time parameter, the generated GUID can remain unique even when the same user uploads multiple game-related media from the same game within a narrow span of time.
  • the server program 21 can, at step 350 , assign a name to the file comprising the combination.
  • the file name can further comprise additional elements that identify the user or the game or both.
  • the file comprising the game-related media can be stored in a folder by the server program at step 360 .
  • the folder and the file comprising the game-related media can be stored either locally on the upload server computing device 20 , or they can stored on one or more remote computing devices connected to the network 90 .
  • the folder can be named after, or otherwise associated with, the game 11 from which the game-related media was received. In one embodiment, the folder can simply have the same name as the name of the game. In an alternative embodiment, the name of the folder can include the name of the game, the game identifier or some combination therefore, while in a still further alternative embodiment, the folder name can comprise additional information as well.
  • FIG. 4 a flow diagram 400 is shown representing exemplary processing performed by the service 22 of FIG. 1 .
  • the processing performed by service 22 can, at step 410 , monitor selected storage locations.
  • Such monitored storage locations can coincide with the storage locations in which the server program 21 stores the received game-related media and, as indicated previously, can be local to the upload server computing device 20 , or they can be located on one or more remote computing devices connected to the network 90 .
  • the service 22 detects the creation of a file within the monitored storage locations, as indicated by step 420 , the service 22 can further process the game-related media and prepare it for sharing via the website 31 .
  • the service 22 can verify the name of the file to ensure that it is a file that the service should be addressing, and not merely a file accidentally saved to the monitored storage location.
  • the file name verification of step 430 can include extracting, from the file name, information such as the identifier of the user or the user's gamer tag. If the file is not verified at step 430 , it can be stored in an appropriate location for further review, such as by an administrator of the upload server computing device 20 .
  • the service 22 can further identify or derive additional information regarding the game-related media at step 440 . More specifically, once the file name has been validated at step 430 , the service 22 can read the file from the monitored storage location and can acquire any of the metadata associated with the file.
  • the service 22 can perform further processing with respect to the information obtained from the file name. For example, if the service 22 was only able to derive a user's gamer tag from the file name, the service can match the gamer tag to a user identifier using either a local or remote database associating user identifiers with the gamer tags those users selected within the context of specific games, such as game 11 .
  • the service 22 can, at step 450 , create thumbnails of the game-related media.
  • thumbnails comprise smaller, lower resolution media that is analogous to the game-related media.
  • the service 22 can create a smaller, lower resolution version of the image at step 450 to act as a thumbnail.
  • a still image can likewise act as a thumbnail if the game-related media was a video segment.
  • Audio media can be likewise compressed in both duration and quality to yield a thumbnail for an audio-only game-related media.
  • the service 22 can remove any of the metadata associated with the file comprising the game-related media that the service is not using or referencing.
  • some media file formats can comprise a large amount of metadata that can harbor malicious code. Consequently, in one embodiment, the service 22 can remove such metadata. Any metadata that is left by the service 22 can be limited, for security reasons, to character data.
  • the service 22 can, at step 470 , store the game-related media, as well as some or all of the additional information identified, derived or created by the service, in the database 32 .
  • additional information can include the thumbnail, the identifier of the game 11 , the common name of the game, the identifier of the user, the gamer tag of the user, or any other relevant information, or any combination thereof.
  • a flow diagram 500 illustrates exemplary processing performed by the website 31 .
  • the website 31 can wait for a user at step 530 .
  • the website 31 can limit users to accessing only the game-related media that was captured and uploaded by that user, or game-related media that the user has been granted permission to access.
  • the website 31 can eschew such limitations, and can provide any user access to all of the game-related media stored in the database 32 . In the case of the latter, steps 540 and 550 can be skipped, and processing can proceed to step 560 , which will be described below.
  • the website 31 limits access to the game-related media, it can check, at step 540 , if a user has provided identification and password. If the user has provided authenticating information, the website 31 can authenticate the user at step 550 .
  • the process of authenticating a user at step 550 can comprise associating a user's gamer tag or user identifier with the identification provided at step 540 .
  • Such an association can be stored locally on the website host computing device 30 , or it can be stored remotely on one or more computing devices connected to the network 90 .
  • the user identification and password provided at step 540 are part of a network “passport” that the user can use to log on to additional websites.
  • a “passport” can be maintained in a central location that can comprise information linking the user's passport to other relevant information about the user, including the user's name and address, billing information and, of relevance to the descriptions below, the user's gamer tag or other game-related identifying information.
  • the website 31 can, as part of the process of authenticating the user at step 550 , reference the centralized passport database to determine the user's game-related identifier or gamer tag based on the information provided at step 540 .
  • the website 31 can present thumbnails of the game-related media, other information identifying the game-related media, or some combination thereof, to the user. If the website 31 only allowed a user to access game-related media that the user generated, or game-related media to which the user was specifically granted access, then the game-related media that is relevant to that user will be limited. However, if the website 31 provided any user access to any game-related media, then all of the game-related media in the database 32 is relevant to any user.
  • the database can be searched based on user identifiers, including a user's game-related identifier and a user's gamer tag. Consequently, in presenting the thumbnails at step 560 , the website 31 can, once it has authenticated the user at step 550 , search the database 32 for the game-related media associated with that user's gamer tag or game-related identifier. Once the relevant game-related media has been identified by the website 31 , the website can request the associated thumbnails for presentation to the user.
  • the thumbnails can be presented to the user by generating one or more web pages, comprising those thumbnails, for display by the browser 41 in a manner well known to those skilled in the art.
  • the website 31 can receive a notification of such a selection from the browser 41 , and can provide the requested game-related media to the browser at step 580 .
  • the game-related media can be saved on the personal computing device 40 and can be shared in the same manner as any other media stored on the personal computing device. Consequently, once the website 31 has provided the selected game-related media to the browser 41 at step 580 , it an end at step 590 .
  • the website 31 can continue to present the web pages, at step 560 , comprising thumbnails or other information identifying the relevant game-related media.
  • the website 31 can also perform various maintenance tasks not illustrated in FIG. 5 .
  • the website 31 can enable users to add additional data about the game-related media into the database 32 . Users can, thereby, attach notes to various game-related media, or the users could grant access to another user, causing the website 31 to modify the database 32 to associate the user to whom access was granted with the appropriate game-related media.
  • the website 31 can periodically discard game-related media that is older than a selected threshold.
  • game-related media can be identified based on a time stamp that the service 22 can add into the database 32 and associated with game-related media when the game-related media is stored at step 470 .
  • the website 31 can periodically discard game-related media associated with a particular user that exceeds that user's quota.
  • the website 31 can further discard game-related media when instructed by the user to do so, such as through commands entered into the web browser 41 .
  • the website 31 can first verify that the user has the authority to discard the game-related media, such as if the user was the one who originally generated the game-related media.
  • game-related media can be uploaded from an entertainment computing device to a server computing device, where it can be processed and ultimately presented, through an appropriate user interface, such as a web page, to one or more users who can download and share the game-related media.
  • an appropriate user interface such as a web page

Abstract

A user of an interactive entertainment computing device can capture media representing aspects of the interactive entertainment. The media can be uploaded to a server that can extract appropriate information from the media, including identifiers of the user and the interactive entertainment. The media can then be presented to a user through a user interface, enabling the user to download and share the media. The presented media can be tailored to the user based on a relationship between authentication information used to access the media and a user identifier from within the context of the interactive entertainment.

Description

    BACKGROUND
  • Interactive audio-visual entertainment devices, such as video game consoles and the video games themselves, are designed to provide entertainment by engaging one or more users in an interactive experience having one or more goals. For example, video games based on sports engage users by providing an interactive experience in which the user attempts to win within the context of the sport on which the game is based. To provide an engaging experience, interactive audio-visual entertainment devices traditionally require the user to improve various skills, thereby engaging the user throughout the time that the user attempts to improve their skills. Increasingly skilled users are rewarded with aspects of the interactive entertainment that are generally not provided to less skilled users. For example, video games based on combat situations can provide skilled users the opportunity to use more potent weapons and travel to more exotic destinations.
  • To provide a more engaging experience, interactive audio-visual entertainment device offer an increasingly rich audio visual experience. For example, many video games feature high resolution graphics and multi-channel audio, both of which are supported by modern video game consoles. Consequently, interactive audio-visual entertainment may be entertaining, not only to those interacting with it, but also to spectators. Spectators, in addition to enjoying a rich audio visual experience, often seek to learn by merely observing others' interactions. For example, some video games enable users to receive special privileges once a specific series of actions are performed in a specific manner. Users can learn of those actions by observing other users interacting with the game.
  • Often, especially for competitive interactive audio-visual entertainment, such as video games that maintain a running tally, users may seek to demonstrate their prowess by inviting others to observe either the user interacting with the game directly, or a listing of the most successful tallies accumulated by the user. For example, users interacting with a video game simulating a race can share various race times as evidence of their respective successes. As interactive audio-visual entertainment options increase, the reasons for which one user may seek to share their experiences with others likewise increase. For example, modern video games often provide advanced customization options that are, in some respects, tangential to the purpose of the game. Nevertheless, such customization provides users with yet another reason to share their gaming experiences.
  • SUMMARY
  • Aspects of an interactive audio-visual experience are most easily shared if the user captures the aspect they want to share into a transportable and shareable format. Audio aspects can be captured into an audio file encoded using standard audio encoding schemes and video can be captured into an image file encoded using standard image encoding schemes or into a movie file, again encoded using standardized mechanisms. Some interactive audio-visual entertainment devices provide no mechanisms by which an aspect of the interactive experience can be captured into a transportable and shareable format. For example, while some video games provide the user with the ability to capture specific elements of the game, those elements are only saved within the context of the game itself and cannot be removed from the game.
  • To enable the export of aspects of an interactive audio-visual experience, a server program can receive raw data from a game, representing game-related media, such as media directed to presenting an aspect of the game, together with a header packet identifying the information. Subsequently, the server can parse out relevant elements from the header packet, such as information identifying the game, the user, or other relevant information. The information obtained by the server can subsequently be used to store the received game-related media in an appropriate manner, such as by storing it in a sub-location based on the game and entitling the data based on unique identifying information.
  • A service can monitor specific locations for particular types of data. In one embodiment, a single service can monitor specific locations for multiple types of data, including movie data, picture data or audio data. In an another embodiment multiple services can monitor specific locations, with each service being directed to specific types of data, such as one service being directed to movie data, a second service to picture data and a third service to audio data. Once the game-related media is detected, the service can validate the naming structure of the container file, and identify or derive further relevant information, such as identifying information. The service can then create an appropriate set of related data, such as thumbnails, to enable more efficient access and sharing of the game-related media. Such information can be provided to a website hosting the game-related media. To enhance security, remaining metadata that is not used can be removed.
  • A website hosting game-related media can require identifying information from users seeking to access the website. The identifying information can be used to associate a user of the website with a user of one or more games. Consequently, the website can present the user with the game-related media that is relevant to that user, such as game-related media captured by that user, or game-related media sent to that user by another user. The user can further download the game-related media, which can be presented in standardized formats to enable further sharing.
  • This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
  • Additional features and advantages will be made apparent from the following detailed description that proceeds with reference to the accompanying drawings.
  • DESCRIPTION OF THE DRAWINGS
  • The following detailed description may be best understood when taken in conjunction with the accompanying drawings, of which:
  • FIG. 1 is a diagram of an exemplary environment for sharing media from interactive audio-visual entertainment;
  • FIG. 2 is a block diagram of an exemplary computing device;
  • FIG. 3 is an exemplary flow chart illustrating the receipt of media from interactive audio-visual entertainment;
  • FIG. 4 is an exemplary flow chart illustrating the organization of media from interactive audio-visual entertainment; and
  • FIG. 5 is an exemplary flow chart illustrating the sharing of media from interactive audio-visual entertainment.
  • DETAILED DESCRIPTION
  • The following description relates to the obtaining of media from interactive audio-visual entertainment, such as a video game, for sharing with others outside of the confines of the interactive entertainment itself. Back end server computing devices can host processes that interface with existing mechanisms in interactive audio-visual entertainment, thereby enabling the export of media from that audio-visual entertainment. The hosted processes can comprise a server program for receiving and storing game-related media, a service process for obtaining information about the game-related media that aids in its identification and for removing unneeded metadata, and a hosting process that provides user-specific access to the game-related media.
  • The techniques described herein focus on the mechanisms by which media from interactive audio-visual entertainment can be obtained, categorized, and provided to one or more users. One such mechanism comprises a server process that can receive data from interactive audio-visual entertainment and store the data in a predefined manner. Another mechanism comprises a service that retrieves the stored data and prepares it for presentation, including the generation of thumbnails, and the removal of unused, and potentially harmful metadata. A further mechanism comprises a hosting process that identifies users and provides user-specific data for browsing and downloading.
  • Although not required, the description below will be in the general context of instructions being executed by a device having computational abilities. Such “computing devices” include both traditional computers and consumer-electronic devices having computational abilities, such as those provided by a central processing unit. Thus, the description below will be in the general context of “computer-executable instructions,” such as program modules, that are capable of being executed by a such a “computing device.” More specifically, the description will reference acts and symbolic representations of operations that are performed by one or more computing devices or peripherals, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by a processing unit of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in memory, which reconfigures or otherwise alters the operation of the computing device or peripherals in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations that have particular properties defined by the format of the data.
  • Generally, program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the computing devices need not be limited to conventional personal computers and conventional personal electronics devices, and can include other devices capable of computation, including hand-held devices, multi-processor systems, other microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Similarly, the computing devices need not be limited to a stand-alone device, as the mechanisms may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
  • With reference to FIG. 1, an exemplary environment 99 for sharing aspects of interactive audio-visual entertainment is illustrated. The exemplary environment 99 includes interactive audio-visual entertainment hardware, such as an entertainment computing device 10, and interactive audio-visual entertainment software, such as a game 11 for use on the entertainment computing device 10. The exemplary environment 99 also comprises a personal computing device 40 having a web browser 41. In one embodiment, the personal computing device 40 and the entertainment computing device 10 are co-located such that media from the entertainment computing device 10 generated by a user will be accessed by that same user on the personal computing device 40.
  • The exemplary environment 99 further comprises an upload server computing device 20 and a website host computing device 30. The upload server computing device 20 hosts a server program 21 and a service 22, while the website host computing device 30 hosts a website 31 and a database 32. In one embodiment, the upload server computing device 20 and the website host computing device 30 are physically distinct computing devices as illustrated in FIG. 1. In an alternative embodiment, however, the upload server computing device 20 and the website host computing device 30 can be a single computing device hosting the server program 21, the service 22, the website 31 and the database 32.
  • For simplicity, FIG. 1, and the descriptions below, refer to a website 31, hosted by a website host computing device 30, and a web browser 41 executing on a personal computing device 40. However, the described mechanisms in no way require the use of either the HyperText Transfer Protocol (HTTP), nor the HyperText Markup Language (HTML). For example, the described mechanisms can be equally implemented via a File Transfer Protocol (FTP) site and any FTP client program. Likewise, the described mechanisms could be implemented using Really Simple Syndication (RSS) server software and RSS readers or aggregators. Thus, it is to be understood that, while the descriptions below will refer to a website, a website hosting computing device, and a web browser, that such descriptions are equally applicable to any network communication hosting program and associated network communication client program.
  • Returning to FIG. 1, a user interacting with the entertainment computing device 10, specifically via the mechanisms provided for by the game 11, can select game-related media for upload to the upload server computing device 20. For example, the game 11 can provide users with the ability to capture still images from the game, or to capture a sequence of events as a movie. The game 11 could likewise provide users with the ability to record various audio aspects of the game as a sound, or otherwise capture game-related media. Such images, movies, sounds, or other game-related media would traditionally be stored and accessible only from within the game 11 itself. For example, the game 11 could provide for a media gallery that would enable users interacting with the game to view previously captured media.
  • In one embodiment, the game 11 can be modified to upload previously captured media to another computing device, such as the upload server computing device 21 as indicated by the arrow 51 of FIG. 1. Such modifications can leverage the networking abilities present in many modern games, such as games which enable users to interact with, or compete with, other users over a networked connection. Often, games which enable multiple users to interact over a network connection do so by leveraging a server computing device to facilitate the maintenance and exchange of information common to all of the users. Such a server computing device can itself act as the upload server computing device 20, or it can redirect communications 51 to another computing device acting as the upload server computing device 20.
  • Uploaded game-related media can be received by the server program 21 running on the upload server computing device 20. In one embodiment, the server program 21 conforms to standard file transfer protocols, such as the Hyper Text Transfer Protocol (HTTP) or the File Transfer Protocol (FTP). Upon receipt of the game-related media from an entertainment computing device 10, the server program 21 can parse out relevant information that can have been included with the game-related media by the entertainment computing device or the game 11. Such relevant information can include an identifier of the game 11, an identifier of the user, a name the user selected for themselves within the context of the game or within the context of the server computing device used to exchange information common to all of the users (commonly referred to as a “gamer tag”), or other identifying or otherwise pertinent information. In one embodiment, such information can be stored in a header, such as an HTTP header packet.
  • Once the server program 21 has parsed out the relevant information, it can store, or otherwise persist, the received game-related media on the upload server computing device 20 or on another computing device communicationally connected to the upload server computing device. In one embodiment, the game-related media is stored in a folder, or other type of storage partition, based on the game 11 that uploaded the game-related media. For example, the game identifier provided with the game-related media can be associated with a common name for the game 11, and the folder into which the server program 21 stores the game-related media can be identified with the same common name of the game 11. Alternatively, the folder into which the server program 21 stores the game-related media can be identified with the game identifier itself, without requiring the server program 21 to lookup an associated common name of the game 11.
  • To identify the game-related media when it is stored, the server program 21 can generate a file name for the file containing the game-related media. In one embodiment, the server program 21 can generate a random identifier based, at least in part, on the identifier of the user, the user's gamer tag, or some combination thereof. The randomness of the identifier can distinguish between multiple game-related media uploaded by the same user.
  • Once the server program 21 has stored the game-related media as a file on the upload server computing device 20, a service 22 can detect the storage of the game-related media and can further process the game related media to prepare it for sharing. In one embodiment, the service 22 can continually monitor one or more storage locations on the upload server computing device 20, or on another computing device communicationally connected to the upload server computing device 20. When the service 22 detects the storage of new game-related media, it can first perform one or more verifications to ensure that the detected file was properly stored. For example, the service 22 can verify that the file name is properly constructed. In addition, the service 22, which can access the algorithm used by the server program 21 to generate the file name, can reverse that algorithm to extract information from the file name, such as the user's gamer tag or identifier. Information identifying the game 11, which generated the game-related media, can be obtained by the service 22 from the folder in which the game-related media was stored. For example, the name of the folder can be a game identifier or the common name of the game 11, as indicated above.
  • The service 22 can also prepare the game-related media for sharing, such as through a web server. In one embodiment, the service 22 can create one or more appropriate thumbnails for the game-related media. For example, if the game-related media comprises images or video, the service 22 can generate a smaller, lower resolution image or a still frame image to act as a thumbnail for the game-related media. Likewise, if the game-related media comprises audio, the service 22 can generate a shorter, lower bit rate recording to act as a thumbnail for the game-related media.
  • To enhance the security of game-related media that is shared, the service 22 can remove unneeded meta-data from the game-related media. As will be known by those skilled in the art, some media files can comprise a substantial amount of meta-data, which can be used to exploit security weaknesses. Since the meta-data referenced by, or otherwise used by, the service 22 is limited, the remaining meta-data can be removed by the service 22 to enhance the security of the sharing of game-related media.
  • Once the service 22 has completed its processing, it can transfer, via communications 52, the game-related media to a website host computing device 30, on which a website 31 is executing. In one embodiment, the website host computing device 30 can be co-located with the upload server computing device 20, such that the server program 21, the service 22 and the website 31 are all being executed by the same computing device. In another embodiment, the website host computing device 30 can be a distinct computing device in the manner illustrated in FIG. 1.
  • The transfer 52 of the game-related media from the service 22 to the website host computing device 30 includes the transfer of thumbnails generated by the service and any other data augmenting the game-related media data itself. The transfer 52 likewise includes categorizing information extracted by the service 22, such as the identifier of the game 11, the common name of the game, the identifier of the user, the user's gamer tag, or other information that can be used to categorize the game-related media for easier access through the website 31.
  • The website host computing device 30, upon receipt of the categorized and augmented game-related media, can store the received information into a database 32. For example, using a relational database, the game-related media itself can be related to the categorizing information provided by the service 22 and it can further be related to the thumbnail likewise provided by the service 22. Consequently, the game-related media can be searched for based on any one of the categorizing information provided, including, for example, the identifier of the game 11, the common name of the game, the identifier of the user or the gamer tag. The game-related media can likewise be searched for via the thumbnails provided by the service 22.
  • When a user accesses the website 31, such as with a web browser 41 on personal computing device 40, the website can enable the user to download one or more game-related media as indicated by communication 53. In one embodiment, the website 31 can present to the user for downloading any of the game-related media stored in the database 32. Such a presentation can comprise the creation of one or more web pages comprising thumbnails, identifying information, or some combination thereof. Once the personal computing device 40 has received these web pages, and they have been displayed to the user by the web browser 41, the user can select one or more game-related media for download by selecting a corresponding thumbnail or other identifying information through the web browser. Such a selection can be communicated back to the website 31 in a known manner, which can reference the database 32 to obtain the game-related media selected by the user, and provide that media, via communication 53, to the web browser 41. Once stored on the personal computing device 40, the game-related media can be shared by the user in the same manner as any other media on the personal computing device.
  • In an alternative embodiment, the website 31 can require users to authenticate themselves, such as by providing a user name and a password. The authentication information provided can identify a particular user of the game 11. More specifically, the user name provided by the user to the website 31 can be associated with a user identifier or a gamer tag. Such as association can either be maintained by the website host computing device 30, or on a separate computing device or system. With such an association, the website 31 can present to the authenticated user only the game-related media that is associated with that user in the database, such as via the user's identifier or gamer tag. In one embodiment, the website 31 provides, to authenticated users, one or more web pages comprising thumbnails, identifying information, or some combination thereof corresponding only to game-related media captured by that user. In an alternative embodiment, the website 31 provides, to authenticated users, not only access to the game-related media captured by that user, but also to game-related media captured by other users and shared by those other users with the current user. In either case, the user can select one or more game-related media for download by selecting a corresponding thumbnail or other identifying information that was presented through the web browser 41. Such a selection can be communicated back to the website 31 in a known manner, which can reference the database 32 to obtain the game-related media selected by the user, and provide that media, via communication 53, to the web browser 41. As before, once the game-related media is stored on the personal computing device 40, it can be shared in the same manner as any other media on the personal computing device.
  • Turning to FIG. 2, an exemplary computing device 100 is illustrated. As indicated previously, the term “computing device,” as used herein, includes consumer entertainment devices, such a video game consoles, digital video recorders, and content provider interfaces such as the ubiquitous “cable box.” Thus, the exemplary computing device 100 can be representative of any of the computing devices shown in FIG. 1, including the entertainment computing device 10, the upload server computing device 20, the website host computing device 30, the personal computing device 40, or any combination thereof since, as previously indicated, the computing devices of FIG. 1 do not have to be physically distinct from one another.
  • The exemplary computing device 100 can include, but is not limited to, one or more central processing units (CPUs) 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The computing device 100 can include graphics hardware, including, but not limited to, a graphics hardware interface 190 and a display device 191.
  • The computing device 100 also typically includes computer readable media, which can include any available media that can be accessed by computing device 100 and includes both volatile and nonvolatile media and removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media, communication media or combinations thereof. Computer storage media includes media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computing device 100, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 2 illustrates operating system 134, other program modules 135, and program data 136.
  • The computing device 100 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 2 illustrates a hard disk drive 141 that reads from or writes to nonvolatile magnetic media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used with the exemplary computing device include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through an interface such as non-volatile memory interface 140.
  • The drives and their associated computer storage media discussed above and illustrated in FIG. 2, provide storage of computer readable instructions, data structures, program modules and other data for the computing device 100. In FIG. 2, for example, hard disk drive 141 is illustrated as storing operating system 144, other program modules 145, and program data 146. Note that these components can either be the same as or different from operating system 134, other program modules 135 and program data 136. Operating system 144, other program modules 145 and program data 146 are given different numbers hereto illustrate that, at a minimum, they are different copies.
  • Of relevance to the descriptions below, the computing device 100 may operate in a networked environment using logical connections to one or more remote computers. For simplicity of illustration, and in conformance with the exemplary system 99 of FIG. 1, the computing device 100 is shown in FIG. 2 to be connected to the network 90. The computing device 100 is not limited to any particular network or networking protocols. The network connection depicted in FIGS. 1 and 2 is a general network connection 171 that can be a local area network (LAN), a wide area network (WAN) or other networks. The computing device 100 is connected to the general network connection 171 through a network interface or adapter 170 which is, in turn, connected to the system bus 121. In a networked environment, program modules depicted relative to the computing device 100, or portions or peripherals thereof, may be stored in the memory of one or more other computing devices that are communicatively coupled to the computing device 100 through the general network connection 171. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between computing devices may be used.
  • The general network connection 171 to the network 90 can be used to communicate with one or more other computing devices that are likewise connected to the network. Communications 51, 52 and 53, illustrated in FIG. 1, are shown as proceeding directly between computing devices 10, 20, 30 and 40, and bypassing network 90, only for simplicity of illustration. Instead, more accurately, communications 51, 52 and 53 are exchanged between the computing devices 10, 20, 30 and 40 through the network 90 in a manner well known to those skilled in the art.
  • Communication 51, as explained previously, can comprise the transmission of game-related media from a game 11 to a server program 21 designed to receive such game-related media. Communication 52, in turn, can comprise the transmission of categorized and augmented game-related media to a website host computing device 30, and communication 53 can comprise the transmission of game-related media to the personal computing device 40. As described below, FIGS. 3, 4 and 5 illustrate flow diagrams corresponding to processes that either trigger or receive these communications. In particular, FIG. 3 illustrates an exemplary process performed by the server program 21 upon receipt of communication 51, FIG. 4 illustrates an exemplary process performed by the service 22 prior to the transmission of communication 52, and FIG. 5 illustrates an exemplary process performed by the website 31 prior to the transmission 53.
  • Turning to FIG. 3, a flow diagram 300 begins with the receipt of the game-related media at step 310. As described previously, the game-related media can be sent by a game 11 executing on an entertainment computing device 10. The game 11 comprises mechanisms for enabling a user to capture game-related media, such as a picture, movie, audio, or other media. The game 11 can further comprise mechanisms for enabling the user to view previously captured game-related media within the context of the game, such as through a “gallery” generated by the game. In one embodiment, network communication capability sufficient to encapsulate such previously captured game-related media can be added, either to the game 11 itself, or to the entertainment computing device 10. The network communication capability can transmit one or more previously captured game-related media to the upload server computing device 20 by constructing one or more network packets comprising some or all of the game-related media. The transmitted game-related media can be selected by the user of the game 11, such as through the gallery.
  • In one embodiment, the network packets include a header packet having a user data section for transmitting information about the game-related media, such as the name of the game 11 from which the game-related media was obtained, a unique identifier for the game 11, a unique identifier for the user of the game that captured the game-related media, the user's gamer tag, or other information that can further identify the game-related media. Such information can be stored as a string in the header packet, with appropriate separators, such as a “#” symbol, dividing the individual elements of data. In an alternative embodiment, the above information can be stored in separate elements within the header packet or can be otherwise transmitted in an appropriate manner.
  • When the server program 21 receives the game-related media at step 310, it can, at step 320, parse the header packet, separating out the individual elements of data, as delineated by the separators. As part of the parsing step 320, the server program 21 can further encode each of the individual elements into strings, or other appropriate data structures, for subsequent processing. One aspect of such subsequent processing can be the identification of a “common” name of the game 11, such as the name by which the game is marketed, at step 330. If the information provided in the header packet did not already comprise the name of the game 11, but instead comprised a unique identifier, the server program 21 can use the unique game identifier to look up the common name of the game. A correlation between game identifiers and game names can be maintained by the upload server computing device 20, or it can be maintained by another computing device connected to the network 90.
  • Step 330 can additionally verify that the game 11 sending the game-related media is valid. For example, if the identifier provided in the header packet does not correspond to any common name, the game 11 may not be a game that is to be allowed to upload game-related media. In such a case, the server program 21 need not perform any further operations with respect to the received game-related media. In an alternative embodiment, however, the server program 21 can provide an error message back to the game 11 to provide troubleshooting information, should it be needed. In a further alternative embodiment, the server program 21 can perform additional verifications beyond game identification, such as verifying that the game-related media is encoded in an acceptable format, such as a standard image, movie, or audio format.
  • If the verifications do not detect a problem, then at step 340, the server program 21 can create a random Globally Unique IDentifier (GUID) for the game-related media received at step 310. In one embodiment, the GUID can be created and subsequently combined with the user's identifier, gamer tag, or some combination thereof to create a unique combination. In addition, the GUID can also be combined with, or otherwise related to, the time when the game-related media was captured or the time when it was received at step 310. By using a continually changing parameter, such as a time parameter, the generated GUID can remain unique even when the same user uploads multiple game-related media from the same game within a narrow span of time. Once the server program 21 has generated a GUID at step 340 and combined it with the above listed information, it can, at step 350, assign a name to the file comprising the combination. In another embodiment, the file name can further comprise additional elements that identify the user or the game or both.
  • The file comprising the game-related media can be stored in a folder by the server program at step 360. The folder and the file comprising the game-related media can be stored either locally on the upload server computing device 20, or they can stored on one or more remote computing devices connected to the network 90. The folder can be named after, or otherwise associated with, the game 11 from which the game-related media was received. In one embodiment, the folder can simply have the same name as the name of the game. In an alternative embodiment, the name of the folder can include the name of the game, the game identifier or some combination therefore, while in a still further alternative embodiment, the folder name can comprise additional information as well. Once the folder has been created and named, if it was not already present, and once the file comprising the received game-related media has been stored therein, the processing performed by the server program 21 can end at step 370.
  • Turning to FIG. 4, a flow diagram 400 is shown representing exemplary processing performed by the service 22 of FIG. 1. As illustrated by flow diagram 400, the processing performed by service 22 can, at step 410, monitor selected storage locations. Such monitored storage locations can coincide with the storage locations in which the server program 21 stores the received game-related media and, as indicated previously, can be local to the upload server computing device 20, or they can be located on one or more remote computing devices connected to the network 90. Once the service 22 detects the creation of a file within the monitored storage locations, as indicated by step 420, the service 22 can further process the game-related media and prepare it for sharing via the website 31.
  • Initially, at step 430, the service 22 can verify the name of the file to ensure that it is a file that the service should be addressing, and not merely a file accidentally saved to the monitored storage location. The file name verification of step 430 can include extracting, from the file name, information such as the identifier of the user or the user's gamer tag. If the file is not verified at step 430, it can be stored in an appropriate location for further review, such as by an administrator of the upload server computing device 20. The service 22 can further identify or derive additional information regarding the game-related media at step 440. More specifically, once the file name has been validated at step 430, the service 22 can read the file from the monitored storage location and can acquire any of the metadata associated with the file. In addition, the service 22 can perform further processing with respect to the information obtained from the file name. For example, if the service 22 was only able to derive a user's gamer tag from the file name, the service can match the gamer tag to a user identifier using either a local or remote database associating user identifiers with the gamer tags those users selected within the context of specific games, such as game 11.
  • To facilitate the identification of the game-related media, the service 22 can, at step 450, create thumbnails of the game-related media. As will be known by those skilled in the art, thumbnails comprise smaller, lower resolution media that is analogous to the game-related media. For example, if the game-related media was a high definition image from the game 11, the service 22 can create a smaller, lower resolution version of the image at step 450 to act as a thumbnail. A still image can likewise act as a thumbnail if the game-related media was a video segment. Audio media can be likewise compressed in both duration and quality to yield a thumbnail for an audio-only game-related media.
  • At step 460, the service 22 can remove any of the metadata associated with the file comprising the game-related media that the service is not using or referencing. As will be known by those skilled in the art, some media file formats can comprise a large amount of metadata that can harbor malicious code. Consequently, in one embodiment, the service 22 can remove such metadata. Any metadata that is left by the service 22 can be limited, for security reasons, to character data.
  • Once the file comprising the game-related media has been cleaned of potentially malicious elements, the service 22 can, at step 470, store the game-related media, as well as some or all of the additional information identified, derived or created by the service, in the database 32. Such additional information can include the thumbnail, the identifier of the game 11, the common name of the game, the identifier of the user, the gamer tag of the user, or any other relevant information, or any combination thereof. After storing the game-related media at step 470, the service 22 can end at step 480.
  • Turning to FIG. 5, a flow diagram 500 illustrates exemplary processing performed by the website 31. As shown, the website 31 can wait for a user at step 530. In one embodiment, the website 31 can limit users to accessing only the game-related media that was captured and uploaded by that user, or game-related media that the user has been granted permission to access. In an alternative embodiment, the website 31 can eschew such limitations, and can provide any user access to all of the game-related media stored in the database 32. In the case of the latter, steps 540 and 550 can be skipped, and processing can proceed to step 560, which will be described below. However, if the website 31 limits access to the game-related media, it can check, at step 540, if a user has provided identification and password. If the user has provided authenticating information, the website 31 can authenticate the user at step 550.
  • The process of authenticating a user at step 550 can comprise associating a user's gamer tag or user identifier with the identification provided at step 540. Such an association can be stored locally on the website host computing device 30, or it can be stored remotely on one or more computing devices connected to the network 90. In one embodiment, the user identification and password provided at step 540 are part of a network “passport” that the user can use to log on to additional websites. Such a “passport” can be maintained in a central location that can comprise information linking the user's passport to other relevant information about the user, including the user's name and address, billing information and, of relevance to the descriptions below, the user's gamer tag or other game-related identifying information. In such a case, the website 31 can, as part of the process of authenticating the user at step 550, reference the centralized passport database to determine the user's game-related identifier or gamer tag based on the information provided at step 540.
  • Subsequently, at step 560, the website 31 can present thumbnails of the game-related media, other information identifying the game-related media, or some combination thereof, to the user. If the website 31 only allowed a user to access game-related media that the user generated, or game-related media to which the user was specifically granted access, then the game-related media that is relevant to that user will be limited. However, if the website 31 provided any user access to any game-related media, then all of the game-related media in the database 32 is relevant to any user.
  • The database can be searched based on user identifiers, including a user's game-related identifier and a user's gamer tag. Consequently, in presenting the thumbnails at step 560, the website 31 can, once it has authenticated the user at step 550, search the database 32 for the game-related media associated with that user's gamer tag or game-related identifier. Once the relevant game-related media has been identified by the website 31, the website can request the associated thumbnails for presentation to the user. The thumbnails can be presented to the user by generating one or more web pages, comprising those thumbnails, for display by the browser 41 in a manner well known to those skilled in the art.
  • If the user selects one or more thumbnails at step 570, the website 31 can receive a notification of such a selection from the browser 41, and can provide the requested game-related media to the browser at step 580. Once downloaded by the browser 41, the game-related media can be saved on the personal computing device 40 and can be shared in the same manner as any other media stored on the personal computing device. Consequently, once the website 31 has provided the selected game-related media to the browser 41 at step 580, it an end at step 590. However, if the user does not select a thumbnail at step 570, the website 31 can continue to present the web pages, at step 560, comprising thumbnails or other information identifying the relevant game-related media.
  • In one embodiment, the website 31 can also perform various maintenance tasks not illustrated in FIG. 5. For example, the website 31 can enable users to add additional data about the game-related media into the database 32. Users can, thereby, attach notes to various game-related media, or the users could grant access to another user, causing the website 31 to modify the database 32 to associate the user to whom access was granted with the appropriate game-related media.
  • Other maintenance tasks can also be performed by the website 31. For example, the website 31 can periodically discard game-related media that is older than a selected threshold. Such game-related media can be identified based on a time stamp that the service 22 can add into the database 32 and associated with game-related media when the game-related media is stored at step 470. Alternatively, the website 31 can periodically discard game-related media associated with a particular user that exceeds that user's quota. To enable users to manage such a quota, the website 31 can further discard game-related media when instructed by the user to do so, such as through commands entered into the web browser 41. Before discarding game-related media at the user's request, the website 31 can first verify that the user has the authority to discard the game-related media, such as if the user was the one who originally generated the game-related media.
  • As can be seen from the above descriptions, game-related media can be uploaded from an entertainment computing device to a server computing device, where it can be processed and ultimately presented, through an appropriate user interface, such as a web page, to one or more users who can download and share the game-related media. In view of the many possible variations of the subject matter described herein, we claim as our invention all such embodiments as may come within the scope of the following claims and equivalents thereto.

Claims (20)

1. One or more computer-readable media comprising computer-executable instructions for sharing media generated by, and captured within a context of, interactive audio-visual entertainment, the computer-executable instructions directed to steps comprising:
receiving media from interactive audio-visual entertainment representing an aspect of the audio-visual entertainment;
validating the received media;
identifying a user of the interactive audio-visual entertainment who captured the media; and
associating the identified user with the media.
2. The computer-readable media of claim 1, comprising further computer-executable instructions directed to generating a thumbnail of the media, wherein the presenting the media comprises presenting the thumbnail.
3. The computer-readable media of claim 1, comprising further computer-executable instructions directed to identifying the interactive audio-visual entertainment and associating the identified interactive audio-visual entertainment with the media.
4. The computer-readable media of claim 1, wherein the interactive audio-visual entertainment is a video game.
5. The computer-readable media of claim 1, wherein the associating the identified user with the media comprises naming a file comprising the media with a name derived from a combination of a random value and an identifier of the user.
6. The computer-readable media of claim 1, wherein the associating the identified user with the media comprises storing the received media in a database.
7. The computer-readable media of claim 1, wherein the computer-executable instructions are directed to further steps comprising: removing unneeded meta-data from the received media.
8. The computer-readable media of claim 1, wherein the identifying the user comprises obtaining a gamer tag associated with the user in the context of the interactive audio-visual entertainment.
9. A system for sharing media generated by, and captured within the context of, interactive audio-visual entertainment, the system comprising:
a first server program performing steps comprising: receiving media from interactive audio-visual entertainment representing an aspect of the audio-visual entertainment;
a service performing steps comprising: identifying a user of the interactive audio-visual entertainment who captured the media and associating the identified user with the media, and transmitting the media; and
a second server program performing steps comprising: receiving user authentication information, associating the user authentication information with the identified user, and presenting, for download, the media associated with the identified user.
10. The system of claim 9, wherein the second server program performs further steps comprising generating a thumbnail of the media.
11. The system of claim 9, wherein the first server program performs further steps comprising identifying the interactive audio-visual entertainment and associating the identified interactive audio-visual entertainment with the media.
12. The system of claim 9, wherein the first server program performs further steps comprising verifying that the received media is from proper interactive audio-visual entertainment.
13. The system of claim 9, wherein the second server program performs further steps comprising transmitting the media in response to a user request to download the media.
14. The system of claim 9, wherein the transmitting the media comprises transmitting information regarding the identified user and transmitting a thumbnail of the media; and wherein the receiving the media comprises receiving the information regarding the identified user and receiving the thumbnail of the media.
15. The system of claim 9, wherein the service performs further steps comprising storing the media in a database associating the media with identifying information.
16. One or more computer-readable media comprising computer-executable instructions for sharing media generated by, and captured within a context of, interactive audio-visual entertainment, the computer-executable instructions directed to steps comprising:
receiving user authentication information;
associating the user authentication information with a user identifier that identifies the user within the context of the interactive audio-visual entertainment; and
presenting, for download, media that represents an aspect of the audio-visual entertainment, and that is associated with the user identifier.
17. The method of claim 16, further comprising the step of generating a thumbnail of the media, wherein the presenting the media comprises presenting the thumbnail.
18. The method of claim 16, further comprising the step of transmitting the media in response to a user request to download the media.
19. The method of claim 16, wherein the interactive audio-visual entertainment is a video game.
20. The method of claim 16, wherein the received user authentication comprises an online passport that authenticates the user at multiple sites.
US11/699,673 2007-01-30 2007-01-30 Video game to web site upload utility Abandoned US20080182665A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/699,673 US20080182665A1 (en) 2007-01-30 2007-01-30 Video game to web site upload utility

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/699,673 US20080182665A1 (en) 2007-01-30 2007-01-30 Video game to web site upload utility

Publications (1)

Publication Number Publication Date
US20080182665A1 true US20080182665A1 (en) 2008-07-31

Family

ID=39668629

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/699,673 Abandoned US20080182665A1 (en) 2007-01-30 2007-01-30 Video game to web site upload utility

Country Status (1)

Country Link
US (1) US20080182665A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100016074A1 (en) * 2008-03-20 2010-01-21 Gdi Game Domain International Plc Apparatus and methods for game conversion
US20100070887A1 (en) * 2008-09-15 2010-03-18 Apple Inc. Method and apparatus for providing an application canvas framework
US20130005471A1 (en) * 2011-06-28 2013-01-03 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
US8498722B2 (en) 2011-05-31 2013-07-30 United Video Properties, Inc. Systems and methods for generating media based on player action in an interactive video gaming environment
US8657680B2 (en) 2011-05-31 2014-02-25 United Video Properties, Inc. Systems and methods for transmitting media associated with a measure of quality based on level of game play in an interactive video gaming environment
US11247135B2 (en) * 2007-12-05 2022-02-15 Sony Interactive Entertainment LLC System and method for storing program code and data within an application hosting center

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6383080B1 (en) * 2000-05-09 2002-05-07 Nintendo Co., Ltd. Kiosk for printing and communicating video game images
US6583799B1 (en) * 1999-11-24 2003-06-24 Shutterfly, Inc. Image uploading
US20030220145A1 (en) * 2002-05-22 2003-11-27 Erickson Craig S. Digital camera and networking accessories for a portable video game device
US20040010693A1 (en) * 2002-06-25 2004-01-15 Yukinori Noguchi Image data management apparatus
US20040146272A1 (en) * 2003-01-09 2004-07-29 Kessel Kurt A. System and method for managing video evidence
US20040174434A1 (en) * 2002-12-18 2004-09-09 Walker Jay S. Systems and methods for suggesting meta-information to a camera user
US20050015712A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Resolving metadata matched to media content
US20050033758A1 (en) * 2003-08-08 2005-02-10 Baxter Brent A. Media indexer
US20050102375A1 (en) * 2003-10-23 2005-05-12 Kivin Varghese An Internet System for the Uploading, Viewing and Rating of Videos
US20050113062A1 (en) * 2003-11-20 2005-05-26 Pelaez Mariana B. Method and system for processing adjustments to the type and quality of multimedia communication sessions
US20050246752A1 (en) * 1999-08-03 2005-11-03 Gad Liwerant Method and system for sharing video over a network
US20060012813A1 (en) * 1999-12-01 2006-01-19 Silverbrook Research Pty Ltd Retrieving video data via a coded surface
US20060155645A1 (en) * 2005-01-10 2006-07-13 Art.Com, Inc. Image uploading and print-on demand system and method, namely for art and photographs
US7117519B1 (en) * 2000-07-26 2006-10-03 Fotomedia Technologies Llc Method and system for selecting actions to be taken by a server when uploading images
US20060252519A1 (en) * 2003-03-03 2006-11-09 Walker Jay S Method and apparatus for payouts determined based on a set completion game
US20070060114A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US20070179995A1 (en) * 2005-11-28 2007-08-02 Anand Prahlad Metabase for facilitating data classification

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050246752A1 (en) * 1999-08-03 2005-11-03 Gad Liwerant Method and system for sharing video over a network
US6583799B1 (en) * 1999-11-24 2003-06-24 Shutterfly, Inc. Image uploading
US20060015201A1 (en) * 1999-12-01 2006-01-19 Silverbrook Research Pty Ltd Retrieving audio data via a coded surface
US20060012813A1 (en) * 1999-12-01 2006-01-19 Silverbrook Research Pty Ltd Retrieving video data via a coded surface
US6383080B1 (en) * 2000-05-09 2002-05-07 Nintendo Co., Ltd. Kiosk for printing and communicating video game images
US7117519B1 (en) * 2000-07-26 2006-10-03 Fotomedia Technologies Llc Method and system for selecting actions to be taken by a server when uploading images
US20030220145A1 (en) * 2002-05-22 2003-11-27 Erickson Craig S. Digital camera and networking accessories for a portable video game device
US20040010693A1 (en) * 2002-06-25 2004-01-15 Yukinori Noguchi Image data management apparatus
US20040174434A1 (en) * 2002-12-18 2004-09-09 Walker Jay S. Systems and methods for suggesting meta-information to a camera user
US20040146272A1 (en) * 2003-01-09 2004-07-29 Kessel Kurt A. System and method for managing video evidence
US20060252519A1 (en) * 2003-03-03 2006-11-09 Walker Jay S Method and apparatus for payouts determined based on a set completion game
US20050015712A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Resolving metadata matched to media content
US20050033758A1 (en) * 2003-08-08 2005-02-10 Baxter Brent A. Media indexer
US20050102375A1 (en) * 2003-10-23 2005-05-12 Kivin Varghese An Internet System for the Uploading, Viewing and Rating of Videos
US20050113062A1 (en) * 2003-11-20 2005-05-26 Pelaez Mariana B. Method and system for processing adjustments to the type and quality of multimedia communication sessions
US20060155645A1 (en) * 2005-01-10 2006-07-13 Art.Com, Inc. Image uploading and print-on demand system and method, namely for art and photographs
US20070060114A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US20070179995A1 (en) * 2005-11-28 2007-08-02 Anand Prahlad Metabase for facilitating data classification

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11247135B2 (en) * 2007-12-05 2022-02-15 Sony Interactive Entertainment LLC System and method for storing program code and data within an application hosting center
US20100016074A1 (en) * 2008-03-20 2010-01-21 Gdi Game Domain International Plc Apparatus and methods for game conversion
US20100070887A1 (en) * 2008-09-15 2010-03-18 Apple Inc. Method and apparatus for providing an application canvas framework
US9223548B2 (en) * 2008-09-15 2015-12-29 Apple Inc. Method and apparatus for providing an application canvas framework
US8498722B2 (en) 2011-05-31 2013-07-30 United Video Properties, Inc. Systems and methods for generating media based on player action in an interactive video gaming environment
US8657680B2 (en) 2011-05-31 2014-02-25 United Video Properties, Inc. Systems and methods for transmitting media associated with a measure of quality based on level of game play in an interactive video gaming environment
US9486698B2 (en) 2011-05-31 2016-11-08 Rovi Guides, Inc. Systems and methods for transmitting media associated with a measure of quality based on level of game play in an interactive video gaming environment
US20130005471A1 (en) * 2011-06-28 2013-01-03 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
US8628423B2 (en) * 2011-06-28 2014-01-14 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
US20140100040A1 (en) * 2011-06-28 2014-04-10 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
US9597600B2 (en) * 2011-06-28 2017-03-21 Rovi Guides, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment

Similar Documents

Publication Publication Date Title
US8417776B2 (en) Online evidence collection
US8959202B2 (en) Generating statistics of popular content
US8726355B2 (en) Identity verification via selection of sensible output from recorded digital data
US20070289022A1 (en) Apparatus and method for the protected distribution of electronic documents
US20080182665A1 (en) Video game to web site upload utility
CN112468520B (en) Data detection method, device and equipment and readable storage medium
CN109643319A (en) The system and method for matching content for identification
US20130268679A1 (en) Information processing apparatus, information processing method, and program
US20110099618A1 (en) Single sign-on authentication
CN104364762A (en) Systems and methods for controlling a local application through a web page
US20140020079A1 (en) Method for providing network service and apparatus thereof
EP1947586A1 (en) Data providing system, data receiving system, computer-readable recording medium storing data providing program, and computer-readable recording medium storing data receiving program
CN116432247A (en) Infringement evidence method and device based on blockchain
CN101635715A (en) Method and system for improving network application safety
CN108260015B (en) Voting data processing method and device and electronic equipment
US20160277306A1 (en) Data Stream Identifying Method and Device
CN107911381A (en) Access method, system, server-side and the client of application programming interface
JP2017023348A (en) Game system, score processing program, management device for game system and score processing method
CN114616795A (en) Security mechanism for preventing retry or replay attacks
CN108650526B (en) Identification method, computer equipment and storage medium
JP4740706B2 (en) Fraud image detection apparatus, method, and program
US11233844B2 (en) Distribution network providing customized content at delivery
CN104737121B (en) Video playing is multiplexed and is demultiplexed in a browser
CN110866196A (en) Printer network information acquisition method and device and electronic equipment
CN109698863A (en) A kind of method, apparatus, equipment and the storage medium of determining HTTP message safety

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHARPS, MICHAEL;GRAF, JASON;CONN, ROBERT J., II;AND OTHERS;REEL/FRAME:018932/0920;SIGNING DATES FROM 20070125 TO 20070129

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034542/0001

Effective date: 20141014