US20050005275A1 - System, method, and data storage medium for sharing data between video games - Google Patents

System, method, and data storage medium for sharing data between video games Download PDF

Info

Publication number
US20050005275A1
US20050005275A1 US10/896,165 US89616504A US2005005275A1 US 20050005275 A1 US20050005275 A1 US 20050005275A1 US 89616504 A US89616504 A US 89616504A US 2005005275 A1 US2005005275 A1 US 2005005275A1
Authority
US
United States
Prior art keywords
program
processor
data
memory
information
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
US10/896,165
Inventor
Timothy Stamper
Paul Machacek
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 Corp
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 US10/896,165 priority Critical patent/US20050005275A1/en
Publication of US20050005275A1 publication Critical patent/US20050005275A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RARE LIMITED
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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • A63F13/10
    • 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/45Controlling the progress of the video game
    • 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/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • 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

Definitions

  • the present invention relates to a system and method for sharing data between software programs in general and, in particular, but not exclusively, to a system and method for sharing data between video game programs.
  • Video games are popularly played on systems that are functionally devoted to that use.
  • a system includes a console connected to a video monitor or television set.
  • the console houses a processor and has a slot for receiving a cartridge containing program information for a particular game to be played.
  • One or more controllers that may be handheld are connected to the console, and each controller has a joystick, buttons, or other user interface thereon. Signals from the controller or controllers are transmitted to the console and thus enable the player of a game to interact with the console.
  • a cartridge comprises Read Only Memory (ROM) that contains a game program.
  • ROM Read Only Memory
  • the console acts under the control of the game program to process signals received from the controller and to provide video and audio signals to be sent to the monitor or television set.
  • the present invention provides a system for sharing information between software programs.
  • the data sharing system includes a control unit having a processor and a memory that stores information pertaining to a first program that has been previously executed by the processor.
  • the data sharing system also includes a data storage medium that is couplable to the control unit.
  • the data storage medium stores a second program that when coupled to and implemented by the processor of the control unit, retrieves information pertaining to the first program from the memory of the control unit and utilizes the retrieved information in the execution of the second program.
  • information from the first program can affect the implementation of the second program.
  • the first program is typically, but not necessarily, stored on a separate data storage medium.
  • the second program when implemented by the processor, confirms the validity of the retrieved information prior to utilizing it in the implementation of the second program.
  • the first program identified above as having been previously executed, contains instructions that when executed by the processor specifically identifies information pertaining to the first program that is shareable with the second program and stores this information in the memory of the control unit for subsequent retrieval by the second program.
  • the first program alternatively contains instructions that when executed by the processor specifically identifies information for sharing with the second program and provides a code that is associated with this identified information to a user of the first program via a display coupled to the control unit.
  • the code is provided instead of storing the identified information to the memory.
  • the second program alternatively contains instructions that when executed by the processor asks the user to provide a code, if any, and then utilize the information associated with the code in the implementation of the second program.
  • control unit is a video game console
  • data storage media are first and second game cartridges storing first and second video game programs, respectively.
  • the invention provides a system that supports interaction between software programs and that is ideally suited for a video game system. Because a first video game program can identify information for use by a second video game program to affect the characteristics thereof and vice versa, the complexity of the video games is increased and a video game player's interest in the games is further captivated.
  • FIG. 1 is a block diagram of a system utilized for sharing data in which the present invention is implemented
  • FIG. 2 is a flow diagram illustrating the logic of a first program for identifying information for sharing with a second program and for storing this data in a memory accessible by the second program in accordance with this invention
  • FIG. 3 is a flow diagram illustrating the logic of a second program for retrieving information previously stored by the first program and utilizing the information in conjunction with the second program in accordance with the present invention
  • FIG. 4 is a flow diagram illustrating the logic of an alternative embodiment of the first program described in FIG. 2 for identifying data to be shared with an alternative embodiment of the second program and providing a code for transferring the data to the second program;
  • FIG. 5 is a flow diagram illustrating the logic of the alternative embodiment of the second program for receiving a code provided by the first program described in FIG. 4 and for utilizing the data represented by the code;
  • FIG. 6 is a flow diagram illustrating the steps of a method of sharing data between video game programs implemented on a particular embodiment of the system of FIG. 1 in accordance with the present invention.
  • the present invention is a system and method for sharing information between separately executable programs, and a data storage medium for, among other things, storing a program that is capable of retrieving and utilizing information provided by another program.
  • FIG. 1 is a block diagram depicting several of the key components of a system 10 for sharing data between separate programs in accordance with the present invention.
  • the data sharing system 10 includes a control unit 11 having a processor 12 and a memory 16 .
  • the data sharing system 10 also includes at least one data storage medium 14 coupled to the processor 12 .
  • the at least one data storage medium 14 includes at least one program stored thereon for implementation by the processor 12 . While the at least one data storage medium 14 can be internal to the control unit 11 , it is preferably external to the control unit 11 as shown in FIG. 1 .
  • Non-limiting examples of the at least one data storage medium 14 include cartridges, magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read-only memories (ROMs), and the like.
  • the control unit 11 and the at least one data storage medium 14 are equipped to communicate with each other in any of a number of manners, each well-known in the art.
  • the control unit 11 includes an external interface (not shown) for establishing a connection with one or more external data sources.
  • the control unit 11 is connected to a local area network, which is in turn connected to the Internet.
  • the external interface includes the necessary circuitry for such a connection.
  • other means for establishing a communications link between the control unit 11 and an external data source, such as the at least one date storage medium 14 may be used.
  • Non-limiting examples of the type of communication link to be established include acoustic, optical, electromagnetic radiation or physical communication links.
  • the external interface is also constructed for use with the Transmission Control Protocol/Internet Protocol (i.e., the standard transmission protocol for the Internet, also known as “TCP/IP”), the particular network configuration of the local area network it is connecting to, and a particular type of coupling medium.
  • the external data source may be an Internet web site, i.e., a server connected to the Internet which has mass storage facilities.
  • the external interface comprises a modem, and in this regard, the external data source could simply be another control unit.
  • the data sharing system 10 includes many more components than those shown in FIG. 1 . However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention.
  • the data sharing system 10 provides for the utilization of data generated by a first program with a separate second program.
  • the first program is stored on a first of the at least one data storage medium coupled to the processor 12 .
  • the second separately executable program can also be stored on the first data storage medium, but is preferably stored on a second of the at least one data storage medium coupled to the processor 12 .
  • the processor 12 reads and executes the first program, thereby implementing the first program.
  • the first program is typically loaded into the memory 16 before execution.
  • the processor 12 executes the instructions of the first program now stored in memory 16 .
  • information pertaining to the first program or the implementation thereof, such as the occurrence of a particular event is typically stored, as is well known in the art, in the memory 16 or in another memory coupled to the processor 12 . This practice is typical in the implementation of most software programs.
  • the first program includes logic for, among other things, specifically identifying certain data or portions of the first program that, once executed, are capable of sharing information with other separate programs and requesting storage of such information.
  • FIG. 2 is a flow diagram illustrating the logic of this alternative first program implemented by the processor 12 .
  • a test is made to determine whether information has been identified that is shareable with another program.
  • Shareable information may, for example, be identified or triggered upon the occurrence of a certain event, e.g., reaching a certain level of a game or completing the game.
  • the content of the information identified as “shareable” with other programs can vary, as will be described in further detail below.
  • the information provided may be a reward, such as a new weapon, for completing a particular level of a video game. Or, it may simply be a flag to signal to another program whether a particular condition has or has not been met.
  • the first program may invoke the storage of one or any number of flags or other information in the memory 16 .
  • the second video game program continues to make a query for such information, as shown in FIG. 2 .
  • the shareable information is stored in memory 16 or some other identified memory that is universally accessible by other programs at a step 21 .
  • this information may include a “flag” for identifying the occurrence of an event.
  • a flag is typically a yes/no indicator, but can also indicate two or more possible states.
  • the information may include other small amounts of data apart from “flags.”
  • the program is a video game program
  • the information could include numeric data such as the number of lives a game player has accumulated or the skill level a player has achieved in a previous game.
  • the information could include larger blocks of data for adding an entirely new feature to another program, such as an entire textured model of a character for a video game, various text statements, standard sound effect samples, and a table of attributes that govern that character's features and abilities.
  • the second program includes logic for, among other things, retrieving information previously stored by the first program on a memory coupled to the processor 12 and utilizing at least a portion of this information in the implementation of the second program.
  • FIG. 3 is a flow diagram illustrating the logic of the second program as implemented by the processor 12 .
  • a test is made to determine whether there is any information, previously stored by a first video game program, in the memory 16 or some other universally accessible location for retrieval by the second program. If the answer to step 22 is no, then the execution of the second program continues at a step 24 without any supplemental data. If the answer to step 22 is yes, the identified information is retrieved by the processor 12 at a step 26 .
  • the second program is checking to specifically determine that the data is of the correct type; that it is whole and complete within itself; that there is no corruption in whole or in part; and that the data is suitable for use by and is acceptable to the second program.
  • This validity test can be accomplished by conventional error checking techniques that could, for example, include checking data.
  • extra data can be incorporated alongside or within the data to be transferred. This extra data can be calculated by a program from the data to be transferred. In this regard, the calculation method used could be a simple addition of all of the data, or it could be a more complicated algorithm which generates what is conventionally understood to be an error checking code like a checksum.
  • the second program retrieves this data it can perform an algorithm to calculate a value which it could in some way compare with the checksum value stored with the data. If the comparison is confirmed, then the data is deemed valid. It will also be appreciated by those skilled in the art and others that more than one checksum may be needed to confirm the validity, integrity and acceptability of the data.
  • step 30 If the retrieved information is not valid, processing returns to step 24 as shown in FIG. 3 and the second program is implemented without any supplemental data. On the other hand, if the retrieved information is valid, some or all of this information is utilized, as needed, by the processor 12 in the implementation of the remaining instructions of the second program, thereby allowing characteristics from the first program to affect those of the second program. See step 30 . Obviously, the information or program codes stored in the memory 16 from the first program must be compatible with the second program. It will also be appreciated by those skilled in the art and others that checking the validity of the data at step 28 is optional and that this step's usefulness is primarily dependent upon the type of system upon which the programs of this invention are implemented.
  • the memory 16 from which the identified information is retrieved is a nonvolatile random access memory (RAM) for storing information that can be readily used by the second program, particularly after the power to the processor 12 has been turned “off” for any considerable length of time.
  • the memory 16 can be a typical random access memory, and in this instance, the processor 12 is preferably adapted to provide for the hot swapping of data so that programs can be loaded into and executed by the processor while it is powered on.
  • information stored in the typical random access memory by a first program can still be retrieved by a second program through cold swapping, which requires that the power of the processor 12 be turned off before implementing a new program, as long as the new program is coupled to the processor and the processor is immediately turned back on. If this is done quickly enough, the information in RAM may still be retrievable. It is in this instance in which the validity checking provided at step 28 is most useful.
  • the second program as described in FIG. 3 may also include the logic depicted in FIG. 2 for specifically identifying shareable information for storing in the memory 16 for retrieval by the first or yet some other program.
  • the processor 12 identifies, retrieves and utilizes this information in conjunction with the first or other program.
  • the control unit 11 permits the free communication between programs stored on the same or separate data storage media. It will be appreciated by one skilled in the art and others that information may be shared as described above between any number of software programs on the same or separate data storage media.
  • FIG. 4 is a flow diagram illustrating the logic of an alternative embodiment of the first program described in FIG. 2 for specifically identifying data to be shared with an other program.
  • the processor implementing the first program instead of storing the identified shareable information in memory 16 , the processor implementing the first program generates a code associated with the shareable information and provides it to a user of the first program via a display that is coupled to the control unit 11 .
  • a test is made to determine whether information has been identified that is shareable with another program, identical to step 19 in FIG. 2 . Again, if information for sharing with another program has not been identified or if a particular trigger event has not yet occurred, the first program continues to make a query for such information.
  • the shareable information is encoded and this code, which can be an alpha/numeric code, a set of key combinations or the like, is provided to a user of the first program via a display (not shown) coupled to the control unit 11 . See step 42 .
  • This code can then be utilized by the user to transfer the shareable information to another program as described below in reference to FIG. 5 .
  • the code could be encrypted or modified in such a way that it could only be executed by a certain copy of a program or on a certain processor, so that this code is useless to anyone else. Obviously, only a limited amount of data can reasonably be transferred in this manner.
  • FIG. 5 is a flow diagram illustrating the logic of an alternative embodiment of the second program for receiving a code for transferring data from the first program illustrated in FIG. 4 to the second program for utilization therewith.
  • a test is made to determine whether a user of the second program has entered a code, as defined above in reference to FIG. 4 , using an input device (not shown) couple to the processor. If the user has not entered any such code, the execution of the second program continues without the use of supplemental data from another game program, as shown at a step 46 . If the user has entered the code, the data represented by the code is used in the execution of the second program to allow characteristics from the first program to affect those of the second program.
  • the present invention is ideally suitable for a video game system.
  • the first program refers to a first video game program
  • the second program refers to a second video game program.
  • the data storage media on which the first and second video game programs and/or other video game programs are initially stored are game cartridges having the necessary electronics for interfacing with the control unit 11 .
  • the control unit 11 is preferably a video game console that, among other things, includes at least one slot with the necessary circuitry for receiving the game cartridges.
  • a physical connection between the data storage medium and the system 10 is not necessary.
  • the connection can be provided via an acoustic, optical or electromagnetic radiation link.
  • the video game programs can be implemented on any type of system that has a display component to depict the video game and at least one processing component to execute the instructions of the first video game program.
  • the system can be a portable system, such as a handheld unit like NINTENDO's portable GAMEBOY®, a personal computer, or a video game console with an attached monitor.
  • FIG. 6 is a flow diagram that illustrates the steps performed by one embodiment of the present invention to provide for the sharing of information between first and second programs formed in accordance with this invention.
  • the present invention is ideally suitable for a video game system, the following discussion of the steps illustrated in FIG. 6 will provide a specific example of this embodiment of the invention as it applies to a video game system.
  • a test is made to determine whether a first game cartridge is connected to a video game console. If a first game cartridge is not connected, the system continues to check for one as shown in FIG. 6 .
  • the processor 12 acts under control of the first video game program. Then, at a step 52 , the video game system determines whether a trigger event has occurred indicating the existence of information for storage in a universally accessible location of the memory 16 . For example, while playing the first video game, a player may reach a certain stage in the first video game where the player recognizes a common feature from a second video game (which the player has obviously played before). As an example, the player may come across a “Huge Blocked Icy Cave” in which there is a key-shaped hole.
  • the player can find no way or key to enter the Huge Blocked Icy Cave of the first video game.
  • a lever At the side of the Huge Blocked Icy Cave is a lever.
  • the player pulls the lever and a “cut-cam” shows a section from the second video game stored on a second game cartridge. This cut-cam may reveal a door access to a “Big Icy Key.” If the player remembered playing the second video game, the player may have seen this area that could not have been accessed at that time. In this example, the trigger event occurs when the lever is pulled.
  • the system determines that a trigger event has not occurred, it continues to query for such trigger events as shown in FIG. 6 . However, if the system determines that a trigger event has occurred, the processor 12 then writes information pertaining to the trigger event into its memory 20 . In this regard, the processor 12 sets a flag indicating the occurrence of the event, i.e., that the door to access the Big Icy Key in the first video game has been opened, as shown at step 54 .
  • the system tests for whether the first game cartridge has been removed. If not, processing returns to step 52 and the steps described above are repeated. If it has been removed, the system tests for whether the second game cartridge has been connected to the console at a step 58 . If no connection has been made, the system continues to make this query. If the second game cartridge is connected, the processor 12 executes the second video game program and also reads and utilizes, if applicable, any trigger events stored in the memory at a step 60 . For example, once a player inserts the second data cartridge containing the second video game he remembers playing, the player can go into the area of the game that had the Big Icy Key.
  • the processor utilizes the software of the second game cartridge in addition to the flagged information from memory 20 , transferred from the first game cartridge, in order to make a change which affects the playing of the second video game.
  • step 60 After the video game system reads and utilizes, if applicable, the flagged information stored in memory 20 at step 60 , processing returns to step 52 and the steps described above are repeated, permitting the second game cartridge to store information in memory 20 for retrieval by the first or other game cartridge.
  • the processor sets another flag in memory 20 to signal that the Big Icy Key has been recovered from the first game cartridge. If the player then removes the second game cartridge from the console and replaces it with the first game cartridge, the player will be able to return to the Huge Blocked Icy Cave with the icy keyhole and open the sealed cave with the Big Icy Key that has been recovered from the second game cartridge. Thus, the player is now able to access this new area beyond the icy cave.
  • the data sharing system of the present invention not only provides for the sharing of information from one program with another stored on the same or a separate data storage medium, but also provides for the interaction between the programs.
  • a first game program may provide hints about how to solve a problem or get through a challenging situation as in the above example, the complexity of the first game program is increased by requiring the interaction with another game program which may in turn trigger new problems or challenges to be resolved.
  • the complexity of the game programs can be controlled by the hints provided in the cut-cam.
  • the player must recognize from the hint that the door to access the Big Icy Key is found in the second video game, and thus, this hint requires that the player recall playing the secondary video game and also have reached a certain level in the game in order to immediately make use of the hint.
  • the present invention enhances a player's interest in the video games and, thus in turn, prolongs the useful playing life of the video games.

