Identifying objects in an image using coded reference identifiers

Image processing is performed to identify an image of a physical object within a digital image. A boundary of the image of the physical object may be determined. A coded reference identifier that is contained within the boundary of the image of the physical object may be recognized. A database record for the coded reference identifier may be associated with a database record for the physical object.

BACKGROUND

The present disclosure relates to computer systems, methods, and program products and in particular to image processing systems, methods, and program products.

An image may provide a comprehensive view of a physical space. The image may be created by photographing or obtaining a digital representation of the physical space including the objects in the physical space,

For example, a data center may be a large physical space used to house computer systems and associated components such as communications and storage systems. Data centers are proliferating across the world with the increase in use of technology, such as the Internet, virtualization and cloud computing. A data center can provide advantages, such as hosting large numbers of computers, commonly referred to as “servers”, in a small space, which can also provide simplified cabling, a controlled environment (such as air conditioning and fire suppression), redundant or backup power supplies and security. The servers are generally arranged in racks, which themselves may be arranged in aisles of the data center. An image of a data center may depict a variety of objects in the data center such as data center equipment including servers, network storage devices, computing devices, network routers, network gateways, wireless/wired network interface devices, etc.

SUMMARY

According to various embodiments the digital image may include an image of the data center and the physical object may include data center equipment in the data center. The image of the data center may include a plurality of images of a plurality of data center equipments in the data center including the physical object.

According to various embodiments image processing may be performed on the digital image to identify an image of a physical object within a digital image. A boundary of the image of the physical object in the digital image may be determined. A coded reference identifier that is contained within the boundary of the image of the physical object may be recognized. A database record for the coded reference identifier may be associated with the database record for the physical object.

According to some embodiments, the digital image may be an image of a data center. The physical object may be data center equipment in the data center. Performing image processing to identify the image of the physical object within the digital image may include receiving a selection of a portion of the image of the data center. Image processing may be performed on the image to identify the image of the data center equipment indicated by the selection.

According to some embodiments, recognizing the coded reference identifier that is contained within the boundary of the physical object in the digital image may include searching within the boundary of the data center equipment in the digital image to identify a coded reference identifier. It may be determined if the coded reference identifier is affixed to a null object such as a glass wall based on information referenced by the coded reference identifier. Based on determining that the coded reference identifier is affixed to a null object, the database record for the coded reference identifier may be disassociated from the database record for the data center equipment.

In some embodiments, searching within the boundary of the data center equipment in the digital image may occur to identify auxiliary information. Auxiliary information and information referenced by the coded reference identifier may be corroborated to verify the data center equipment. The auxiliary information may include alphanumeric characters such as a company logo. The auxiliary information may include another coded reference identifier.

According to some embodiments, associating the database record for the coded reference identifier with the database record for the physical object may include creating a database record with an association between the database record for the physical object and the database record for the coded reference identifier. In some embodiments, the coded reference identifier may identify information related to a database record of the data center equipment in the data center.

According to some embodiments performing image processing to identify the image of the physical object within the digital image may be preceded by creating a coded reference identifier label based on the database of data center equipment inventory. The coded reference identifier label may be attached to the dater center equipment. The digital image may be created such that the digital image includes the data center equipment having the coded reference identifier label attached thereto. The performing, determining, recognizing, and associating may be performed repeatedly at a plurality of different times.

According to some embodiments, image processing may be performed on the image of the data center to identify the plurality of images associated with the plurality of data center equipments. Respective boundaries of the plurality of images associated with the plurality of data center equipments may be determined. A plurality of coded reference identifiers that are contained within boundaries of respective ones of the plurality of images may be recognized, Respective ones of a plurality of coded reference identifiers may be associated with respective ones of the plurality of the data center equipments.

The image may include a first image of the data center that is captured at a first time. The plurality of images may include a first plurality of images and the plurality data center equipments may include a first plurality of data center equipments. The plurality of coded reference identifiers may include a first plurality coded reference identifiers associated with the first plurality of data center equipments. Image processing may be performed on the second image at a second time, different from the first time, to identify a second plurality of images of a second plurality data center equipments. The boundaries of respective ones of the second plurality of images of the second plurality of data center equipment may be determined. A second plurality of coded reference identifiers that are contained within the respective boundaries of the second plurality of images may be recognized. The second plurality of coded reference identifiers may be associated with a second plurality of data center equipments. Information referenced by the first plurality of coded reference identifiers associated with the first plurality of data center equipments and information reference by the second plurality of coded reference identifiers associated with the second plurality of data center equipments may be compared to identify differences between the information referenced by the first plurality of coded reference identifiers and the information referenced by the second plurality of coded reference identifiers. Movement of one of the first plurality of data center equipments may be identified responsive to the comparing.

