The present invention relates to the use of machine-readable codes for managing information and, in particular, to receiving and storing information.
Machine-readable codes have been in use for many years. Such codes are often implemented as optical codes that are read by capturing the reflection of electromagnetic radiation from the code. The ubiquitous one-dimensional barcode is used for product tracking and to automate purchases. For example, one-dimensional barcodes are in widespread use for managing point-of-sale purchase transactions using computer-controlled laser scanners.
More recently, two-dimensional codes, also known as matrix barcodes, such as QR (“Quick Response”) codes, have become popular. Two-dimensional codes can encode a much greater quantity of information than one-dimensional codes. The information encoded in such codes is readily accessed through digital photographs of the codes that are processed by application software found in computers and mobile communication devices such as cell phones having digital signal processing and internet communication access. QR codes are frequently employed in conjunction with product advertising to provide an internet URI website link with information about the product advertised.
Optical bar codes are typically intended to be visually observable by humans, so that humans can find the codes and take appropriate action to access encoded information or otherwise use the codes. In contrast, steganographic information is designed to be hidden within an image. The present invention addresses optical codes that are intended to be observable to humans and does not address steganographic codes. Referring to
The formation, printing, scanning, and decoding of one- and two-dimensional bar codes is known in the art. For example, U.S. Pat. No. 7,273,175 describes a method, apparatus and a storage medium for locating QR codes. An image processing apparatus including an optical reader and image processing hardware is discussed in U.S. Pat. No. 7,835,037. U.S. Pat. No. 7,841,531 discloses a camera operating system and matrix decoding device. U.S. Patent Application Publication 20090078772 describes techniques for decoding images of barcodes. U.S. Pat. No. 6,229,964 addresses an icon reader that reads picture identification data from a data icon on an image print. U.S. Pat. No. 7,123,782 describes using a code printed in association with a printed image to identify an electronic repository for a digital version of the printed image.
Codes on an image print can include a reference to remotely-stored information. A code reader can scan the code, decode the reference, and retrieve the information. For example, U.S. Pat. No. 6,199,048 describes a system and method for using identification codes found on ordinary articles of commerce to access remote computers on a network. U.S. Patent Application Publication 2004/0096123 discloses a method and system for locating and accessing digitally stored images including a hard copy print, method and system for producing the hard copy print.
Internet-based storage facilities use pre-allocated universal resource locators (“URLs) or universal resource indicators (“URIs”) to specify the location of stored information, such as text, images, audio files, and documents as well as interactive websites. Users can upload information, such as images, to the storage sites associated with the URLs, for example in a database, usually by interacting with the website through a web browser. Information can also be emailed to a service provider and stored in an internet-accessible storage device. In some cases, a designated URL can reference a second URL to redirect a user to another internet location. For example, www.qrjumps.com provides such services associated with a QR code.
It is useful to communicate with a large group of potential respondents that can provide information for remote storage over the internet. However, it is costly and inefficient to provide storage facilities without a clear indication of information type and quantity. Furthermore, communication addresses for the potential respondents are not always known, particularly for self-selected groups whose members wish to use a storage service.
There remains a need, therefore, for a system and method for efficiently communicating with an unspecified group, receiving information from members of the group, and interactively storing information for the members of the group.
In accordance with the present invention, there is provided a system for managing information, comprising:
a server processor for receiving communications from remote client devices over a network;
a network-accessible electronic storage and retrieval system accessible from the server processor; and
the server processor for:
The present invention provides a system for efficiently communicating with an unspecified group, receiving information from members of the group, and interactively storing information for the members of the group.
These, and other, attributes of the present invention will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following description, although indicating embodiments of the present invention and numerous specific details thereof, is given by way of illustration and not of limitation. Many of the elements described as related to a particular embodiment can be used together with, and possibly interchanged with, elements of other described embodiments. The figures below are not intended to be drawn to any precise scale with respect to relative size, angular relationship, or relative position or to any combinational relationship with respect to interchangeability, substitution, or representation of an actual implementation.
The above and other features and advantages of the present invention will become more apparent when taken in conjunction with the following description and drawings wherein identical reference numerals have been used to designate identical features that are common to the figures, and wherein:
Referring to
In various embodiments of the present invention, the code is a machine-readable code, for example an optical code, a one-dimensional barcode, a two-dimensional bar code, a matrix code, or a QR (“Quick Response”) code. A variety of such codes are known in the art. The code can be provided on a variety of substrates (
The received information can be audio, image, or text information, or any combination of audio, image, or text information, or can be other types of digital information that can be stored in a retrieval system. The received information can be references to other information, information stored in other locations, or the location of other stored information. The received information can be stored in a variety of ways, for example as a single file or multiple files, stored in a database including one or more files, or stored within a folder in a logical file-storage hierarchy one or more files. Such storage methods are known in the computer science arts.
In a first embodiment, the provided code references an unassigned internet-accessible universal resource identifier (URI). An unassigned universal resource identifier is a URI that does not resolve to pre-existing user-specific content. For example the code can directly or indirectly reference a storage location that does not exist but is associated with the service provider. The service provider maintains a network-accessible storage device but without user-specific storage locations formed in the network-accessible storage device. For example, a URI might reference “http://serviceprovider.com/storagelocation” where the “serviceprovider.com” is an existing domain and web server, but the “storagelocation” specifier is initially not resolvable to user-specific content. According to the prior art, such an unassigned URI request could return a user-specific web page such as a 404 error page or a page inviting the user to establish “storagelocation” and upload user-specific content to it. Instead, according to an embodiment of the present invention, after receiving the URI, a storage location is formed at the URI and the received information stored at the formed URI storage location.
Alternate embodiments of the URI might include http://storagelocation.serviceprovider.com, where “storagelocation: is an initially undefined subdomain of serviceprovider.com, or http://serviceprovider.com/?q=storagelocation, where storagelocation is an initially undefined parameter value passed to the serviceprovider.com web server.
A user of services provided by the service provider can photograph or scan the code, for example employing a smart-phone with an integrated digital camera and analyze the code photograph to extract the encoded URI using software integrated into the smart-phone. Such smart-phone devices, digital cameras, and software are known in the art. In step 160, additional software is employed to transfer information stored in the smart-phone to the service provider at an address that does exist and is represented by a portion of the URI. Software operative on the service provider's server at the address receives the transferred information, creates the storage location and stores the received information at the encoded location in step 165. The same user or other users can then make subsequent requests for storing information (step 170) or for retrieving information (step 180) that are fulfilled in steps 175 or 185, respectively.
The present invention usefully provides a way to support a group of users that collaborate on providing information for a common purpose when the number of users in the group is unknown. In an extreme case, no users at all participate in an activity. In this case, it is inefficient for a service provider to provide storage services. In another case, the activity is unknown; again, it is inefficient for a service provider to provide resources for an unknown purpose. In the case wherein a first user decides to take advantage of the service provider's services, he or she can upload information related to a desired activity to the service provider. The service provider then provides the needed resources to support the activity and receives further information from other users. The information can then be made available to any user. Storage and access requests are made with the information encoded in the code to indicate the storage location.
As a specific example, consider a celebration-services provider (e.g. a wedding, graduation, or reunion) that provides digital information services to celebrating groups, for example providing photobooks and image slide shows that can include digital still image information digital video image information, audio information, or text information, or any combination of such information types. The code can be provided to any and all groups considering a celebratory event without initial concern for service usage or storage requirements. If no groups take advantage of the services, the service provider experiences no costs, other than the provision of the codes. However, if a group member decides to take advantage of the services, services are allocated as needed, providing a very efficient means of meeting the needs of the group.
From a user's perspective, he or she is presented with a service, such as an ability to contribute to a group wedding gift such as a photobook. Such a service can be provided, for example, through a website or through an application operable on a cellular telephone with digital camera, digital communications with the internet, and software application capability accessed through the code. In an embodiment, a software application is provided that records audio information, forms a digital image of the code, decodes the encoded code information to provide the unassigned URI reference, and transmits the recorded audio information to the unassigned URI. The services can be presented at the celebration or perhaps in association with a celebration invitation. After deciding to participate, the user can download an application from a website to enable interaction with the service provider.
In one embodiment, referring to
In a further embodiment of the present invention, participants can modify their information after it has been uploaded by requesting the information (step 225) and editing the requested information (step 230). Additional software utilities can enable users to retrieve, replace, edit, or remove the stored information in response to a request. To efficiently and easily enable interaction with the storage facility, a network-accessible user interface to the formed URI storage location for interacting with the information stored at the formed URI storage location is provided.
Additional information can be provided to enhance the user experience or provided services, including user information. The user information can be associated with the stored information. For example, details of the user's relationship to a guest of honor at the celebration or an email address for communicating information regarding a digital information product is transmitted by the user and received by the service provider.
To further facilitate interactions between user groups and the service provider, an identifier can be provided with uploaded information to identify the stored information. The identifier can identify the event and provide a way to associate information uploaded from multiple users into a common event. Useful identifiers can include an event name, a cellular telephone number, an email address, a user-selected identifier, a portion of a URI, or a random number. The identifier can be provided by the service provider, for example in response to an initial user interaction, and subsequently communicated to other users in the group. Alternatively, one or more users can select an identifier that is subsequently communicated to other users in the group. In this way, a service provider can support multiple groups with different and independent digital information at the same time, for example by forming different storage locations, one for each identifier. The identifier is thus used to associate received information into groups and to identify the groups. Furthermore, participants can interact securely with the uploaded information by providing the URI and identifying information to the software utility or service provider.
Referring to
In one embodiment of the present invention, all of the information uploaded from a group is stored in a common storage location and all users in the group can have access to all of the information. In another embodiment, the information is securely associated with individuals and access to others is restricted. Thus, a user might be able to edit his or her contributed information as a consequence of a request to retrieve the contributed information while others can only read the information.
In a further embodiment of the present invention, a plurality of different codes referencing a corresponding plurality of different unassigned uniform resource identifiers (URIs) to a plurality of users is provided (
In one embodiment of the present invention, a digital image of the code is transmitted to the service provider, which then extracts the desired URI. This makes it unnecessary for a user to decode the code. Alternatively, software operative on a user's computing device extracts the URI reference from the code.
In an embodiment of the present invention, an apparatus includes a substrate and a machine-readable optical code formed on the substrate. The machine-readable optical code encodes a reference to an unassigned computer network-accessible electronic storage location.
The capture, transmission, and storage of digital information such as images, videos, audio, and text are well known in the art. For example, as shown in
Likewise, as shown in
The user 72 can photograph scenes and transmit the captured scenes through the communication channel 18 to the communication system 54 to be stored by the processor 34 on the disk drive 44 in the electronic storage and retrieval system 16 as a digital image 5.
The processor 34 can include a way to transmit and receive information from and to a remote client computer (e.g. mobile communication system 80), receive digital information 5 from the remote client computer mobile communication system 80 through the communication channel 18 and store the received digital information 5 in the electronic storage and retrieval system 16. The processor 34 also includes a way to receive references or receive photographs of machine-readable codes 1 and extract the references from the received photographs of the machine-readable codes 1 and form URI storage locations. Computer system components for storing, communicating, retrieving, and processing digital images are known in the art and discussed in greater detail with respect to
Referring in more detail to the mobile communication system 80, as shown in
The data processing system 110 includes one or more data processing devices that implement the processes of the various embodiments of the present invention, including the example processes described herein. The phrases “data processing device” or “data processor” are intended to include any data processing device, such as a central processing unit (“CPU”), a desktop computer, a laptop computer, a mainframe computer, a personal digital assistant, a Blackberry™, a digital camera, a digital picture frame, cellular phone, a smart phone or any other device for processing data, managing data, communicating data, or handling data, whether implemented with electrical, magnetic, optical, biological components, or otherwise.
The data storage system 140 includes one or more processor-accessible memories configured to store information, including the information needed to execute the processes of the various embodiments of the present invention, including the example processes described herein. The data storage system 140 can be a distributed processor-accessible memory system including multiple processor-accessible memories communicatively connected to the data processing system 110 via a plurality of computers or devices. On the other hand, the data storage system 140 need not be a distributed processor-accessible memory system and, consequently, can include one or more processor-accessible memories located within a single data processor or device.
The phrase “processor-accessible memory” is intended to include any processor-accessible data storage device, whether volatile or nonvolatile, electronic, magnetic, optical, or otherwise, including but not limited to, registers, caches, floppy disks, hard disks, Compact Discs, DVDs, flash memories, ROMs, and RAMs.
The phrase “communicatively connected” is intended to include any type of connection, whether wired or wireless, between devices, data processors, or programs in which data is communicated. The phrase “communicatively connected” is intended to include a connection between devices or programs within a single data processor, a connection between devices or programs located in different data processors, and a connection between devices not located in data processors at all. In this regard, although the data storage system 140 is shown separately from the data processing system 110, one skilled in the art will appreciate that the data storage system 140 can be stored completely or partially within the data processing system 110. Further in this regard, although the peripheral system 120 and the user interface system 130 are shown separately from the data processing system 110, one skilled in the art will appreciate that one or both of such systems can be stored completely or partially within the data processing system 110.
The peripheral system 120 can include one or more devices configured to provide digital content records to the data processing system 110. For example, the peripheral system 120 can include digital still cameras, digital video cameras, cellular phones, smart phones, or other data processors. The data processing system 110, upon receipt of digital content records from a device in the peripheral system 120, can store such digital content records in the data storage system 140. The peripheral system 120 can be connected through a communication channel 18 (e.g. the internet or cell-phone networks) to other electronic computer systems 20.
The user interface system 130 can include a mouse, a keyboard, another computer, or any device or combination of devices from which data is input to the data processing system 110. In this regard, although the peripheral system 120 is shown separately from the user interface system 130, the peripheral system 120 can be included as part of the user interface system 130.
The user interface system 130 also can include a display device, a processor-accessible memory, or any device or combination of devices to which data is output by the data processing system 110. In this regard, if the user interface system 130 includes a processor-accessible memory, such memory can be part of the data storage system 140 even though the user interface system 130 and the data storage system 140 are shown separately in
As shown in
In the embodiment of
The source of content data files 24 can include any form of electronic or other circuit or system that can supply digital data to processor 34 from which processor 34 can derive images for use in forming a digital image file. In this regard, the content data files 24 can include, for example and without limitation, still images, image sequences, video graphics, and computer-generated images. Source of content data files 24 can optionally capture images to create content data for use in content data files by use of capture devices located at, or connected to, electronic computer system 20 or can obtain content data files 24 that have been prepared by or using other devices such as the remote electronic computer system 35. In the embodiment of
Sensors 38 are optional and can include light sensors, biometric sensors and other sensors known in the art that can be used to detect conditions in the environment of electronic computer system 20 and to convert this information into a form used by processor 34 of electronic computer system 20. Sensors 38 can also include one or more image sensors 39 that are adapted to capture still or video images. Sensors 38 can also include biometric or other sensors for measuring involuntary physical and mental reactions such sensors including, but not limited to, voice inflection, body movement, eye movement, pupil dilation, body temperature, and p4000 wave sensors.
Memory 40 can include conventional memory devices including solid-state, magnetic, optical or other data-storage devices. Memory 40 can be fixed within electronic computer system 20 or it can be removable. In the embodiment of
In the embodiment shown in
Communication system 54 can include for example, one or more optical, radio frequency or other transducer circuits or other systems that convert image and other data into a form that is conveyed to a remote device such as the remote memory system 52 or the remote display 56 using an optical signal, radio frequency signal or other form of signal. Communication system 54 can also be used to receive a digital image and other data from a host or server computer or network (not shown), the remote memory system 52 or the remote input 58. Communication system 54 provides processor 34 with information and instructions from signals received thereby. Typically, communication system 54 will be adapted to communicate with the remote memory system 52 by way of a communication network such as a conventional telecommunication or data transfer network such as the internet, a cellular, peer-to-peer or other form of mobile telecommunication network, a local communication network such as wired or wireless local area network or any other conventional wired or wireless data transfer system. In one useful embodiment, the electronic computer system 20 can provide web access services to remote electronic computer systems 35 that access the electronic computer system 20 through a web browser. Alternatively, the remote electronic computer system 35 can provide web services to electronic computer system 20 depending on the configurations of the systems.
User input system 26 provides a way for a user 72 (
In this regard user input system 26 can include any form of transducer or other device capable of receiving an input from the user 72 and converting this input into a form used by processor 34. For example, user input system 26 can include a touch screen input, a touch pad input, a 4-way switch, a 6-way switch, an 8-way switch, a stylus system, a trackball system, a joystick system, a voice recognition system, a gesture recognition system a keyboard, a remote control or other such systems. In the embodiment shown in
Remote input 58 can take a variety of forms, including, but not limited to, the remote keyboard 58a, remote mouse 58b or remote control handheld device 58c illustrated in
As is illustrated in
Output system 28 (
In certain embodiments, the source of content data files 24, user input system 26 and output system 28 can share components.
Processor 34 operates electronic computer system 20 based upon signals from user input system 26, sensors 38, memory 40 and communication system 54. Processor 34 can include, but is not limited to, a programmable digital computer, a programmable microprocessor, a programmable logic processor, a series of electronic circuits, a series of electronic circuits reduced to the form of an integrated circuit, or a series of discrete components.
In an embodiment of the present invention illustrated in
Any of the electronic computer system 20, remote electronic computer system 35, or the mobile communication system 80 can execute software programs on the internal processor 110, 34. The software programs can interact with the user 72 through a user interface (e.g. local display 66 and local input 68) or with remote computers to accomplish the programmed task. The software programs can execute algorithms to analyze data (e.g. digital image files) or to compute useful values. A computer software program product can include one or more non-transitory, tangible, computer readable storage medium, for example; magnetic storage media such as magnetic disk (such as a floppy disk) or magnetic tape; optical storage media such as optical disk, optical tape, or machine readable bar code; solid-state electronic storage devices such as random access memory (RAM), or read-only memory (ROM); or any other physical device or media employed to store a computer program having instructions for controlling one or more computers to practice the method according to the present invention.
The invention has been described in detail with particular reference to certain embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.
Reference is made to commonly-assigned, U.S. patent application Ser. No. ______, entitled “Managing Information using Machine-Readable Codes” filed concurrently herewith by Ronald S. Cok et al, the disclosure of which is incorporated herein.