Abstract

A system for sharing information between separately executable programs is provided. The data sharing system includes a control unit (11) having a processor (12) and a memory (16) coupled to the processor (12). The memory (16) stores information pertaining to a first program that was previously executed by the processor (12). The data sharing system also includes a data storage medium (14) that stores a second program executable by the processor (12). When executed by the processor, the second program retrieves information pertaining to the first program from the memory and utilizes the information pertaining to the first program with the execution of the second program.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of application Ser. No. 09/340,713, filed Jun. 29, 1999, priority from the filing date of which is hereby claimed under 35 U.S.C. § 120.
  • FIELD OF THE INVENTION
  • The present invention relates to a system and method for sharing data between software programs in general and, in particular, but not exclusively, to a system and method for sharing data between video game programs.
  • BACKGROUND OF THE INVENTION
  • Video games are popularly played on systems that are functionally devoted to that use. Such a system includes a console connected to a video monitor or television set. The console houses a processor and has a slot for receiving a cartridge containing program information for a particular game to be played. One or more controllers that may be handheld are connected to the console, and each controller has a joystick, buttons, or other user interface thereon. Signals from the controller or controllers are transmitted to the console and thus enable the player of a game to interact with the console.
  • Generally, a cartridge comprises Read Only Memory (ROM) that contains a game program. The console acts under the control of the game program to process signals received from the controller and to provide video and audio signals to be sent to the monitor or television set.
  • The content of video games can be quite vast. Some video game programs require the player to traverse a maze, while others require the player to find hidden objects to, for example, fight against evil or help save a princess. Once the player reaches the end of the game or feels he or she has sufficiently completed the game, the player often loses interest in the game. In response, manufacturers often create multiple versions of a popular game offering, for example, new quests for the character of that game. However, even though the general essence of the game is retained in subsequent versions, the original game remains essentially useless to the player. Furthermore, each of the subsequent games in the sequence is separate and distinct, providing no interaction between the games but rather only a common theme.
  • Therefore, there is a need for a system that prolongs the useful life of video games, and thus video game cartridges or other storage media, by maintaining a player's interest in the game by the sharing of data between separate games.
  • SUMMARY OF THE INVENTION
  • The present invention provides a system for sharing information between software programs. The data sharing system includes a control unit having a processor and a memory that stores information pertaining to a first program that has been previously executed by the processor. The data sharing system also includes a data storage medium that is couplable to the control unit. The data storage medium stores a second program that when coupled to and implemented by the processor of the control unit, retrieves information pertaining to the first program from the memory of the control unit and utilizes the retrieved information in the execution of the second program. As a result, information from the first program can affect the implementation of the second program. The first program is typically, but not necessarily, stored on a separate data storage medium.
  • In accordance with further aspects of the present invention, the second program, when implemented by the processor, confirms the validity of the retrieved information prior to utilizing it in the implementation of the second program.
  • In accordance with yet further aspects of the invention, the first program, identified above as having been previously executed, contains instructions that when executed by the processor specifically identifies information pertaining to the first program that is shareable with the second program and stores this information in the memory of the control unit for subsequent retrieval by the second program.
  • In accordance with yet other further aspects of the invention, the first program alternatively contains instructions that when executed by the processor specifically identifies information for sharing with the second program and provides a code that is associated with this identified information to a user of the first program via a display coupled to the control unit. In this instance, the code is provided instead of storing the identified information to the memory. In this regard, the second program alternatively contains instructions that when executed by the processor asks the user to provide a code, if any, and then utilize the information associated with the code in the implementation of the second program.
  • In accordance with yet other alternative aspects of the present invention, the control unit is a video game console, and the data storage media are first and second game cartridges storing first and second video game programs, respectively.
  • As will be readily appreciated from the foregoing description, the invention provides a system that supports interaction between software programs and that is ideally suited for a video game system. Because a first video game program can identify information for use by a second video game program to affect the characteristics thereof and vice versa, the complexity of the video games is increased and a video game player's interest in the games is further captivated.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
  • FIG. 1 is a block diagram of a system utilized for sharing data in which the present invention is implemented;
  • FIG. 2 is a flow diagram illustrating the logic of a first program for identifying information for sharing with a second program and for storing this data in a memory accessible by the second program in accordance with this invention;
  • FIG. 3 is a flow diagram illustrating the logic of a second program for retrieving information previously stored by the first program and utilizing the information in conjunction with the second program in accordance with the present invention;
  • FIG. 4 is a flow diagram illustrating the logic of an alternative embodiment of the first program described in FIG. 2 for identifying data to be shared with an alternative embodiment of the second program and providing a code for transferring the data to the second program;
  • FIG. 5 is a flow diagram illustrating the logic of the alternative embodiment of the second program for receiving a code provided by the first program described in FIG. 4 and for utilizing the data represented by the code; and
  • FIG. 6 is a flow diagram illustrating the steps of a method of sharing data between video game programs implemented on a particular embodiment of the system of FIG. 1 in accordance with the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The present invention is a system and method for sharing information between separately executable programs, and a data storage medium for, among other things, storing a program that is capable of retrieving and utilizing information provided by another program.
  • FIG. 1 is a block diagram depicting several of the key components of a system 10 for sharing data between separate programs in accordance with the present invention. The data sharing system 10 includes a control unit 11 having a processor 12 and a memory 16. The data sharing system 10 also includes at least one data storage medium 14 coupled to the processor 12. The at least one data storage medium 14 includes at least one program stored thereon for implementation by the processor 12. While the at least one data storage medium 14 can be internal to the control unit 11, it is preferably external to the control unit 11 as shown in FIG. 1. Non-limiting examples of the at least one data storage medium 14 include cartridges, magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read-only memories (ROMs), and the like.
  • The control unit 11 and the at least one data storage medium 14 are equipped to communicate with each other in any of a number of manners, each well-known in the art. For instance, the control unit 11 includes an external interface (not shown) for establishing a connection with one or more external data sources. As an example, in one embodiment, the control unit 11 is connected to a local area network, which is in turn connected to the Internet. Accordingly, the external interface includes the necessary circuitry for such a connection. However, it will be appreciated by those skilled in the art and others that other means for establishing a communications link between the control unit 11 and an external data source, such as the at least one date storage medium 14, may be used. Non-limiting examples of the type of communication link to be established include acoustic, optical, electromagnetic radiation or physical communication links. Returning to the previous example, the external interface is also constructed for use with the Transmission Control Protocol/Internet Protocol (i.e., the standard transmission protocol for the Internet, also known as “TCP/IP”), the particular network configuration of the local area network it is connecting to, and a particular type of coupling medium. As a result, the external data source may be an Internet web site, i.e., a server connected to the Internet which has mass storage facilities. In other embodiments of the present invention, the external interface comprises a modem, and in this regard, the external data source could simply be another control unit.
  • Those of ordinary skill in the art will appreciate that the data sharing system 10 includes many more components than those shown in FIG. 1. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention.
  • As will be better understood from the following description, the data sharing system 10 provides for the utilization of data generated by a first program with a separate second program. The first program is stored on a first of the at least one data storage medium coupled to the processor 12. The second separately executable program can also be stored on the first data storage medium, but is preferably stored on a second of the at least one data storage medium coupled to the processor 12.
  • In accordance with the present invention, the processor 12 reads and executes the first program, thereby implementing the first program. In particular, the first program is typically loaded into the memory 16 before execution. Then, the processor 12 executes the instructions of the first program now stored in memory 16. Upon execution of the first program, information pertaining to the first program or the implementation thereof, such as the occurrence of a particular event, is typically stored, as is well known in the art, in the memory 16 or in another memory coupled to the processor 12. This practice is typical in the implementation of most software programs.
  • Alternatively, the first program includes logic for, among other things, specifically identifying certain data or portions of the first program that, once executed, are capable of sharing information with other separate programs and requesting storage of such information. FIG. 2 is a flow diagram illustrating the logic of this alternative first program implemented by the processor 12.
  • Beginning at a step 19, a test is made to determine whether information has been identified that is shareable with another program. Shareable information may, for example, be identified or triggered upon the occurrence of a certain event, e.g., reaching a certain level of a game or completing the game. The content of the information identified as “shareable” with other programs can vary, as will be described in further detail below. As a non-limiting example, the information provided may be a reward, such as a new weapon, for completing a particular level of a video game. Or, it may simply be a flag to signal to another program whether a particular condition has or has not been met. In this regard, the first program may invoke the storage of one or any number of flags or other information in the memory 16.
  • If information for sharing with another program has not been identified or if a particular trigger event has not yet occurred, the second video game program continues to make a query for such information, as shown in FIG. 2. On the other hand, if shareable information is identified, the shareable information is stored in memory 16 or some other identified memory that is universally accessible by other programs at a step 21.
  • As previously mentioned, the information stored by the first program, either as a result of the mere execution of a typical first program as well-known in the art or as specifically identified as shareable by the first program illustrated in FIG. 2, can drastically vary. As a first example, this information may include a “flag” for identifying the occurrence of an event. A flag is typically a yes/no indicator, but can also indicate two or more possible states. Alternatively, the information may include other small amounts of data apart from “flags.” For example, if the program is a video game program, the information could include numeric data such as the number of lives a game player has accumulated or the skill level a player has achieved in a previous game. Even further, the information could include larger blocks of data for adding an entirely new feature to another program, such as an entire textured model of a character for a video game, various text statements, standard sound effect samples, and a table of attributes that govern that character's features and abilities.
  • After execution of the first program, the processor 12 and the memory 16 are used to execute the second program. The second program includes logic for, among other things, retrieving information previously stored by the first program on a memory coupled to the processor 12 and utilizing at least a portion of this information in the implementation of the second program. FIG. 3 is a flow diagram illustrating the logic of the second program as implemented by the processor 12.
  • Beginning at a step 22, a test is made to determine whether there is any information, previously stored by a first video game program, in the memory 16 or some other universally accessible location for retrieval by the second program. If the answer to step 22 is no, then the execution of the second program continues at a step 24 without any supplemental data. If the answer to step 22 is yes, the identified information is retrieved by the processor 12 at a step 26.
  • Upon retrieval of the identified information, another test is made to determine the validity of the retrieved information at a step 28. Primarily, the second program is checking to specifically determine that the data is of the correct type; that it is whole and complete within itself; that there is no corruption in whole or in part; and that the data is suitable for use by and is acceptable to the second program. This validity test can be accomplished by conventional error checking techniques that could, for example, include checking data. Even further, extra data can be incorporated alongside or within the data to be transferred. This extra data can be calculated by a program from the data to be transferred. In this regard, the calculation method used could be a simple addition of all of the data, or it could be a more complicated algorithm which generates what is conventionally understood to be an error checking code like a checksum. When the second program retrieves this data it can perform an algorithm to calculate a value which it could in some way compare with the checksum value stored with the data. If the comparison is confirmed, then the data is deemed valid. It will also be appreciated by those skilled in the art and others that more than one checksum may be needed to confirm the validity, integrity and acceptability of the data.
  • If the retrieved information is not valid, processing returns to step 24 as shown in FIG. 3 and the second program is implemented without any supplemental data. On the other hand, if the retrieved information is valid, some or all of this information is utilized, as needed, by the processor 12 in the implementation of the remaining instructions of the second program, thereby allowing characteristics from the first program to affect those of the second program. See step 30. Obviously, the information or program codes stored in the memory 16 from the first program must be compatible with the second program. It will also be appreciated by those skilled in the art and others that checking the validity of the data at step 28 is optional and that this step's usefulness is primarily dependent upon the type of system upon which the programs of this invention are implemented.
  • Preferably, the memory 16 from which the identified information is retrieved is a nonvolatile random access memory (RAM) for storing information that can be readily used by the second program, particularly after the power to the processor 12 has been turned “off” for any considerable length of time. Alternatively, the memory 16 can be a typical random access memory, and in this instance, the processor 12 is preferably adapted to provide for the hot swapping of data so that programs can be loaded into and executed by the processor while it is powered on. However, information stored in the typical random access memory by a first program can still be retrieved by a second program through cold swapping, which requires that the power of the processor 12 be turned off before implementing a new program, as long as the new program is coupled to the processor and the processor is immediately turned back on. If this is done quickly enough, the information in RAM may still be retrievable. It is in this instance in which the validity checking provided at step 28 is most useful.
  • The second program as described in FIG. 3 may also include the logic depicted in FIG. 2 for specifically identifying shareable information for storing in the memory 16 for retrieval by the first or yet some other program. As a result, once the first or some other program, which also includes the logic depicted in FIG. 3, is executed by the processor, the processor 12 identifies, retrieves and utilizes this information in conjunction with the first or other program. In essence, the control unit 11 permits the free communication between programs stored on the same or separate data storage media. It will be appreciated by one skilled in the art and others that information may be shared as described above between any number of software programs on the same or separate data storage media.
  • FIG. 4 is a flow diagram illustrating the logic of an alternative embodiment of the first program described in FIG. 2 for specifically identifying data to be shared with an other program. In general, instead of storing the identified shareable information in memory 16, the processor implementing the first program generates a code associated with the shareable information and provides it to a user of the first program via a display that is coupled to the control unit 11. In particular, beginning at a step 40, a test is made to determine whether information has been identified that is shareable with another program, identical to step 19 in FIG. 2. Again, if information for sharing with another program has not been identified or if a particular trigger event has not yet occurred, the first program continues to make a query for such information. On the other hand, if shareable information is identified, the shareable information is encoded and this code, which can be an alpha/numeric code, a set of key combinations or the like, is provided to a user of the first program via a display (not shown) coupled to the control unit 11. See step 42. This code can then be utilized by the user to transfer the shareable information to another program as described below in reference to FIG. 5. Optionally, the code could be encrypted or modified in such a way that it could only be executed by a certain copy of a program or on a certain processor, so that this code is useless to anyone else. Obviously, only a limited amount of data can reasonably be transferred in this manner.
  • FIG. 5 is a flow diagram illustrating the logic of an alternative embodiment of the second program for receiving a code for transferring data from the first program illustrated in FIG. 4 to the second program for utilization therewith. Beginning at a step 44, a test is made to determine whether a user of the second program has entered a code, as defined above in reference to FIG. 4, using an input device (not shown) couple to the processor. If the user has not entered any such code, the execution of the second program continues without the use of supplemental data from another game program, as shown at a step 46. If the user has entered the code, the data represented by the code is used in the execution of the second program to allow characteristics from the first program to affect those of the second program.
  • It will be appreciated by those skilled in the art and others that the present invention is ideally suitable for a video game system. In this regard, the first program refers to a first video game program, while the second program refers to a second video game program. Preferably, the data storage media on which the first and second video game programs and/or other video game programs are initially stored are game cartridges having the necessary electronics for interfacing with the control unit 11. The control unit 11 is preferably a video game console that, among other things, includes at least one slot with the necessary circuitry for receiving the game cartridges. However, it will also be appreciated by those skilled in the art and others that a physical connection between the data storage medium and the system 10 is not necessary. For example, as previously indicated, the connection can be provided via an acoustic, optical or electromagnetic radiation link.
  • It will be further appreciated by those skilled in the art and others that the video game programs can be implemented on any type of system that has a display component to depict the video game and at least one processing component to execute the instructions of the first video game program. For example, the system can be a portable system, such as a handheld unit like NINTENDO's portable GAMEBOY®, a personal computer, or a video game console with an attached monitor.
  • FIG. 6 is a flow diagram that illustrates the steps performed by one embodiment of the present invention to provide for the sharing of information between first and second programs formed in accordance with this invention. As the present invention is ideally suitable for a video game system, the following discussion of the steps illustrated in FIG. 6 will provide a specific example of this embodiment of the invention as it applies to a video game system.
  • Beginning with a step 50, a test is made to determine whether a first game cartridge is connected to a video game console. If a first game cartridge is not connected, the system continues to check for one as shown in FIG. 6.
  • On the other hand, if a first game cartridge containing programming information for a first video game program is connected to the console, the processor 12 acts under control of the first video game program. Then, at a step 52, the video game system determines whether a trigger event has occurred indicating the existence of information for storage in a universally accessible location of the memory 16. For example, while playing the first video game, a player may reach a certain stage in the first video game where the player recognizes a common feature from a second video game (which the player has obviously played before). As an example, the player may come across a “Huge Blocked Icy Cave” in which there is a key-shaped hole. Unfortunately, the player can find no way or key to enter the Huge Blocked Icy Cave of the first video game. At the side of the Huge Blocked Icy Cave is a lever. The player pulls the lever and a “cut-cam” shows a section from the second video game stored on a second game cartridge. This cut-cam may reveal a door access to a “Big Icy Key.” If the player remembered playing the second video game, the player may have seen this area that could not have been accessed at that time. In this example, the trigger event occurs when the lever is pulled.
  • If the system determines that a trigger event has not occurred, it continues to query for such trigger events as shown in FIG. 6. However, if the system determines that a trigger event has occurred, the processor 12 then writes information pertaining to the trigger event into its memory 20. In this regard, the processor 12 sets a flag indicating the occurrence of the event, i.e., that the door to access the Big Icy Key in the first video game has been opened, as shown at step 54.
  • Then, at a step 56, the system tests for whether the first game cartridge has been removed. If not, processing returns to step 52 and the steps described above are repeated. If it has been removed, the system tests for whether the second game cartridge has been connected to the console at a step 58. If no connection has been made, the system continues to make this query. If the second game cartridge is connected, the processor 12 executes the second video game program and also reads and utilizes, if applicable, any trigger events stored in the memory at a step 60. For example, once a player inserts the second data cartridge containing the second video game he remembers playing, the player can go into the area of the game that had the Big Icy Key. Once in that area, the player would see that the door had been opened and would be able to get the key. Thus, once the second game cartridge is inserted, the processor utilizes the software of the second game cartridge in addition to the flagged information from memory 20, transferred from the first game cartridge, in order to make a change which affects the playing of the second video game.
  • After the video game system reads and utilizes, if applicable, the flagged information stored in memory 20 at step 60, processing returns to step 52 and the steps described above are repeated, permitting the second game cartridge to store information in memory 20 for retrieval by the first or other game cartridge. Thus, in accordance with the above example, once the player retrieves the key in the second video game, the processor sets another flag in memory 20 to signal that the Big Icy Key has been recovered from the first game cartridge. If the player then removes the second game cartridge from the console and replaces it with the first game cartridge, the player will be able to return to the Huge Blocked Icy Cave with the icy keyhole and open the sealed cave with the Big Icy Key that has been recovered from the second game cartridge. Thus, the player is now able to access this new area beyond the icy cave.
  • As exemplified above, the data sharing system of the present invention not only provides for the sharing of information from one program with another stored on the same or a separate data storage medium, but also provides for the interaction between the programs. Although a first game program may provide hints about how to solve a problem or get through a challenging situation as in the above example, the complexity of the first game program is increased by requiring the interaction with another game program which may in turn trigger new problems or challenges to be resolved. Furthermore, the complexity of the game programs can be controlled by the hints provided in the cut-cam. In accordance with the above example, the player must recognize from the hint that the door to access the Big Icy Key is found in the second video game, and thus, this hint requires that the player recall playing the secondary video game and also have reached a certain level in the game in order to immediately make use of the hint. As a result, by providing for the interaction between video game programs, the present invention enhances a player's interest in the video games and, thus in turn, prolongs the useful playing life of the video games.
  • While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.