It will also be understood that various embodiments have been described above in connection with methods of operating a computer system. However, various other embodiments described herein can provide analogous apparatus and computer programs.

For example, according to various embodiments an apparatus may include a processor and a memory coupled to the processor which includes computer readable program code that when executed by the processor causes the processor to perform operations including performing image processing on a digital image to identify an image of a physical object within a digital image. A boundary of the image of the physical object in the digital image may be determined. A coded reference identifier that is contained within the boundary of the image of the physical object may be recognized. A database record for the coded reference identifier may be associated with the database record for the physical object.

Moreover, some embodiments a computer program product may include a computer readable storage medium including computer readable program code embodied in the medium therewith, the computer readable program code comprising computer readable program code configured to perform image processing to identify an image of a physical object within a digital image, computer readable program code configured to determine a boundary of the image of the physical object in the digital image, computer readable program code configured to recognize a coded reference identifier that is contained within the boundary of the image of the physical object, and computer readable program code configured to associate a database record for the coded reference identifier with a database record for the physical object.

It is noted that aspects described with respect to one embodiment may be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination. Moreover, other resource management nodes, distributed computing systems, methods, apparatus, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional resource management nodes, distributed computing systems, methods, and/or computer program products be included within this description and protected by the accompanying claims.

DETAILED DESCRIPTION

Various embodiments will be described more frilly hereinafter with reference to the accompanying drawings. Other embodiments may take many different forms and should not be construed as limited to the embodiments set forth herein. Like numbers refer to like elements throughout. Numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention. It is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.

As noted above, data centers are proliferating around the world with increased demand for higher speed data communication. Data centers may include a multitude of data center equipment such as servers. A data center may include, for example, thousands of servers housed in a single physical facility. The servers may generally be arranged in racks, which themselves may be arranged in aisles of the data center. These servers may be physically moved, removed from service upon fault detection, and/or temporarily taken out of service for maintenance. Data center operators may desire to know information such as location and attributes about each of the servers in the data center in order to improve performance of the overall data center. Updating of such information may be done manually by data center personnel who regularly may physically inventory the data center equipment and enter the information in a database. This manual updating may lead to errors and an inaccurate representation of the servers in the data center.

Physical spaces such as data centers include various physical objects such as data center equipment, each with specific attributes. Various embodiments described herein may arise from a recognition that an accurate listing of specific data center equipment including location and attributes may be necessary for proper and/or effective operation of the data center. In order to allow a more accurate listing, the data center may be represented in a digital image. The digital image may be used as a virtual reality image in a virtual environment. Image processing may be utilized to distinguish various physical objects in the digital image. The physical objects may be identified to be a type of object such as, for example, a server or a router. Image processing of the digital image may not provide information about the specific instance of the object in a digital image. However, various embodiments described herein can provide techniques for recognizing and associating a coded reference identifier on the physical object in the digital image. Thus, an accurate listing of the movement and/or attributes of the data center equipment may be provided.

For ease of discussion, a non-limiting, ongoing example of a data center including data center equipment will be discussed. However, the techniques discussed here may be applied to other physical spaces such as, for example, a rental car parking lot including automobiles, or any other physical environment where a large number of physical objects are present.

FIG. 1is an illustration of a data center according to some embodiments described herein. The data center101may be a facility to house computer systems and/or associated physical objects. The data center may include data center equipment such as communications equipment102including data networking equipment, telecommunications equipment, storage systems, servers, routers, gateways, and/or equipment racks arranged in aisles, rows, and/or stacked in columns. Data center equipment may include supporting equipment104such as power supplies, connectors, wiring, environmental controls such as HVAC, fire suppression equipment, and/or various security devices. Each data center equipment102and/or104may include a coded reference identifier103.

FIG. 2Aillustrates a plurality of data center equipments according to some embodiments. A plurality of data center equipments102and/or104may be located in the data center101, specifically in a given rack number of a given aisle number of the data center101. Each of the plurality of data center equipments102and/or104may include one or more coded reference identifiers103that is affixed to each of the plurality of data center equipments102and/or104.

