Abstract:
Disclosed herein is an information processing apparatus comprising: an image acquiring means for acquiring an objective image; an identification information recognizing means for recognizing, of the objective image acquired by said image acquiring means, identification information corresponding to a specific image pattern; a decision means for deciding whether said identification information recognized by said identification information recognizing means is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a local executing means for executing, if said identification information is decided as the local identification information by said decision means, the processing previously registered for each terminal; a global processing requesting means for requesting, if said identification information is decided as the global identification information by said decision means, a specific server to execute the global processing corresponding to said identification information; and a global processing result acquiring means for acquiring the result of said global processing by said specific server.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention relates generally to an information processing apparatus, an information processing method, and a medium, and more particularly, to an information processing apparatus, an information processing method, and a medium which are adapted such that, by making a server execute processing corresponding to a two-dimensional bar code to be used in a shared manner, a plurality of terminals can acquire a same processing result for the two-dimensional bar code.  
           [0002]    Bar codes are currently used in many industrial fields as a means for acquiring the identification information about products in an easy and secure manner. For example, in various wholesale/retail shops, products are identified from the bar codes attached thereon and the corresponding prices (stored in memory in advance) are read from a database to be displayed on a display unit.  
           [0003]    In addition to the above-mentioned application in which products are identified and controlled based on the identification information read from code patterns, a more versatile application is currently proposed in which predetermined processing corresponding to code patterns are executed.  
           [0004]    [0004]FIG. 16 is a schematic diagram illustrating a two-dimensional (2D) code processing system so-called “CyberCode” for executing processing corresponding to a two-dimensional bar code (hereafter referred to as a 2D code) previously proposed by the applicant hereof as the Japanese Published Unexamined Patent Application No. Hei10-184351.  
           [0005]    Illustratively, the following description is available at the time of submitting this application from the home page offered by this applicant at (URL):  
           [0006]    http://www.sony.co.jp/sd/ProductsPark/Consumer/PCOM/PCG-C1CAT/cybercode.html  
           [0007]    “What we call “CyberCode” is Sony&#39;s unique two-dimensional code system that offers about 16.77 million different patterns (in 24 bits). Of these patterns, about one million patterns (in 20 bits) may be registered as desired for program start-up purposes. The remaining code patterns are reserved for future service expansion. “CyberCode” works as an index to what is represented by the code in question, the index allowing relevant information to be retrieved from computer storage. When a user starts a program through a new interface feature “CyberCode Finder,” the user finds that the corresponding information leaps from the object having the “CyberCode” onto the computer screen.” 
           [0008]    In this example, an object  100  is a card shaped like a business card, a 2D code  101  being attached (or printed) thereon. The 2D code  101  is provided with a cell portion A and a logo portion B spaced from each other by one block in a rectangular range which is 9.5-block-high and 7-block-wide, taking one block as a unit as shown in FIG. 17. In the cell portion A of 7-block-high and 7-block-wide square, square cells are two-dimensionally patterned in the square range for forming a code pattern. It should be noted that, in correspondence to this code pattern, the identification number (hereafter referred to as a 2D code ID) of a 2D code represented by a 24-bit bit code is set.  
           [0009]    In the logo portion B, a large rectangular cell having 1.5-block-high and 7-block-wide is arranged, in which the name of the object  100  or an advertisement mark (a logo) is written.  
           [0010]    A 2D code associated program executing unit  201  reads the 2D code ID of the 2D code  101  from the image data of the 2D code  101  read by a bar code reader, not shown, and searches a local 2D code database  201 A incorporated in the program executing unit to execute a program (hereafter referred to as a 2D code associated program) associated with the 2D code ID.  
           [0011]    Like the 2D code associated program executing unit  201 , a 2D code associated program executing unit  202  reads a 2D code ID from the image data of the 2D code  101  and searches a local 2D code database  202 A to execute a 2D code associated program associated with the 2D code ID.  
           [0012]    Thus, simply making the 2D code associated program executing units  201  and  202  read a 2D code can execute a 2D code associated program corresponding to that 2D code. However, because the 2D code associated program executing unit  201  or  202  is adapted to set any program in correspondence to any bar code, different programs are required to set to one 2D code in an associative manner and information (hereafter referred to as 2D code associated information) about the assignment between 2D code and program is not shared. Consequently, it is difficult to execute one session of processing for one 2D code between the 2D code associated program executing units  201  and  202 .  
         SUMMARY OF THE INVENTION  
         [0013]    It is therefore an object of the present invention to provide efficiently execute processing corresponding to a pattern composed of a two-dimensional bar code for example.  
           [0014]    According to the first aspect of the present invention, there is provided an information processing apparatus including: an image acquiring means for acquiring an objective image; an identification information recognizing means for recognizing, of the objective image acquired by the image acquiring means, identification information corresponding to a specific image pattern; a decision means for deciding whether the identification information recognized by the identification information recognizing means is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a local executing means for executing, if the identification information is decided as the local identification information by the decision means, the processing previously registered for each terminal; a global processing requesting means for requesting, if the identification information is decided as the global identification information by the decision means, a specific server to execute the global processing corresponding to the identification information; and a global processing result acquiring means for acquiring the result of the global processing by the specific server.  
           [0015]    According to the second aspect of the present invention, there is provided an information processing apparatus including: an image acquiring means for acquiring an objective image; an identification information recognizing means for recognizing, of the objective image acquired by the image acquiring means, identification information corresponding to a specific image pattern; a decision means for deciding whether the identification information recognized by the identification information recognizing means is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a validity condition registering means for previously registering a validity condition of the global identification information; a validity condition decision means for deciding whether or not the identification information recognized by the identification information recognizing means satisfies the validity condition registered in the validity condition registering means; a global processing executing means for executing, when the identification information is decided as global identification information by the decision means and is decided to satisfy the validity condition by the validity condition decision means, global processing corresponding to the identification information; an update information requesting means for requesting, if the identification information is decided as global identification information by the decision means and is decided not to satisfy the validity condition by the validity condition decision means, update information associated with global processing corresponding to the identification information from a specific server; and an updated global processing executing means for updating the validity condition registered in the validity condition registering means on the basis of the update information acquired by the specific server and executing the updated global processing on the basis of the update information.  
           [0016]    According to the third aspect of the present invention, there is provided an information processing method including: an image acquiring step of acquiring an objective image; an identification information recognizing step of recognizing, of the objective image acquired by the image acquiring step, identification information corresponding to a specific image pattern; a decision step of deciding whether the identification information recognized by the identification information recognizing step is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a local executing step of executing, if the identification information is decided as the local identification information by the decision step, the processing previously registered for each terminal; a global processing requesting step for requesting, if the identification information is decided as the global identification information by the decision step, a specific server to execute the global processing corresponding to the identification information; and a global processing result acquiring step of acquiring the result of the global processing by the specific server.  
           [0017]    According to the fourth aspect of the present invention, there is provided a medium which allows an information processing apparatus to execute a program, the program including: an image acquiring step of acquiring an objective image; an identification information recognizing step of recognizing, of the objective image acquired by the image acquiring step, identification information corresponding to a specific image pattern; a decision step of deciding whether the identification information recognized by the identification information recognizing step is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a local executing step of executing, if the identification information is decided as the local identification information by the decision step, the processing previously registered for each terminal; a global processing requesting step for requesting, if the identification information is decided as the global identification information by the decision step, a specific server to execute the global processing corresponding to the identification information; and a global processing result acquiring step of acquiring the result of the global processing by the specific server.  
           [0018]    According to the fifth aspect of the present invention, there is provided an information processing method including: an image acquiring step of acquiring an objective image; an identification information recognizing step of recognizing, of the objective image acquired by the image acquiring step, identification information corresponding to a specific image pattern; a decision step of deciding whether the identification information recognized by the identification information recognizing step is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a validity condition registering step of previously registering a validity condition of the global identification information; a validity condition decision step of deciding whether or not the identification information recognized by the identification information recognizing step satisfies the validity condition registered in the validity condition registering step; a global processing executing step for executing, when the identification information is decided as global identification information by the decision step and is decided to satisfy the validity condition by the validity condition decision step, global processing corresponding to the identification information; an update information requesting step of requesting, if the identification information is decided as global identification information by the decision step and is decided not to satisfy the validity condition by the validity condition decision step, update information associated with global processing corresponding to the identification information from a specific server; and an updated global processing executing step of updating the validity condition registered in the validity condition registering step on the basis of the update information acquired by the specific server and executing the updated global processing on the basis of the update information.  
           [0019]    According to the sixth aspect of the present invention, there is provided a medium which allows an information processing apparatus to execute a program, the program including: an image acquiring step of acquiring an objective image; an identification information recognizing step of recognizing, of the objective image acquired by the image acquiring step, identification information corresponding to a specific image pattern; a decision step of deciding whether the identification information recognized by the identification information recognizing step is local identification information for starting processing previously registered for each terminal or global identification information for starting processing common to all terminals; a validity condition registering step of previously registering a validity condition of the global identification information; a validity condition decision step of deciding whether or not the identification information recognized by the identification information recognizing step satisfies the validity condition registered in the validity condition registering step; a global processing executing step for executing, when the identification information is decided as global identification information by the decision step and is decided to satisfy the validity condition by the validity condition decision step, global processing corresponding to the identification information; an update information requesting step of requesting, if the identification information is decided as global identification information by the decision step and is decided not to satisfy the validity condition by the validity condition decision step, update information associated with global processing corresponding to the identification information from a specific server; and an updated global processing executing step of updating the validity condition registered in the validity condition registering step on the basis of the update information acquired by the specific server and executing the updated global processing on the basis of the update information.  
           [0020]    These and other objects will become more apparent when a preferred embodiment of this invention is considered in connection with the drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0021]    [0021]FIG. 1 is a schematic diagram illustrating an exemplary configuration of a 2D code processing system practiced as a first embodiment of the present invention;  
         [0022]    [0022]FIG. 2 is a block diagram illustrating an example of the configuration of the global 2D code server in FIG.  1 ;  
         [0023]    [0023]FIG. 3 is a perspective view illustrating a portable personal computer to which the present invention is applied with the display part opened;  
         [0024]    [0024]FIG. 4 is a top view of FIG. 1;  
         [0025]    [0025]FIG. 5 is a left side view illustrating the personal computer with the display part closed relative to the body shown in FIG. 1;  
         [0026]    [0026]FIG. 6 is a right side view illustrating the personal computer with the display part opened 180 degrees relative to the body shown in FIG. 1;  
         [0027]    [0027]FIG. 7 is an elevational view of FIG. 3;  
         [0028]    [0028]FIG. 8 is a bottom view of FIG. 3;  
         [0029]    [0029]FIG. 9 is a block diagram illustrating an internal constitution of the personal computer shown in FIG. 1.  
         [0030]    [0030]FIG. 10 is a diagram illustrating the configuration of a HDD shown in FIG. 9;  
         [0031]    [0031]FIG. 11 is a flowchart describing the operation of a global 2D code server to be executed when the processing corresponding to a global 2D code is executed;  
         [0032]    [0032]FIG. 12 is a flowchart describing the operation of a CPU of the personal computer to be executed when image data has been captured;  
         [0033]    [0033]FIG. 13 is a schematic diagram illustrating a 2D code processing system practiced as second embodiment of the present invention;  
         [0034]    [0034]FIG. 14 is a block diagram illustrating an exemplary configuration of a group 2D code server shown in FIG. 13;  
         [0035]    [0035]FIG. 15 is a flowchart describing the operation of the CPU of the personal computer to be executed when image data has been captured;  
         [0036]    [0036]FIG. 16 is a schematic diagram illustrating a related art two-dimensional bar code processing system;  
         [0037]    [0037]FIG. 17 is a diagram illustrating the specifications of a two-dimensional bar code;  
         [0038]    [0038]FIG. 18 is a block diagram illustrating an example of the configuration of the global 2D code server in FIG. 1;  
         [0039]    [0039]FIG. 19 is a diagram illustrating the configuration of a HDD shown in FIG. 18;  
         [0040]    [0040]FIG. 20 is a flowchart describing the operation of a global 2D code server to be executed when the processing corresponding to a global 2D code is executed;  
         [0041]    [0041]FIG. 21 is a flowchart describing the operation of a CPU of the personal computer to be executed when image data has been captured. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0042]    This invention will be described in further detail by way of example with reference to the accompanying drawings.  
         [0043]    [0043]FIG. 1 is a schematic diagram illustrating an exemplary configuration of a 2D code processing system practiced as a first embodiment of the invention.  
         [0044]    The personal computer  1  is a note-type personal computer and has a CCD video camera  23  on a display part  3  of the personal computer  1 . The personal computer  1  is adapted to recognize a pattern of a 2D code  101  from the image data of the 2D code  101  and an object  100  obtained by the image pickup through the CCD video camera  23 , and if the recognized pattern is found a local 2D code (to be described later), execute predetermined processing corresponding to that code pattern.  
         [0045]    The personal computer  1  also has a modem  50  through which the personal computer is connected to the Internet  92  via a public telephone line  90  and an Internet service provider  91 , thereby accessing the global 2D code database server (hereafter referred to as a global 2D code server)  300 , which is connected to the Internet  92 .  
         [0046]    The global 2D code server  300  stores the 2D code ID of a 2D code preset as a global 2D code (to be described later) among other 2D codes and executes the predetermined processing corresponding to that global 2D code.  
         [0047]    Terminals  400 - 1  through  400 -N (if the terminals  400 - 1  through  400 -N need not be distinguished individually, these terminals are simply referred to as the terminal  400 ; this holds true with other components), if the 2D code read is a local 2D code, executes the predetermined processing corresponding to that 2D code, like the personal computer  1 . The terminal  400  may also access to the global 2D code server  300  through the Internet  92 .  
         [0048]    The 2D code  101  contains a coded 2D code ID consisting of 24 bits. In this example, about one million of 2D codes with a value in a range of 0×000000 through 0×0FFFFF being a 2D code are referred to as local 2D codes and about fifteen million of 2D codes with a value in a range of 0×100000 through 0×FFFFFF being a 2D code ID are referred to as global 2D codes. The bit code range of these local 2D codes and global 2D codes (hereafter referred to as a 2D code bit range) is specified beforehand by the system administrator of the 2D code processing system and provided to the subscribers of the 2D code processing system. The subscribers are notified of a common URL (Uniform Resource Locator) for an access to the global 2D code server  300 .  
         [0049]    [0049]FIG. 2 is a block diagram illustrating an example of the configuration of the global 2D code server  300 . A CPU  311  is adapted to execute various processing as instructed by a program stored in a ROM  312  or a hard disk  314 .  
         [0050]    The ROM  312  stores programs to be executed at start-up and various data. A RAM  313  is adapted to temporarily store data and programs when the CPU  311  executes processing. The hard disk  314  stores a server program and a global 2D code associated program to be executed in association with the global 2D code in addition to the 2D code ID for the global 2D code and the ID of the global 2D code associated program corresponding thereto.  
         [0051]    A display part  315  displays an image based on the image data supplied from the CPU  311 . An input block  316  is operated by the system administrator of the global 2D code server  300  when issuing various commands to the CPU  311 .  
         [0052]    A network interface  317  is connected to the Internet  92  to receive packet addressed to the global 2D code server  300  and, at the same time, generates a packet according to IP (Internet Protocol) from the data supplied from the CPU  311  to output the generated packet to the Internet  92 .  
         [0053]    [0053]FIGS. 3 through 8 illustrate an exemplary configuration of a portable personal computer to which the present invention is applied. In the figures, the personal computer  1  is of mini-note type, which is basically composed of a body  2  and a display part  3  pivotally mounted thereon. FIG. 3 perspectively illustrates the personal computer  1  with the display part  3  opened relative to the body  2 . FIG. 4 is a plan view of the personal computer  1  shown in FIG. 3. FIG. 5 is a left side view illustrating the personal computer  1  shown in FIG. 3 with the display part  2  closed on the body  2 . FIG. 6 is a right side view illustrating the personal computer  1  shown in FIG. 3 with the display part  3  opened by 180 degrees relative to the body  2 . FIG. 7 is a top view illustrating the personal computer  1  shown in FIG. 5. FIG. 8 is a bottom view illustrating the personal computer  1  shown in FIG. 6.  
         [0054]    The body  2  is arranged on the top thereof with a keyboard  4  for operation to enter various characters and symbols and a Track Point (trademark)  5  for operation to move the mouse cursor for example. The body  2  is further arranged on the top thereof with a speaker  8  for outputting sound and a shutter button  10  for operation to pick up an image through a CCD video camera  23  disposed on the display part  3 .  
         [0055]    A pawl  13  is disposed on the upper end of the display part  3 . A hole  6  in which the pawl  13  engages is disposed on the body  2  at a position that corresponds to the position of the pawl  13  when the display part  3  is closed on the body  2  as shown in FIG. 5. A slide lever  7  is disposed on the front face of the body  2  in a parallely movable manner along the front face. The slide lever  7  is adapted to latch and unlatch the pawl  13  engaged in the hole  6  for lock and unlock. In the unlocked state, the display part  3  can be pivotally moved relative to the body  2 . A microphone  24  is disposed next to the pawl  13 . As shown in FIG. 8, the microphone  24  can also pick up sound coming from the back of the personal microcomputer  1 .  
         [0056]    The front face of the body  2  is also disposed with a programmable power key (PPK)  9 . On the right-side face of the body  2 , an air outlet  11  is disposed as shown in FIG. 6. On the lower portion of the front face of the body  2 , an air inlet  14  is disposed as shown in FIG. 7. To the right of the air outlet  11 , a slot  12  is disposed for accommodating a PCMCIA (Personal Computer Memory Card International Association) card (a PC card in short).  
         [0057]    On the top of the front face of the display part  3 , an LCD (Liquid Crystal Display)  21  is disposed for displaying images. On the upper end of the display part  3 , an image pickup part  22  is disposed in a pivotally movable manner relative to the display part  3 . To be more specific, the image pickup part  22  can pivotally move to any position in a range of 180 degrees at right angles to the vertical direction of the display part  3 . The image pickup part  22  has the CCD video camera  23 .  
         [0058]    In the lower portion of the display part  3 , a power lamp PL, a battery lamp BL, a message lamp ML, and other lamp or lamps each constituted by an LED (Light Emitting Diode) are arranged, down close to the body  2 . Reference numeral  40  shown in FIG. 5 denotes a power switch disposed on the left side face of the body  2 . Reference numeral  25  shown in FIG. 7 denotes a focus adjusting ring for adjusting focus of the CCD video camera  23 . Reference numeral  26  shown in FIG. 8 denotes a cover for an opening through which an add-on memory is installed in the body  2 . Reference numeral  41  denotes a hole through which a pin is inserted to unlatch a claw locking the cover  26  to the body  2 .  
         [0059]    [0059]FIG. 9 exemplifies the internal constitution of the personal computer  1 . As shown, an internal bus  51  is connected to a CPU (Central Processing Unit)  52 , a PC card  53  to be inserted as required, a RAM (Random Access Memory)  54 , and a graphics chip  81 . The internal bus  51  is also connected to an external bus  55 . The external bus  55  is connected to the hard disk drive (HDD)  56 , an I/O (Input/Output) controller  57 , a keyboard controller  58 , a Track Point controller  59 , a sound chip  60 , an LCD controller  83 , and a modem  50 .  
         [0060]    The CPU  52  controls each of the above-mentioned components of the personal computer  1 . The PC card  53  is inserted to add an optional capability.  
         [0061]    The graphics chip  81  is adapted to store the image data after being captured through the CCD video camera  23  and processed by a processing part  82 . The graphics chip  81  stores the video data inputted from the CCD video camera  23  through the processing part  82  into an incorporated VRAM  81 A and reads the stored video data from time to time to output it to the LCD controller  83 . The LCD controller  83  outputs the image data supplied from the graphics chip  81  to the LCD  21  for display. The back light  84  is arranged to illuminate the LCD  21  from the back side.  
         [0062]    The RAM  54  stores, when the personal computer  1  starts, an electronic mail program (an application program)  54 A, an auto pilot program (an application program)  54 B, and an OS (Operating System)  54 C from the HDD  56 , these are transferred from HDD  56  upon completing start-up.  
         [0063]    The electronic mail program  54 A handles electronic messages transferred from a network through a communication network like telephone line. The electronic mail program  54 A has an in-coming mail capturing capability as a particular capability. The in-coming mail capturing capability checks a mail box  93 A of a mail server  93  whether or not a mail addressed to that user has arrived, and if such a mail is found, captures the same.  
         [0064]    The auto pilot program  54 B sequentially starts plural preset processing (or programs) in a predetermined order.  
         [0065]    The OS  54 C controls basic computer operations exemplified by Windows 95 (trademark).  
         [0066]    On the other hand, the HDD  56  on the external bus  55  stores an electronic mail program  56 A, an auto pilot program  56 B, an OS (Operating System)  56 C, and the local 2D code database  56 D as shown in FIG. 10.  
         [0067]    The local 2D code database  56 D stores the 2D code IDs of local 2D codes, the local 2D code associated program to be executed in correspondence thereto, the IDs of these programs, and the 2D code bit range information.  
         [0068]    The I/O controller  57  has a microcontroller  61  provided with an I/O interface  62 . The microcontroller  61  is constituted by the I/O interface  62 , a CPU  63 , a RAM  64 , and a ROM (Read Only Memory)  69  interconnected with each other. The RAM  64  has a key input status register  65 , an LED (Light Emitting Diode) control register  66 , a set time register  67 , and a register  68 . The set time register  67  is used to start a start sequence controller  76  when a time (or a boot condition) set by user comes. The register  68  stores the correspondence between a preset operator key combination (start-up condition) and an application program to be started. When the user enters this operator key combination, the corresponding application program (for example, the electronic mail program) starts.  
         [0069]    The key input status register  65  stores an operator key flag when the one-touch programmable power key (PPK)  9  is pressed. The LED control register  66  controls the turn-on/off of the message lamp ML that indicates the operating state of the application program (the electronic mail program) stored in the register  68 . The user can set any desired time to the set time register  67 .  
         [0070]    It should be noted that a backup battery  74  is connected to the microcontroller  61 , thereby preventing the values set to the registers  65 ,  66 , and  67  from being cleared after the body  2  is powered off.  
         [0071]    The ROM  69  in the microcontroller  61  stores a wake-up program  70 , a key input monitoring program  71 , and an LED control program  72  in advance. The ROM  69  is constructed of an EEPROM (Electrically Erasable and Programmable ROM (Read Only Memory)) for example. The EEPROM is known as a flash memory. An RTC (Real Time Clock)  75  for always counting current time is also connected to the microcontroller  61 .  
         [0072]    The wake-up program  70  stored in the ROM  69  checks, based on the current time data supplied from the RTC  75 , whether the time preset to the set time register  67  has been reached. If the time is found reached, the wake-up program  70  starts a predetermined processing operation (or a program). The key input monitoring program  71  monitors the pressing of the PPK  9  by the user all the time. The LED control program  72  controls the turn-on/off of the message lamp ML.  
         [0073]    The ROM  69  also stores a BIOS (Basic Input/Output System)  73 . The BIOS is a software program for controlling the transfer (input/output) of data between the OS or an application program and peripheral devices (the display unit, the keyboard, and the hard disk drive).  
         [0074]    The keyboard controller  58  connected to the external bus  55  controls the input made through the keyboard  4 . The Track Point controller  59  controls the input made through the Track Point  5 .  
         [0075]    The sound chip  60  captures the input from the microphone  24  and supplies an audio signal to the built-in speaker  8 .  
         [0076]    The modem  50  connects the personal computer  1  to a communication network  92  such as the Internet or the mail server  93  through a public telephone line  90  or an Internet service provider  91 .  
         [0077]    The power switch  40  is operated for turning on/off the power to the personal computer  1 . A half-push switch  85  is turned on when the shutter button  10  is pressed to the half position. A full-push switch  86  is turned on when the shutter button  10  is fully pressed. A reverse switch  87  is turned on when the image pickup part  22  is rotated 180 degrees (namely, when the CCD video camera  23  is rotated for image pick-up in the direction behind the LCD  21 ).  
         [0078]    The terminals  400 - 1  through  400 -N is basically the same in configuration as the personal computer  1 . Therefore, they are omitted from the illustration and description.  
         [0079]    The following describes the procedure of the processing by the global 2D code server  300  for providing the global 2D code associated program, with reference to the flowchart shown in FIG. 11.  
         [0080]    While the server program stored in the hard disk  314  of the global 2D code server  300  has been started, the CPU  311  waits, according to its server program, in step S 1  until a packet addressed to the global 2D code server  300  is received by the network interface  317  (namely, until accessed by a device connected to the Internet  92 ).  
         [0081]    When the packet addressed to the global 2D code server  300  is received, the CPU  311  determines in step S 2  whether the packet is a request (command) for providing the global 2D code associated program. If the decision is made YES, the processing flow goes to step S 3 .  
         [0082]    In step S 3 , the CPU  311  searches the hard disk  314  to check whether or not the 2D code ID of the global 2D code received in step S 1  is stored. If the decision is made YES, the CPU  311  searches the hard disk  314  in step S 4  to read the program ID for that 2D code ID and executes the global 2D code associated program of that program ID.  
         [0083]    Next, in step S 5 , the CPU  311  controls the network interface  317  to send the result of the processing executed in step S 4  to the device that sent the command. After executing the processing for the global 2D code, the processing flow goes back to step S 1 , in which the CPU  311  is kept in the standby state until the server is accessed again.  
         [0084]    If the received packet is found that it is not a predetermined execution request corresponding to the global 2D code in step S 2 , the processing flow returns to step S 1 .  
         [0085]    In step S 3 , if the CPU  311  determines that the 2 d  code ID of the global 2D code is not stored in the hard disk  314 , then the CPU  311  controls the network interface  317  in step S 6  to notify the command issuing device of the fact that the 2D code ID is not stored, upon which the processing flow returns to step S 1 .  
         [0086]    Thus, the global 2D code server  300  executes the global 2D code associated program according to the contents of the packet (the command) received over the Internet  92  and sends the processing result to the device that sent the packet.  
         [0087]    The following describes the procedure of the processing to be executed by the CPU  52  of the personal computer  1  when image data is captured, with reference to the flowchart shown in FIG. 12.  
         [0088]    For example, assume that the shutter button  10  is operated, the image data of the 2D code  101  is acquired through the CCD video camera  23 , and the captured image is drawn in the VRAM  81 A of the graphics chip  81 . Then, in step S 11 , the CPU  52  extracts the image data of the 2D code  101  from the image data drawn in the VRAM  81 A and executes the processing for recognizing the 2D code  101 . If the CPU  52  fails to recognize the 2D code  101 , then the CPU  52  controls the LCD controller  83  in step S 12  to display the failure on the LCD  21 , prompting the user for retry. Then, the processing flow returns to step S 11 . If the recognition of the 2D code  101  is successful, the processing flow goes to step S 13 .  
         [0089]    In step S 13 , the CPU  52  analyzes the code pattern of the 2D code  101  recognized in step S 11  to acquire the 2D code ID. Next, in step S 14 , the CPU  52  determines whether the 2D code ID obtained in step S 13  is of a local 2D code or a global 2D code, based on the 2D code bit range information stored in the local 2D code database  56 D. Namely, if the CPU  52  determines that the 2D code ID obtained in step S 13  is a value within the range of 0×000000 through 0×0FFFFF, the 2D code ID is of a local 2D code; if the 2D code ID is a value within the range of 0×100000 through 0×FFFFFF, the 2D code is of a global 2D code.  
         [0090]    In step S 14 , if the 2D code ID is found of a global 2D code, then, the CPU  52  controls the modem  50  in step S 15  to start connection with the provider  91  and sends the 2D code ID obtained in step S 13  to the global 2D code server  300  and, at the same time generates the IP packet of the command for requesting the execution of the processing corresponding to the global 2D code and transfers the IP packet to the 2D code server  300 .  
         [0091]    In step S 16 , the CPU  52  receives the processing result sent from the global 2D code server  300  through the modem  50  in response to the command transferred in step S 15 . In step S 17 , the CPU  52  executes the processing according to the processing result received in step S 16 . Then, the processing comes to an end.  
         [0092]    In step S 14 , if the CPU  52  determines that the 2D code ID obtained in step S 13  is of a local 2D code, the processing flow goes to step S 18 . In step S 18 , the CPU  52  searches the local 2D code database  56 D whether or not the 2D code ID obtained in step S 13  is stored therein. If the 2D code ID is found, the processing flow goes to step S 19 , in which the CPU  52  further searches the local 2D code database  56 D and executes the local 2D code associated program corresponding to the local 2D code thus found. Then, the processing comes to an end.  
         [0093]    In step S 18 , if the CPU  52  determines that the 2D code ID is not stored in the local 2D code database  56 D, the processing flow goes to step S 20 , in which the CPU  52  controls the LCD controller  83  to display on the LCD  21  the fact that the 2D code ID is not stored. Then, the processing comes to an end.  
         [0094]    The following describes more specifically the processing procedure of the CPU  52  of the personal computer  1  to be executed when the image data mentioned above has been captured.  
         [0095]    For example, assume that the 2D code  101  is a global 2D code and the global 2D code associated program to be executed corresponding to this code is a new year&#39;s card creating program for generating a predetermined new year&#39;s card image. Namely, assume that the 2D code ID of the 2D code  101  and the ID of the new year&#39;s card creating program are stored together in the hard disk  314  of the global 2D code server  300 .  
         [0096]    When user C of the terminal  400 - 1  provides a printed matter of the 2D code  101  to user D of the personal computer  1 , and user D uses the CCD video camera  23  of the personal computer  1  to read the provided printed matter of the 2D code  101 , the CPU  52  of the personal computer  1  executes the processing for recognizing the 2D code  101  (step S 11  of FIG. 12) and, after recognizing the 2D code  101 , acquires the ID of the 2D code (step S 13  of FIG. 12).  
         [0097]    Next, based on the obtained 2D code ID of the 2D code  101 , if the CPU  52  determines that the 2D code  101  is of a global 2D code (step S 14  of FIG. 12), the CPU  52  forms the 2D code ID of the 2D code  101  and a command for requesting predetermined processing for the global 2D code together into an IP packet and sends the same to the global 2D code server  300  through the modem  50  (step S 15  of FIG. 12).  
         [0098]    The CPU  311  of the global 2D code server  300  receives the packet through the network interface  317  (step S 1  of FIG. 11) and determines that the received packet is the command for requesting the processing corresponding to the global 2D code (step S 2  of FIG. 11).  
         [0099]    Next, the CPU  311  of the global 2D code server  300  searches the hard disk  314  for the global 2D code associated program corresponding to the received 2D code ID and executes the program, namely the new year&#39;s card creating program (step S 4  of FIG. 11). When the new year&#39;s card program is executed, an image of a predetermined new year&#39;s card format is generated. The CPU  311  sends the generated image data to the personal computer  1  through the network interface  317  (step S 5  of FIG. 11).  
         [0100]    The CPU  52  of the personal computer  1  controls the modem  50  to receive the image data sent from the global 2D code server  300  (step S 16  of FIG. 12) and controls the LCD controller to display the received image data on the LCD  21  (step S 17  of FIG. 12).  
         [0101]    Thus, user D of the personal computer  1  is given the same effect as if she/he has received a new year&#39;s card from user C by using the personal computer  1  to read the printed matter of the 2D code  101  received from user C. It should be noted that, because user C is a subscriber of the 2D code processing system, the registered name and address of user C are displayed on the new year&#39;s card.  
         [0102]    [0102]FIG. 13 is a schematic diagram illustrating the 2D code processing system practiced as a second embodiment of the invention. It should be noted that, with reference to FIG. 13, components similar to those previously described with FIG. 1 are denoted by the same reference numerals. In this example, a group 2D code database server (hereafter referred to as a group 2D code server)  500  is newly connected to the Internet  92 .  
         [0103]    The group 2D code server  500  stores the 2D code IDs of those 2D codes which have been set as group 2D codes and executes predetermined processing corresponding to these group 2D codes.  
         [0104]    The 2D code ID of each group 2D code is assigned with the bit code in the range assigned to the 2D code ID of each local 2D code. In this example, for instance, the value of the group 2D code ID is a value within the range of 0×000000 through 0×00FFFF, and the value of the local 2D code ID is within the range of 0×010000 through 0FFFFF. It should be noted that the value of the 2D code ID of each global 2D code is within the range of 0×100000 through 0×FFFFFF.  
         [0105]    Only the terminals in one group, in this example the personal computer  1 , the terminal  400 - 1  and the terminal  400 - 2  are allowed to access the group 2D code server  500 , each storing the 2D code bit range information as described above. It should be noted that the personal computer  1 , the terminal  400 - 1 , and the terminal  400 - 2  are notified of the URL of the group 2D code server  500 .  
         [0106]    [0106]FIG. 14 is a block diagram illustrating an exemplary configuration of the group 2D code server  500 . A CPU  511  through a network interface  517  are generally the same in configuration as the CPU  311  of the global 2D code server  300  through the network interface  317  shown in FIG. 2 and therefore details will not be described hereunder. A hard disk  514  stores a server program, group 2D code associated programs to be executed in association with group 2D codes, the 2D code IDs of the group 2D codes, and the IDs of the group 2D code associated programs.  
         [0107]    The operation of the group 2D code server  500  for executing the processing for group 2D codes is basically the same with the operation of the global 2D code server  300  for executing the processing for global 2D codes. Therefore, the operation of the group 2D code server  500  will not be described in detail.  
         [0108]    The following describes the processing procedure of the CPU  52  of the personal computer  1  to be executed when image data has been read, with reference to the flowchart shown in FIG. 15.  
         [0109]    In steps S 31  through S 40 , the same processing as those in steps S 11  through S 20  of FIG. 12 are executed. Therefore, the processing operations in steps S 31  through S 40  will not be described in detail.  
         [0110]    In step S 34 , if the CPU  52  determines, based on the 2D code ID obtained in step S 33 , that the 2D code  101  recognized in step S 31  is a group 2D code, namely the value of the 2D code ID is within the range of 0×000000 through 0×00FFFF, the processing flow goes to step S 41 . In step S 41 , the CPU  52  controls the modem  50  and transfers the 2D code ID obtained in step S 33  to the group 2D code server  500 , and generates the IP packet of the command for requesting the processing for the group 2D code and sends the generated IP packet to the group 2D code server  500 .  
         [0111]    Next, in step S 36 , the CPU  52  receives, from the group 2D code server  500 , the result of the processing executed in response to the command transferred in step S 41 . Then, the CPU  52  executes the processing in response to the processing result received in step S 36  and the processing comes to an end.  
         [0112]    [0112]FIGS. 18 through 21 shows configurations of the 2D code processing system in the second embodiment of the present invention. In this embodiment, therefore, parts corresponding to those in the first embodiment are designated by the same reference numerals as those in the first embodiment, and the detailed explanation thereof is omitted.  
         [0113]    [0113]FIG. 18 is a block diagram illustrating an example of the configuration of the global 2D code server  300   a.    
         [0114]    The hard disk  314   a  stores a server program, a global 2D code associated program to be executed in association with the global 2D code, and the expiration period of the program, in addition to the 2D code ID for the global 2D code and the ID of the global 2D code associated program corresponding thereto. It should be noted that the expiration period of the global 2D code associated program is set in calendar date or time for example.  
         [0115]    On the other hand, the HDD  56   a  in the personal computer  1  as shown in FIG. 9 stores an electronic mail program  56 A, an auto pilot program  56 B, an OS (Operating System)  56 C, and the local 2D code database  56 Da as shown in FIG. 19.  
         [0116]    The local 2D code database  56 Da stores the 2D code IDs of local 2D codes, the local 2D code associated program to be executed in correspondence thereto, the IDs of these programs, and the 2D code bit range information. When a predetermined global 2D code is registered through a predetermined procedure, the 2D code ID of that global 2D code, the global 2D code associated program to be executed in correspondence to the global 2D code, the ID of that program, and the expiration period thereof are stored in the local 2D code database  56 Da.  
         [0117]    The following describes the procedure of the processing by the global 2D code server  300   a  for providing the global 2D code associated program, with reference to the flowchart shown in FIG. 20.  
         [0118]    While the server program stored in the hard disk  314   a  of the global 2D code server  300   a  has been started, the CPU  311  waits, according to its server program, in step S 1   a  until a packet addressed to the global 2D code server  300   a  is received by the network interface  317  (namely, until accessed by a device connected to the Internet  92 ).  
         [0119]    When the packet addressed to the global 2D code server  300   a  is received, the CPU  311  determines in step S 2   a  whether the packet is a request (command) for providing the global 2D code associated program. If the decision is made YES, the processing flow goes to step S 3   a.    
         [0120]    In step S 3   a,  the CPU  311  searches the hard disk  314   a  to check whether or not the 2D code ID of the global 2D code received in step S 1   a  is stored. If the decision is made YES, the CPU  311  goes to step S 4   a.    
         [0121]    In step S 4   a,  the CPU  311  further searches the hard disk  314   a  to read the program ID corresponding to that 2D code ID and acquires the global 2D code associated program corresponding to that program ID. Next, in step S 5   a,  the CPU  311  searches the hard disk  314   a  again to read the expiration period of the global 2D code associated program acquired in step S 4   a.    
         [0122]    In step S 6   a,  the CPU  311  controls the network interface  317  to send the global 2D code associated program acquired in step S 4   a  and the expiration period of the program read in step S 5   a  to the device that sent the command. Then, the processing flows returns to step S 1   a  in which the CPU  311  waits until being accessed.  
         [0123]    In step S 2   a,  if the received packet is not of the request for providing a global 2D code associated program, the processing flow returns to step S 1   a.    
         [0124]    In step S 3   a,  if the CPU  311  determines that the 2D code ID of the global 2D code is not stored in the hard disk  314   a,  then, in step S 7   a,  the CPU  311  controls the network interface  317  to notify the command sending device thereof. Then, the processing flow returns to step S 1   a.    
         [0125]    Thus, the global 2D code server  300   a  sends, to the device that sent the packet (the command) through the Internet  92 , the global 2D code associated program corresponding to that packet and the expiration period of that program.  
         [0126]    The following describes the procedure of the processing to be executed by the CPU  52  of the personal computer  1  when image data is captured, with reference to the flowchart shown in FIG. 21.  
         [0127]    For example, assume that the shutter button  10  is operated, the image data of the 2D code  101  is captured through the CCD video camera  23 , and the captured image is drawn in the VRAM  81 A of the graphics chip  81 . Then, in step S 11   a , the CPU  52  extracts the image data of the 2D code  101  from the image data drawn in the VRAM  81 A and executes the processing for recognizing the 2D code  101 . If the CPU  52  fails to recognize the 2D code  101 , then the CPU  52  controls the LCD controller  83  in step S 12   a  to display the failure on the LCD  21 , prompting the user for retry. Then, the processing flow returns to step S 11   a.  If the recognition of the 2D code  101  is successful, the processing flow goes to step S 13   a.    
         [0128]    In step S 13   a,  the CPU  52  analyzes the code pattern of the 2D code  101  recognized in step S 11   a  to acquire the 2D code ID. Next, in step S 14   a,  the CPU  52  determines whether the 2D code ID obtained in step S 13   a  is of a local 2D code or a global 2D code, based on the 2D code bit range information stored in the local 2D code database  56 Da. Namely, if the CPU  52  determines that the 2D code ID obtained in step S 13   a  is a value within the range of 0×000000 through 0×0FFFFF, the 2D code ID is of a local 2D code; if the 2D code ID is a value within the range of 0×100000 through 0×FFFFFF, the 2D code is of a global 2D code.  
         [0129]    In step S 14   a,  if the 2D code ID is found of a global 2D code ID, then in step S 15   a,  the CPU  52  determines whether or not the 2D code ID is stored (registered) in the local 2D code database  56 Da. If the 2D code ID is not found in the database, the processing flow goes to step S 16   a.    
         [0130]    In step S 16   a,  the CPU  52  controls the modem  50  to start connection with the provider  91  and sends the 2D code ID acquired in step S 13   a  to the global 2D code server  300   a  and generates the IP packet of the command for requesting the provision of the global 2D code associated program to be executed for the global 2D code and sends the generated IP packet to the global 2D code server.  
         [0131]    Next, in step S 17   a,  the CPU  52  receives the global 2D code associated program and its expiration period transferred from the global 2D code server  300   a  in response to the command transferred in step S 16   a  and registers them in step S 18   a.  Thus, the local 2D code database  56 Da stores the 2D code ID of the global 2D code, the global 2D code associated program to be executed correspondingly thereto, and its expiration period.  
         [0132]    In step S 19   a,  the CPU  52  executes the global 2D code associated program registered in step S 18   a.  Then, the processing comes to an end.  
         [0133]    In step S 15   a,  if the 2D code ID is found in the local 2D code database  56 Da, then, in step S 20   a,  the CPU  52  searches the local 2D code database  56 Da to read the expiration period of the global 2D code associated program to be executed in correspondence to the 2D code ID, check the contents of the expiration period, and determine whether or not the expiration period is valid, namely the expiration period has expired or not. If the expiration period is found expiring, then, back in step S 16   a,  the processing of step S 16   a  through step S 19   a  are executed. Namely, the personal computer  1  receives the global 2D code associated program with the expiration period updated supplied from the global 2D code server  300   a.    
         [0134]    In step S 20   a,  if the expiration period is found not expiring, the CPU  52  skips step S 16   a  through step S 18   a  to step S 19   a,  in which the CPU  52  executes the registered global 2D code associated program.  
         [0135]    In step S 14   a,  if the 2D code ID is found of a local 2D code, then the CPU  52  searches the local 2D code database  56 Da in step S 21   a  to determine whether or not the 2D code ID acquired in step S 13   a  is stored. If the 2D code ID is found stored, then in step S 22   a,  the CPU  52  further searches the local 2D code database  56 Da and executes the local 2D code associated program corresponding to that local 2D code. Then, the processing comes to an end.  
         [0136]    In step S 20   a,  if the CPU  52  determines that the 2D code ID is not stored in the local 2D code database  56 Da, the processing flow goes to step S 23   a,  in which the CPU  52  controls the LCD controller  83  to display on the LCD  21  the fact that the 2D code ID is not stored. Then, the processing comes to an end.  
         [0137]    The following describes more specifically the processing procedure of the CPU  52  of the personal computer  1  to be executed when the image data mentioned above has been captured.  
         [0138]    For example, assume that the 2D code  101  is a global 2D code and the global 2D code associated program to be executed corresponding to this code is a program for providing current weather forecast information, for example a program for providing a weather chart (hereafter referred to as a weather forecast program). In this example, assume that this weather forecast program is not registered in the personal computer  1 , namely, is not stored in the local 2D code database  56 Da in the HDD  56   a.    
         [0139]    For example, when the image data of the 2D code  101  is captured through the CCD video camera  23 , the CPU  52  of the personal computer  1  executes the processing for recognizing the 2D code  101  (step S 11   a  of FIG. 21) and, after recognizing the 2D code  101 , acquires the ID of the 2D code (step S 13   a  of FIG. 21).  
         [0140]    Next, based on the acquired 2D code ID of the 2D code  101 , if the CPU  52  determines that the 2D code  101  is of a global 2D code (step S 14   a  of FIG. 21) and it is not stored in the local 2D code database  56 Da (step S 15   a  of FIG. 21), the CPU  52  forms the 2D code ID of the 2D code  101  and a command for requesting the provision of the global 2D code program to be executed correspondingly together into an IP packet and sends the same to the global 2D code server  300   a  through the modem  50  (step S 16   a  of FIG. 21).  
         [0141]    The CPU  311  of the global 2D code server  300   a  receives the packet through the network interface  317  (step S 1   a  of FIG. 20) and determines that the received packet is the command for requesting the provision of the global 2D code associated program (step S 2   a  of FIG. 20).  
         [0142]    Next, the CPU  311  of the global 2D code server  300   a  searches the hard disk  314   a.  If the code is found stored (step S 3   a  of FIG. 20), the CPU  311  reads the global 2D code associated program to be executed correspondingly, namely the weather forecast program (step S 4   a  of FIG. 20) and then the information of expiration period thereof (step S 5   a  of FIG. 20). Then, the CPU  311  transfers the program and expiration period to the personal computer  1  over the network interface  317  (step S 6   a  of FIG. 20).  
         [0143]    The CPU  52  of the personal computer  1  controls the modem  50  to receive the global 2D code associated program and its expiration period from the global 2D code server  300   a  (step S 17   a  of FIG. 21) and registers them into the local 2D code database  56 Da in the HDD  56   a  (step S 18   a  of FIG. 21) Next, the CPU  52  starts the registered weather forecast program and controls the LCD controller  83  to display the current weather forecast information (for example, a weather chart) on the LCD  21  (step S 19   a  of FIG. 21).  
         [0144]    Thus, in the personal computer  1 , the global 2D code associated program, namely, the weather forecast program is executed.  
         [0145]    The following describes the procedure of the processing by the CPU  52  of the personal computer to be executed when user C of the personal computer  1  uses the personal computer  1  to read the 2D code  101  to acquire weather forecast information again, namely, when the image data of the 2D code  101  is read again by the CCD video camera  23 . It should be noted that, in this example, the weather forecast program is stored by the above-mentioned processing in the local 2D code database  56 Da in the HDD  56   a  and the expiration period of the program is valid during the processing to be described below.  
         [0146]    When the image data of the 2D code  101  has been recognized, the 2D code ID thereof has been acquired, and the 2D code of that 2D code ID has been found of a global 2D code (steps S 11   a,  S 13   a,  and S 14   a  of FIG. 21), the CPU  52  determines that the 2D code ID of the 2D code  101  is stored in the local 2D code database  56 Da in the HDD  56   a  (step S 15   a  of FIG. 21).  
         [0147]    Next, the CPU  52  searches the local 2D code database  56 Da to check the expiration period of the global 2D code associated program executed in correspondence to its 2D code ID. If the expiration period is found valid (step S 20   a  of FIG. 21), the CPU  52  immediately (by skipping steps S 16   a  through S 18   a ) searches the local 2D code database  56 Da again, acquires the weather forecast program, and executes the same. Consequently, the weather forecast information such as a weather forecast chart, is displayed on the LCD  21 .  
         [0148]    Thus, if the expiration period of the registered global 2D code associated program is valid, the CPU  52  can execute the global 2D code associated program without accessing the global 2D code server  300   a.    
         [0149]    In addition, by setting an expiration period optimum to a certain program to be executed, by setting the expiration period to a time at which weather forecast information is updated (every three hours for example), more effective services can be provided to users.  
         [0150]    In the above-mentioned examples, the weather forecast program is a global 2D code associated program. It will be apparent that a “season&#39;s greeting card” creating program may be also used as a global 2D code associated program. Such a “season&#39;s greeting card” creating program can create greeting card formats such as a new year&#39;s card and a summer greeting card according to expiration periods set in advance.  
         [0151]    Assume, for example, that user C used this “season&#39;s greeting card” creating program and created a summer greeting card during summer, and therefore this program has been already registered in the local 2D code database  56 Da in the HDD  56   a  of the personal computer  1 . When user C makes the personal computer  1  read the 2D code for executing the “season&#39;s greeting card” creating program in the end of a year, at which the expiration period of the program is invalid, the personal computer  1  receives the provision of the “season&#39;s greeting card” creating program from the global 2D code server  300   a  because the expiration period is invalid. When the newly provided “season&#39;s greeting card” creating program starts, a new year&#39;s card format is created this time. When user C makes the personal computer  1  read the 2D code for executing the “season&#39;s greeting card” creating program in next summer, a summer greeting card format is created this time.  
         [0152]    Like the global 2D code associated program, the local 2D code associated program can set the expiration period. Also, as shown in FIG. 13, a group 2D code server  500  for controlling a 2D code (hereafter referred to as a group 2D code) to be shared by one group including the personal computer  1 , the terminals  400 - 1  and  400 - 2  is provided to create a group 2D code associated program, to which an expiration period can be set. The group 2D code server  500  is the same in configuration as the global 2D code server  300   a  and stores the server program, the group 2D code associated program, the expiration period thereof, the 2D code ID of group 2D code, and the ID of the corresponding group 2D code associated program.  
         [0153]    As mentioned above and according to the information processing apparatus defined in claim  1 , the information processing method defined in claim  6 , and the medium defined in claim  7 , a request for executing the processing corresponding to the global identification information is made to a server. Consequently, the result of the execution of the processing corresponding to the global identification information can be obtained, to thereby obtain the same result of the execution of the processing corresponding to the global identification information, which is commonly used by all terminals.  
         [0154]    A computer program designed to perform the above-described processes may be retained on such package media as floppy disks, CD-ROMs and DVDs; on semiconductor memories, magnetic disks and the like where the program is stored temporarily or permanently; on wired and wireless communication media such as local area networks, the Internet, digital satellite broadcasting networks; or in diverse communication interfaces such as routers and modems for transmitting or receiving the program offered by the foregoing media. Such media, networks, interfaces and other measures allow the program to be installed in computers for program execution. The storage medium as mentioned in this specification refers broadly to all such media, networks, interfaces and measures.  
         [0155]    While a preferred embodiment has been described, variations thereto will occur to those skilled in the art within the scope of the present invention concepts which are delineated by the following claims.