Claims (16)

1. A system for sharing data between software programs comprising:
(a) a control unit having a processor and a memory coupled to the processor, the memory storing information pertaining to a first program that was previously executed by the processor; and
(b) a data storage medium couplable to the control unit, the data storage medium storing a second program implementable by the processor for:
(i) retrieving information pertaining to the first program from the memory; and
(ii) utilizing the information pertaining to the first program with the execution of the second program.
2. The system of claim 1, wherein the second program implementable by the processor verifies the validity of the retrieved information before utilizing the retrieved information with the second program.
3. The system of claim 1, wherein the second program implementable by the processor:
(i) identifies information pertaining to the second program for sharing with the first program; and
(ii) requests storage of the information pertaining to the second program in the memory for retrieval by the first program.
4. The system of claim 1, wherein the first program implementable by the processor:
(i) identifies information pertaining to the second program for sharing with a third program; and
(ii) requests storage of the information pertaining to the second program in the memory for retrieval by the third program.
5. The system of claim 3, wherein the memory is a nonvolatile random access memory.
6. A system for sharing data between software programs comprising:
(a) a control unit having a processor and a memory coupled to the processor; and
(b) a first data storage medium couplable to the processor, the first data storage medium storing a first program implementable by the processor for:
(i) identifying information pertaining to the first program for sharing with a second program; and
(ii) requesting storage of the information pertaining to the first program in the memory for retrieval by the second program; and
(c) a second data storage medium couplable to the control unit, the second data storage medium storing the second program implementable by the processor for:
(i) retrieving the information pertaining to the first program from the memory; and
(ii) utilizing the information pertaining to the first program with the second program.
7. The data sharing system of claim 6, wherein the second program implementable by the processor verifies the validity of the retrieved information prior to utilizing the retrieved information in the execution of the second program.
8. The data sharing system of claim 6, wherein the information pertaining to the first program affects the second program, causing the second program implementable by the processor to:
(i) produce information pertaining to the second program for sharing with the first program; and
(ii) request storage of the information pertaining to the second program in the memory for retrieval by the first program.
9. The data sharing system of claim 8, wherein the first program implementable by the processor further:
(i) retrieves the information pertaining to the second program from the memory; and
(ii) utilizes the information pertaining to the second program with the first program.
10. The data sharing system of claim 9, wherein the first program implementable by the processor verifies the validity of the retrieved information pertaining to the second program prior to utilizing the retrieved information pertaining to the second program in the execution of the first program.
11. The data sharing system of claim 6, wherein the information pertaining to the first program affects the second program, causing the second program implementable by the processor to:
(i) produce information pertaining to the second program for sharing with a third program; and
(ii) request storage of the information pertaining to the second program in memory for retrieval by the third program.
12. A method for sharing information between three software programs implementable by a processor, the method comprising:
connecting a first data storage medium having a first program stored therein to said processor;
transferring data pertaining to a first program to a memory coupled to the processor;
connecting a second data storage medium having a second program stored therein to the processor;
retrieving the data pertaining to the first program from the memory coupled to the processor and then using said data in connection with the second program;
transferring data pertaining to the second program to the memory coupled to the processor;
connecting a third data storage medium to the processor, the third data storage medium having a third program stored therein; and
retrieving the data pertaining to the second program from the memory coupled to the processor and then utilizing said data in connection with the third program.
13. The method of claim 12, further comprising:
transferring data pertaining to the second program to the memory coupled to the processor; and
retrieving the data pertaining to the second program from the memory coupled to the processor and then utilizing said data in connection with the first program.
14. The method of claim 12, wherein transferring data pertaining to the first program to the memory coupled to the processor comprises setting a flag in the memory indicating the status of an event pertaining to the first data storage medium for affecting the implementation of the second program.
15. The method of claim 12, wherein the transferring of data pertaining to the second data storage medium to the memory coupled to the processor comprises setting a flag in the memory indicating the status of an event pertaining to the second data storage medium for affecting the implementation of the first program.
16. The method of claim 12, wherein the memory coupled to the processor is a nonvolatile random access memory.
US10/896,165 1999-06-29 2004-07-21 System, method, and data storage medium for sharing data between video games Abandoned US20050005275A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/896,165 US20050005275A1 (en) 1999-06-29 2004-07-21 System, method, and data storage medium for sharing data between video games

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/340,713 US6820265B1 (en) 1999-06-29 1999-06-29 System method and data storage medium for sharing data between video games
US10/896,165 US20050005275A1 (en) 1999-06-29 2004-07-21 System, method, and data storage medium for sharing data between video games

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/340,713 Continuation US6820265B1 (en) 1999-06-29 1999-06-29 System method and data storage medium for sharing data between video games