FIG. 2Bis a digital image201of the plurality of data center equipments102and/or104as inFIG. 2A, according to some embodiments. The digital image201may include images of the plurality of data center equipments102and/or104. Each of the plurality of data center equipments102and/or104may have a boundary202of the image. The digital image201includes an image of each of the coded reference identifiers103that are affixed to the plurality of data center equipments102and/or104.

FIG. 3Aillustrates a data center equipment according to some embodiments. A data center equipment102and/or104may be located in the data center101. The data center equipment102and/or104may include one or more coded reference identifiers103that is affixed to the data center equipment102and/or104.

FIG. 3Bis a digital image201of a data center equipment102and/or104, as inFIG. 3A, according to some embodiments. The digital image201may include an image of the data center equipment102and/or104. The digital image201of the data center equipment may have a boundary202of the image. The digital image201includes an image of a coded reference identifier103that is affixed to the data center equipment102and/or104. The coded reference identifier103may be contained within the boundary202of the data center equipment102and/or104.

FIG. 4is a flowchart of operations to provide a coded reference association401according to various embodiments described herein. Referring toFIG. 4, at Block402, image processing may be performed to identify an image of a physical object within a digital image. For example,FIGS. 2A and 2BandFIGS. 3A and 3Billustrate a physical object such as data center equipment102whose digital image201may be identified by image processing. Image processing may include conventional image processing techniques including any form of signal processing for which the input is an image, such as a photograph or video frame. The output of image processing may be either an image and/or a set of characteristics or parameters related to the image. Image processing may refer to digital image processing, optical image processing, and/or analog image processing.

At Block403, a boundary202ofFIG. 3Bof the image of the physical object in the digital image may be determined. A boundary of the physical object may assume any shape of the physical object and may demark an area in the digital image that represents the physical object. A boundary may be determined for a two-dimensional and/or perspective view of the image.

Still referring toFIG. 4, at Block404, a coded reference identifier103contained within the boundary202ofFIG. 3Bof the image of the physical object may be recognized. The coded reference identifier may be a Quick Response Code (QR code), barcode, UPC symbol, and/or any other machine recognizable coding system which may contain references to the physical object. The coded reference identifier may be recognized, according to some embodiments, by applying further image processing and/or image search algorithms.

At Block405, a database record for the coded reference identifier may be associated with a database record for the physical object. A database may be an organized collection of data and/or information stored in any memory such that the database supports access to the stored data and/or information. The data and/or information may be stored as a database entry and/or database record. Existing database records may be associated and/or new database records may be created as needed and then associated. Association of the database record for the coded reference identifier with the database record for the physical object may be accomplished by a variety of methods such as creation of new records, use of data structures such as arrays, tables, and/or pointers, and/or other well-known database manipulation techniques. The database record may include information about the physical object may include information identifying the manufacturer, model number, serial number, capacity, etc. This information may associated with the coded reference identifier and the data center equipment based on the image.

Still referring toFIG. 4, at Block406, the coded reference identifier may be erased from the digital image and/or blurred within the digital image201ofFIG. 3B. The boundaries202of the image of the physical object may be used as a reference guide within which the image of the physical object may be erased or replaced with a different digital representation. Similarly, the boundaries202of the image of the physical object may be used as a reference guide within which the image of the physical object may be blurred or otherwise rendered to appear differently from the original digital image. The erasing and/or blurring of a portion of the digital image that includes the physical object may allow easier identification of the specific physical object within the digital image. The erasing and/or blurring may indicate that the physical object has been moved from a different location, is offline or otherwise non-functional, is new to the data center, and/or is functioning properly.

FIG. 5is a flowchart of operations for Block402for performing image processing to identify an image of the physical object in the digital image201ofFIG. 3B, according to some embodiments. Referring toFIG. 5, at Block501, a selection of a portion of the image of the data center may be received. The selection may include a user selection, a predefined or preconfigured selection, and/or a randomly defined area of the image. Image processing may be performed on the selected portion of the image to reduce computation or to identify an object selected by a user such as a data center operator or to identify objects that are expected to be in the digital image.

Again referring toFIG. 5, at Block502, image processing may be performed on the image to identify an image of the data center equipment indicated by the selection. This identification of the data center equipment image may be accomplished by conventional image processing techniques to identify sub-images and/or objects in the image. Boundaries202of the object in the image may be delineated to aide in distinguishing the physical object in the image from the surroundings.

FIG. 6is a flowchart of operations, as in Block404, for recognizing a coded reference identifier103that is contained within the boundaries202of the image of the physical object102. Referring toFIG. 6, at Block601, the coded reference identifier is identified by searching within the boundaries202of the data center equipment in the digital image. At Block602, it is determined if the coded reference identifier is affixed to a null object based on the information referenced by the coded reference identifier. The null object may be an element in the data center that is not central to the networking operations of the data center. For example, null objects may include transparent dividers between the aisles, doors on the equipment racks, environmental control units such as HVAC, and/or air handling units. These null objects present in the data center may have a coded reference identifier affixed to them. Information related to the coded reference identifier affixed to the null object may indicate that the object should be treated as a null object. However, if the coded reference identifier is affixed to a transparent surface, it may be possible for the coded reference identifier to be projected onto objects behind the null object. According to some embodiments, the coded reference identifier may indicate that the null object restricts airflow or creates climate zones within the data center.

Referring again toFIG. 6, at Block603, if it is determined that the coded reference identifier is affixed to a null object, the database record for the coded reference identifier may be disassociated from the database record for the data equipment center. If an association of the database records has occurred, upon determination that the coded reference identifier103is affixed to a null object, disassociation may be accomplished by removing or modifying the database association by modifying records, arrays, tables, pointers, and/or other database elements. In some cases, the database records may not be associated with one another until after a check is performed to confirm that the object is not a null object. For example, it may be desired to ignore supporting equipment104ofFIG. 1such as HVAC equipment or glass walls. Capturing a digital image of an object through a glass wall may superimpose the coded reference identifier103of the glass wall on equipment located behind the glass wall. In such cases, it may be desirable to identify the coded reference identifier as belonging to a null object such as the glass wall and is not related to data center equipment102on which it was superimposed.

Still referring toFIG. 6, at Block604, a search may be conducted within the boundaries202of the data center equipment in the digital image to identify auxiliary information. The auxiliary information may include alphanumeric characters, a brand label, a corporate logo, an inventory number, a model number, and/or another coded reference identifier.

Again referring toFIG. 6, at Block605, the auxiliary information and information referenced by the coded reference identifier may be corroborated to verify the data center equipment. For example, a logo and/or a model number of a data center equipment may be verified against a database including the physical objects to confirm the type of data center equipment referenced by the coded reference identifier. For example, a data center equipment may include an IBM® corporate logo but the database may indicate a different equipment manufacturer. In this case, the verification may fail and an indication may be provided to the operator.

FIG. 7is a flowchart of operations, as in Block405, for associating a database record for the coded reference identifier with the database record for the physical object, according to various embodiments. Referring toFIG. 7, at Block701, a database record may be created that includes an association between the database record for the physical object in the database record for the coded reference identifier. In some embodiments, a database record may be modified or updated based on the association.

FIG. 8is a flowchart of operations, as in Block402for performing image processing to identify an image of a physical object in a digital image, according to various embodiments. Referring toFIG. 8, at Block801, a coded reference identifier label may be created based on a database of data center equipment inventory. A coded reference identifier label may include the coded reference identifier, a reference to an existing database record about the data center equipment, human readable information about the data center equipment, and/or other information related to the data center equipment. At Block802, a coded reference identifier label may be attached to the data center equipment. The coded reference identifier label may be affixed on a prominent part of the data center equipment visible to a camera creating digital images for creation of a data center model. The entire coded reference identifier may be visible to the camera. A data center employee may manually scan the coded reference identifier to determine the specific equipment that may need to be moved or serviced.

Still referringFIG. 8, at Block803, the coded reference identifier may be scanned by a scanner such as a QR code scanner, to verify that the coded reference identifier label is affixed to the correct data center equipment. In some embodiments, the coded reference identifier may be available for reading using a handheld scanner by a data center employee. The data center employee may manually scan the coded reference identifier once it has been affixed to the data center equipment. The scanner may then provide related information as indicated by the coded reference identifier. The data center employee may then verify that the coded reference identifier label has been affixed to the correct data center equipment. This operation may be performed at other times as well, for example, after Block804, or before Block802,

At Block804, the digital image of the data center equipment having the coded reference identifier label attached may be created. The digital image may be created by use of a camera, use of historical images and/or by integration into a virtual reality environment.