Publications (1)

Publication Number Publication Date
US20050005275A1 true US20050005275A1 (en) 2005-01-06

Family

ID=33415700

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/340,713 Expired - Lifetime US6820265B1 (en) 1999-06-29 1999-06-29 System method and data storage medium for sharing data between video games
US10/896,165 Abandoned US20050005275A1 (en) 1999-06-29 2004-07-21 System, method, and data storage medium for sharing data between video games

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/340,713 Expired - Lifetime US6820265B1 (en) 1999-06-29 1999-06-29 System method and data storage medium for sharing data between video games

Country Status (1)

Country Link
US (2) US6820265B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070099694A1 (en) * 2005-10-31 2007-05-03 Sbc Knowledge Ventures L.P. System and method to deliver video games
US20070115389A1 (en) * 2005-10-13 2007-05-24 Sbc Knowledge Ventures, L.P. System and method of delivering notifications

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002052256A (en) * 2000-08-07 2002-02-19 Konami Co Ltd Supporting device of game winning, terminal device, and recording medium
JP2003181146A (en) * 2001-12-14 2003-07-02 Square Co Ltd Network game system, game server system, client system, network game processing method, program, and recording medium
JP3585468B2 (en) * 2002-02-28 2004-11-04 株式会社コナミコンピュータエンタテインメント東京 GAME DEVICE, PROGRAM, AND GAME DEVICE CONTROL METHOD
US7810121B2 (en) * 2002-05-03 2010-10-05 Time Warner Interactive Video Group, Inc. Technique for delivering network personal video recorder service and broadcast programming service over a communications network
US20060156386A1 (en) * 2005-01-12 2006-07-13 Samsung Electronics Co., Ltd. Information storage medium storing management information of application executable from a plurality of storage media, and method and apparatus for executing the application
US8961321B2 (en) * 2009-02-13 2015-02-24 Microsoft Technology Licensing, Llc Management of gaming data
US20100228811A1 (en) * 2009-03-09 2010-09-09 Disney Enterprises, Inc. System and method for managing data transfer
US9948962B2 (en) 2014-11-13 2018-04-17 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5785598A (en) * 1996-06-18 1998-07-28 United Microelectronics Corporation Software cartridge being extensible with additional programs and/or data and the method of fabricating the same
US6032136A (en) * 1998-11-17 2000-02-29 First Usa Bank, N.A. Customer activated multi-value (CAM) card
US6132315A (en) * 1997-11-20 2000-10-17 Nintendo Co., Ltd. Game system operable with backup data on different kinds of game machines
US6385594B1 (en) * 1998-05-08 2002-05-07 Lendingtree, Inc. Method and computer network for co-ordinating a loan over the internet
US20030115126A1 (en) * 1999-08-11 2003-06-19 Pitroda Satyan G. System and methods for servicing electronic transactions
US20030163414A1 (en) * 2001-08-13 2003-08-28 Gresham Financial Services, Inc. Management of multiple loan securitization pools
US6629081B1 (en) * 1999-12-22 2003-09-30 Accenture Llp Account settlement and financing in an e-commerce environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1245361A (en) 1984-06-27 1988-11-22 Kerry E. Thacher Tournament data system
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
US5054787A (en) 1988-11-10 1991-10-08 Selectro-Vision, Ltd. Portable validation unit for gaming system
JP2945498B2 (en) * 1991-04-12 1999-09-06 富士通株式会社 Communication method between systems
US5675750A (en) 1993-11-12 1997-10-07 Toshiba America Information Systems Interface having a bus master arbitrator for arbitrating occupation and release of a common bus between a host processor and a graphics system processor
US5530302A (en) 1994-01-13 1996-06-25 Network Systems Corporation Circuit module with hot-swap control circuitry
US5604887A (en) * 1994-01-21 1997-02-18 Microsoft Corporation Method and system using dedicated location to share information between real and protected mode device drivers
US5408408A (en) 1994-02-22 1995-04-18 Marsico, Jr.; Michael Apparatus and method for electronically tracking and duplicating user input to an interactive electronic device
GB9405855D0 (en) 1994-03-24 1994-05-11 Int Computers Ltd Computer system
US5579491A (en) 1994-07-07 1996-11-26 Dell U.S.A., L.P. Local proactive hot swap request/acknowledge system
US5709603A (en) 1995-04-06 1998-01-20 Kaye; Perry Personal computer lottery game
US5640545A (en) 1995-05-03 1997-06-17 Apple Computer, Inc. Frame buffer interface logic for conversion of pixel data in response to data format and bus endian-ness
US6042478A (en) * 1997-02-10 2000-03-28 Tiger Electronics, Ltd. Hand held video game
JP2930237B1 (en) * 1998-03-19 1999-08-03 コナミ株式会社 Video game device and readable recording medium on which video game program is recorded

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5785598A (en) * 1996-06-18 1998-07-28 United Microelectronics Corporation Software cartridge being extensible with additional programs and/or data and the method of fabricating the same
US6132315A (en) * 1997-11-20 2000-10-17 Nintendo Co., Ltd. Game system operable with backup data on different kinds of game machines
US6385594B1 (en) * 1998-05-08 2002-05-07 Lendingtree, Inc. Method and computer network for co-ordinating a loan over the internet
US6032136A (en) * 1998-11-17 2000-02-29 First Usa Bank, N.A. Customer activated multi-value (CAM) card
US20030115126A1 (en) * 1999-08-11 2003-06-19 Pitroda Satyan G. System and methods for servicing electronic transactions
US6629081B1 (en) * 1999-12-22 2003-09-30 Accenture Llp Account settlement and financing in an e-commerce environment
US20030163414A1 (en) * 2001-08-13 2003-08-28 Gresham Financial Services, Inc. Management of multiple loan securitization pools

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070115389A1 (en) * 2005-10-13 2007-05-24 Sbc Knowledge Ventures, L.P. System and method of delivering notifications
US9083564B2 (en) 2005-10-13 2015-07-14 At&T Intellectual Property I, L.P. System and method of delivering notifications
US9882848B2 (en) 2005-10-13 2018-01-30 At&T Intellectual Property I, L.P. System and method of delivering notifications
US20070099694A1 (en) * 2005-10-31 2007-05-03 Sbc Knowledge Ventures L.P. System and method to deliver video games
US8678928B2 (en) 2005-10-31 2014-03-25 At&T Intellectual Property I, L.P. System and method to deliver video games

Also Published As

Publication number Publication date
US6820265B1 (en) 2004-11-16

Similar Documents

Publication Publication Date Title
JP4908531B2 (en) Apparatus, method, and recording medium for restoring device to initial setting state
US7811174B2 (en) Method and apparatus for managing data in a gaming system
US6733382B2 (en) Game device, game device control method and information storage medium
US20170319971A1 (en) Electronic multiuser screen platform, especially for games, and method of checking authorization for the execution of programs such as games
US7156733B2 (en) Using shared files in a game console or computer for cross-game state sharing
US5599231A (en) Security systems and methods for a videographics and authentication game/program fabricating device
US20020142845A1 (en) Method and apparatus for displaying information regarding stored data in a gaming system
US6820265B1 (en) System method and data storage medium for sharing data between video games
KR101261660B1 (en) Serialization of media transfer communications
US20080306951A1 (en) Method and System of Retrieving Avatar Data Unique to a User
US20020188760A1 (en) Information processing system that seamlessly connects real world and virtual world
US20020022522A1 (en) Game item providing system, method, and computer data signal
JPH07239779A (en) Data security device
JP2000116940A (en) Bidirectional communication-type game system
KR20050080465A (en) Computer device for implementing a trading card game and control method therefor, program executed by computer device, controller, system, and game cards
US20030220141A1 (en) System and method for external control of a portable processing system
US20100256971A1 (en) Method for simulating the operation of a device having an architecture and a processor determined by means of another device connected to a computer network
JP2001282952A (en) Client computer, server computer, network ranking system, network ranking method, subject processing method and recording medium
US6595860B1 (en) Portable information terminal and recording medium
KR100748192B1 (en) Backup memory managing device, backup memory managing method, game machine, and recorded medium
JP2001029657A (en) Game device, game system, recording medium, and method for displaying picture
EP1238691B1 (en) Data delivery system and data delivery method for family game machine
JP2002355444A (en) Data transmission/reception method for game in network server system, network server system and program
CN1294353A (en) Method and device for sharing network resource over network
JP3919140B2 (en) GAME DEVICE AND INFORMATION STORAGE MEDIUM

Legal Events

Date Code Title Description
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:RARE LIMITED;REEL/FRAME:053700/0355

Effective date: 20200626