FIG. 9illustrates a flowchart of operations performed at a new time according to various embodiments. The operations may be performed at periodic time intervals, at time intervals upon determination of a necessity, and/or at other new times selected automatically, randomly, and/or by a user. Referring toFIG. 9, at Block402, image processing may be performed to identify an image of the physical object in a digital image. At Block403, a boundary202of the image of the physical object in the digital image may be determined. At Block404, a coded reference identifier that is contained within the boundary202of the image of the physical object may be recognized. At Block405, a database record for the coded reference identifier may be associated with the database record for the physical object. At decision Block406, a determination is made if the present time has advanced to a different time. If there has not been advancement to a new time, then no action is taken. If advancement to a new time is determined, then the operations402-405are repeated on a digital image of the data center at the new time.

FIG. 10is a flowchart of multiple object processing1001. A digital image201as inFIG. 2Bof a data center101ofFIG. 1may include multiple data center equipments102. Referring toFIG. 10, at Block402′, image processing may be performed on the image of the data center to identify a plurality of images associated with a plurality of data center equipments. At Block403′, respective boundaries202of the plurality of images associated with the plurality of data center equipments102may be determined. A Block404′, a plurality of coded reference identifiers103that are contained within the boundaries202of respective ones of the plurality of images may be recognized. At Block405′, respective ones of a plurality of coded reference identifiers103may be associated with respective ones of the plurality of data center equipments102.

FIG. 11illustrates a flowchart of operations for multiple image processing1101. The multiple images may represent the data center101ofFIG. 1at various relevant points in time. Referring toFIG. 11, at Block1102, image processing may be performed on a second image, at a second time different from a first time, to identify a second plurality of images of a second plurality of data center equipments. At Block1103, boundaries202of respective ones of the second plurality of images of the second plurality of data center equipments are determined. At Block1104, a second plurality of coded reference identifiers are recognized that are contained within the respective boundaries of the second plurality of images. At Block1105, the second plurality of coded reference identifiers are associated with the second plurality data center equipments. At Block1106, information referenced by the first plurality of coded reference identifiers and information referenced by the second plurality of coded reference identifiers are compared to identify differences. At Block1107, movement of one of the first plurality of data center equipment is identified responsive to the aforementioned comparing of information. Movement of data center equipment may identify at least one data center equipment that has been moved to a different location or in a different orientation, when compared to a previous time. Movement of data center equipment may identify equipment that has been removed from the data center. As such, changes in configuration of the data center may be identified.

FIG. 12is an apparatus1201that may be used to provide coded reference association according to various embodiments described herein. This apparatus may be embodied as one or more enterprise, application, personal, pervasive and/or embedded computer systems and/or apparatus that are operable to receive, transmit, process and store data using any suitable combination of software, firmware and/or hardware and that may be standalone or interconnected by any conventional, public and/or private, real and/or virtual, wired and/or wireless network including all or a portion of the global communication network known as the Internet, and may include various types of tangible, non-transitory computer readable media.

Referring toFIG. 12, the apparatus1201may include at least one wired or wireless network interface1202. The apparatus1201may include at least one processor1203that may provide generic processor functions, computational functions, signal processing, and/or image processing. The apparatus1201may include memory1205. Memory1205may include program code1204, a physical object database1206, an association database1207, and/or a coded reference identifier database1208. The physical object database1206may include records including information related to the data center equipment102. The coded reference identifier database1208may include information identified by the coded reference identifier. For example, the coded reference identifier may indicate a URL which references a record in the coded reference identifier database1208. The association database1207may include records that indicate an association between records in the physical object database1206and records in the coded reference identifier database1208. The association may be provided, for example, by the operations of Block405ofFIG. 4.

Additional Discussion

It may be desired to overcome a difficult problem in Virtual Reality of forming an association between meta information related to objects from the “real world” with the shapes of the “virtual world”. Modern virtual environments may be illustrated, for example, by Google Street View and Google Indoor “Street View”, also referred to as Google Places in order to provide a photorealistic view of a space around the viewer. However, if the environment contains physical elements that may be described in a database external to the visualization system, it may be difficult to associate an image of the object with database information related to the object. There may be a disconnect in integration of the human-computer interface offered by the visualization of an environment and the computer interface of the information systems that describes the environment.

According to various embodiments described herein, adding an element of machine-readable annotation to the physical environment prior to creation of the virtual reality images may provide a connection between the visualization environment and the database information that describes elements in the visualization environment. Labels may be created as in Block801ofFIG. 8, that include a coded reference identifier103such as QR code or any other machine recognizable coding system. The coded reference identifier103may include a reference to the physical objects in the corresponding database. Once virtual environment images are captured, image recognition may be applied to identify shapes or boundaries202within the images. A coded reference identifier103such as a QR code may be recognized by recognition software for associating the shape with the database reference included in the QR code as in Block405ofFIG. 4. After the association is made, a coded reference identifier may continue to be included on the image, or the coded reference identifier may be erased or blurred in the image.

According to various embodiments described herein, a semi-automated process may be applied to associate virtual reality shapes with information about physical objects represented by them. The semi-automatic process may include printing of QR codes as in Block801ofFIG. 8, and affixing them manually to the data center equipment as in Block802ofFIG. 8. A more fully-automated process may be utilized that includes automating the printing and affixing of QR codes. QR codes may be used for associating URLs with physical objects by using QR code recognition in the “real world”. The recognition of QR codes may occur in the “virtual world”.

In some embodiments, pasting a QR code on a prominent part of the equipment visible to the camera taking the pictures for creation of 2D or 3D model may be a manual step. The entire area of the QR code may be visible to the camera. The QR code itself may carry a reference to an existing database record about the equipment. In order to avoid confusion by the data center employees affixing the codes, some human readable information may be printed on the code directly or available to the QR code lookup using a hand-held scanner so that the data center employee may verify that the QR code is placed on the right equipment.

According to some embodiments, QR labels may be created and printed using a database of data center equipment inventory. The QR labels may be pasted on equipment in the data center. The QR recognition software may be primed and/or initialized with an expected range of URLs that should be found in the scanned QR codes. A camera may capture images of the data center facilities. QR codes may be collected and recognized. Database records associating original data center equipment inventory database with a 2D or plan view model of the facility may be created. Capturing the images with the camera, collecting and recognizing QR codes, and associating database records and/or entries may be performed periodically over time for the purpose of identifying changes in position of equipment, changes in quantity, and/or other changes in physical layout of equipment.

Some elements of a data center101ofFIG. 1may include supporting equipment104such as be transparent elements including, for example, dividers between the aisles, doors on the racks, etc. A QR code affixed to a transparent surface may be projected upon objects behind it. It may be desirable that the QR code pasted on transparent areas may have an indication in text encoded in the QR code indicating transparency of the object. It may be important that the transparent objects have a QR code since these objects may restrict airflow and create climate zones within a data center and/or represent an important element of data center facility.

Image recognition processes may focus on recognizing boundaries202ofFIGS. 2B and 3Bof the equipment and QR codes placed on them. Thus, as described in Block604ofFIG. 6, other pieces of machine-recognizable information may be in a field of view of the camera, such as a brand label, inventory number, model number, as well as other QR codes. The image recognition system may make a best effort for recognizing extraneous machine recognizable information. If the QR code is related to a known range of URLs, additional recognition of the other pieces of machine-recognizable information may be used as auxiliary data.

Scanning a code from a screen of a mobile phone may represent a “common way” of using bar codes or two-dimensional codes such as QR codes. The code may be rendered on a screen of a mobile phone as an image. For example, a mobile phone may be a Code Carrier and an airport boarding terminal scanner may be a Code Scanner. The Code Carrier and Code Scanner may be physical objects existing in physical reality. Scanning may be accomplished one QR code at a time. If the image includes more than one QR code, the scanning may or may not operate properly.

Furthermore, the intent of scanning may be to access a boarding record kept in a database. Scanning may not create an association between the QR Code Carrier and the QR Code Content. The QR Code Carrier may be irrelevant to the outcome of the scanning. The QR Code Content may be used at the time of scanning and may only be used at the time of scanning.

In sharp contrast, according to various embodiments, the QR Code may be used differently from the “common way” both in the technology of code recognition and the intent of the recognition. The Code Carrier may be an image of an object in virtual reality that includes a QR Code image within it. Both the Code Carrier and the Code Content may be recognized from a virtual reality image. An association may be created between Code Carrier (i.e an area of a virtual reality image that represents an object such as a server) and the URL of a database record describing the server encoded in the Code Content. The created association may be recorded in virtual reality by creating a clickable “hot spot” that, if viewed by a user through a Virtual Reality browser, may be able to take the user to a web page associated with the URL. For example, use of a Virtual Reality Modeling Language may allow a connection to an associated web page. Access to an end point represented by an associated URL may occur when the virtual reality user clicks on the hot spot. The QR Code Content may be used after the moment of scanning and may be used multiple times. Some or all Code Carriers and/or some or all Codes found in a given image may be recognized. Multiple QR Codes may be affixed to the same Code Carrier. A physical QR code scanner may or may not be involved in the process.

Further Definitions and Embodiments: