A multitude of businesses, especially manufacturers, distributors, retailers, and other entities that deal in goods or items, often maintain a warehouse, shipping department, shop floor, or other area in which goods or items are received, manufactured, assembled, boxed, and/or shipped. Oftentimes, many different types of items that may be in various states of processing are located in close proximity as a result of efficient use of shop or warehouse floor space. To help identify each item, the entity owning the workspace may employ barcodes, QR codes, or other visual forms of identification to label the items, the shelves upon which the items are stored, the general area in which the items are located, and the like.
However, even with the use of such identification as a safeguard, difficulties may still arise. For example, an item may be mistakenly placed in a particular area of the workspace. A manager or other employee may subsequently happen upon the unfamiliar item and want to determine the origin or status of the item. In that case, the discovering employee may write down the identifying number of the item, walk to a computer workstation, enter the number as part of a database query, and read the resulting information stored in the database that is associated with the item. Many other examples exist in which the status, origin, or other information regarding an item is useful, and such examples occur with regularity within a single shop or warehouse floor.
The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
The description that follows includes illustrative systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. It will be evident, however, to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures, and techniques have not been shown in detail.
Examples of the mobile communication device 104 may include, but are not limited to, smart phones, personal digital assistants (PDAs), tablet computers, and laptop computers. As a result, the mobile communication device 104 may be capable of communicating wirelessly with other communication devices, including the ERP system 120. In at least some of the examples described below, the mobile communication device 104 may also include an image capture device or other component capable of capturing or receiving a graphical representation of an identifier 106 for an item 102, such as an item of inventory, an item of material for manufacturing purposes, and so on. In other examples, a user 103 of the mobile communication device 104 may enter the item identifier 106 directly into the mobile communication device 104, such as by way of a keypad, touchscreen, microphone, and the like.
As shown in
As depicted in
Thus, in at least some examples of the system 100, a user of the mobile communication device 104 may scan or otherwise capture or enter an identifier 106 associated with an item 102, such as a barcode, quick response (QR) code, serial number, or the like, and quickly retrieve information describing or pertaining to the item 102, possibly allowing the user to initiate some action, such as remedying a problem on a manufacturing floor, finding a proper location for the item 102, if misplaced, and so on. Further, such information is accessible to the user without requiring the user to return to a standard computer system located in an office that is remote to the manufacturing floor, thus saving additional time. Other aspects of the embodiments discussed herein may be ascertained from the following detailed description.
The user interface 202 may receive commands from the user, such as a search request for information describing a particular item or group of items associated with an item identifier (e.g., the item identifier 106 of
The image capture component 204 may be a camera, scanning element, or other component capable of capturing an image of a graphical representation of an item or object identifier, such as a bar code, a quick response (QR) code, a set of alphanumeric characters, and so on. In embodiments in which the image capture component 204 is not present, a user of the mobile communication device 200 may enter the item identifier manually via a touchscreen or keyboard, orally via a microphone, or via some other means provided by the user interface 202.
The network interface 206 may allow the mobile communication device 200 to communicate with other systems or devices, such as another mobile communication device and the ERP system 120 of
The configuration module 212 of the mobile application 210 may receive user input via the user interface 202 to configure one or more aspects of the mobile application 210. In one implementation, the configuration module 212 may receive a selection of a particular business item location 101, such as a specific warehouse or shop floor, or a particular section thereof, at which the mobile communication device 200 is located. By providing this selection, the user may limit or focus the scope of search requests transmitted from the mobile communication device 200 to those items which are present at the selected location. In another embodiment, the particular business item location 101 may be set based on a geographical location determined by a Global Positioning System (GPS) circuit or similar means located in the mobile communication device 200. The user may select other preferences for the mobile application 210 in other examples, such as display formatting preferences, data entry preferences, image capture preferences, and so on.
The item identifier capture module 214 may receive a graphical representation of an item identifier 106 from the image capture component 204 and determine the item identifier 106 being represented. In some implementations, the item identifier capture module 214 may include a sub-module for each type of graphical representation that may be analyzed. For example, the item identifier capture module 214 may include any of a barcode interpreter sub-module for barcode images, a QR interpreter sub-module for QR images, and an optical character recognition (OCR) sub-module for images of alphanumeric characters, to mention a few.
The item data access library 220 may provide utilities by which the mobile communications device 200 may format or generate a search request including an item identifier 106 to be transmitted via the network interface 206 to the ERP system 120. The item data access library 220 may also receive item information or data 108 describing one or more items associated with the item identifier 106 and interpret or format that data 108. The item data presentation module 216 may then format the item data 108 or information for display to the user via the user interface 202. In some examples, such as those illustrated in
The item data share module 218, based on receiving an input from the user via the user interface 202, may generate a communication message in which the item identifier 106, as well as other item data 108, is automatically pre-populated in the message. The user may then add additional information or text in the generated message before the user initiates transmission of the message. Examples of the message include an email message and a Short Message Service (SMS) text message. More specifically, in the case of the user requesting generation of an email message, the item data share module 218 may open an email client provided by the mobile communication device 200 and automatically populate at least one of the subject line and the text body with the item identifier 106, and possibly other item data 108. For a user requesting generation of a text message, the item data share module 218 may open an SMS client provided in the mobile communication device 200 and automatically populate the text message with the item identifier 106, and possibly other item data 108. In each type of message, a photo or image of the particular item involved may also be included.
The relay server 302 may direct incoming search requests from the mobile communication device 104 to the mobile access platform 304 described below. The relay server 302 may also direct other incoming communication traffic, such as traffic not sourced by a mobile communication device, to other servers or platforms provided by the ERP system 120. In some environments, the relay server 302 may be considered as a type of reverse proxy server capable of directing different types of communication traffic to the particular system or group of systems capable of handling and processing the traffic.
The mobile access platform 304 may provide or facilitate functionality associated with mobile communications. One example of this functionality is user “onboarding,” in which the mobile access platform 304 facilitates initial uses of the system 100 by a user, such as by providing step-by-step instructions for setting up a user identity or logon onto the system, or for performing basic functions provided by the system 100, such as the issuing of the search requests discussed above. The mobile access platform 304 may also perform any user or device authentication to allow the user to access the item data 108 or information stored in the ERP system 120. Other functions, such as push notifications for notifying the user of the mobile communication device 104 of special events or errors occurring in the ERP system 120, may also be provided by the mobile access platform 304.
The enterprise data access gateway 306 may convert or reformat incoming communications, such as the search requests noted above, into communications understandable by the underlying backend data access system 308. As a result, multiple ERP systems 120 may be accessed by a mobile communication device 104 presuming the presence of an enterprise data access gateway 306 associated with each ERP system 120 to be accessed. More specifically, each enterprise data access gateway 306 may translate the incoming communications associated with the protocol associated with the mobile access platform 304 to a particular data protocol employed in the backend data access system 308.
The backend data access system 308, upon receiving a search request as discussed above, may perform a search of one or more item databases 124 using the item identifier 106 noted in the search request. In one example, the functionality of the search may be controlled by other information in the search request (e.g., the identity of the particular business item location 101 in which the mobile communication device 104 is located), by the identity of the mobile application 210 being executed in the mobile communication device 104, and by other information or factors accessible by the backend data access system 308. The item databases 124 being accessed by the backend data access system 308 may include databases associated primarily with design engineering, production engineering, test engineering, marketing, sales, and other organizations serviced by the ERP system 120. The resulting item data 108 or information may take many forms, depending on the ERP system 120, including, but not limited to, database entries, text or word processing documents, spreadsheets, and so on.
The backend data access system 308, in response to the search request, may then return the appropriate data indicated by the search request to the mobile communication device 104 via the enterprise data access gateway 306, the mobile access platform 304, the relay server 302, and the communication network 114.
Item information (e.g., the item data 108 of
In some examples, the user may initiate the transmission of a message regarding the item data 108 to a remote communication device, such as another mobile communication device possessed by a coworker. To this end, the mobile communication device 104 may receive a command from the user to generate a message including at least a portion of the item data 108 (operation 410). In an example, the message may be an email message, a text message, or the like. In response to the command, the mobile communication device 104 may generate the message automatically (operation 412), such as by opening a messaging client provided in the mobile communication device 104. Also, the mobile communication device 104 may automatically populate the message with the item identifier 106 and/or at least a portion of the item data 108 (which may include the item identifier 106). The user may then add to the message before initiating the transmission of the message to the remote communication device.
While the operations 402 through 412 of the method 400 of
Continuing with the method 500, if the ERP system 120 discovers a material identifier during the search (operation 506), information associated with the material identifier is returned (operation 516) possibly along with information for any batch and/or order identifiers associated with the material identifier. For example, if the discovered material identifier is one of a batch of items, or is specified by, or is otherwise part of, a customer or production order associated with an order identifier, these batch and/or order identifiers, as well as information related to these identifiers, may be returned.
Similarly, if the item identifier 106 does not match any material identifiers in the consulted database 124 (operation 506), but does match at least one batch identifier (operation 508), information associated with the batch identifier is returned (operation 518), possibly along with information for any material and/or order identifiers associated with the batch identifier. Further, if the item identifier 106 does not match any batch identifiers (operation 508) but instead matches at least one order identifier (operation 510), information associated with the order identifier is returned (operation 520), possibly along with information for any material and/or batch identifiers associated with the order identifier. Otherwise, if the item identifier 106 does not match any material, batch, or order identifier, no search results may be returned (operation 512).
While the method 500 of
Continuing with the shop floor model,
Presuming any initial entry of user or other information has been completed, the mobile application 210 may present a search screen 601A through which a user may scan a graphical representation of a material, batch, or order identifier, such as one that may be displayed on an item, a shelf or container storing such an item, or another structure. In the screen 601A, a current capture image 604 is presented to the user, thus allowing the user to orient the mobile communication device 600 to allow an integrated camera, scanner, or other component to capture the graphical representation of the identifier. As described above, examples of the graphical representation may include a barcode, a QR code, a set of alphanumeric characters, and the like.
In some embodiments, the search screen 601A may also provide an identifier entry field 602 into which the user may manually enter the item identifier in question. Alternatively, the user may speak the item identifier into a microphone of the mobile communication device 600. In either case, the identifier entry field 602 may display each character of the item identifier as the character is entered or spoken into the mobile communication device 600. Further, once a graphical representation is scanned or otherwise optically captured, the mobile application 210 may display the resulting identifier in the identifier entry field 602. In some examples, the search screen 601A may provide a selectable area which the user may activate once the identifier of interest has been entered or scanned to initiate a search request involving the identifier. In other implementations, the determination of the identifier in the mobile communication device 600 may automatically initiate the search request.
The search screen 601A may also present an identifier history area 606 providing several (e.g., ten) of the most recent identifiers or numbers that were scanned or entered into the mobile communication device 600, thus allowing the user to retrieve information related to those identifiers again at a later time. In the specific example of
Presuming that an identifier for a material or item has been scanned or entered into the search screen 601A, a results screen 601B, as depicted in
In addition, user activation of any of the results 626, 628, 630 may result in presentation on the display of more detailed information returned by the ERP system 120 in response to the search request involving the entered or captured item identifier. In one example, at least some of this information may not be returned from the ERP system 120 to the mobile communication device 600 until the user activates the associated result 626, 628, 630. Examples of screens showing such detailed information are presented in
In one example, activation of the ‘X’ icon in the entered identifier field 620 may clear the identifier in the entered identifier field 620, thus yielding no results in the results area 624. Thereafter, a new item identifier may be entered in the entered identifier field 620 in some examples to produce new results. The results screen 601B may also incorporate a cancel button 622 that, when activated by the user, may return the user to the search screen 601A of
In response to the user activating the material number result 628 of
An example of the material results screen 601C may also provide more descriptive information regarding the items related to the material number. In the specific example of
Also included in the material results screen 601C may be a search button 632 that, when activated, may return the user to the search screen 601A. The material results screen 601C may also provide a share button 634 that, when activated, provides a share screen illustrated in
In one implementation, the material results screen 601C is presented if the selected material result 628 is not associated with a batch. If, instead, the selected material result 628 is associated with a batch, or if the user selects the batch result 626 of the results screen 601B, the mobile application 210 may present the batch-oriented material results overview screen 601D of
The batch-oriented material results overview screen 601D may also provide, in this example, user-selectable access to either the batch-oriented material results overview screen 601D of
In response to activation of the characteristics button 648 of the batch-oriented material results overview screen 601D, the mobile application 210 may display the batch-oriented material results characteristics screen 601E of
In both the batch-oriented material results overview screen 601D and the batch-oriented material results characteristics screen 601E, the search button 632 may facilitate a return to the search screen 601A, and the share button 634 may facilitate the generation of a message involving the batch-oriented material indicated.
Returning to the results screen 601B, a user selection of the order number result 630 may result in the mobile application 210 presenting to the user an order operations screen 601F depicted in
The order operations screen 601F may also provide an operations information area 660 describing one or more operations (e.g., “10 Pre-Assembly”, “20 Assembly”, “30 Final Assembly”, and “40 Quality Check”) which have been, or are to be, applied to the materials involved to complete the items that are the subject of the order. Additionally, in association with each operation, a scheduled date for the operation, the work-center (e.g., “WRKCTR01”) scheduled to perform the operation, and the current progress of the operation (e.g., “complete”, “in process”, and “awaiting”) may be presented to the user.
The user may select the particular information displayed for a specified order by way of an operations button 656 and a configuration button 658. Selection of the operations button 656 may cause presentation of the order operations screen 601F, including the operations information area 660, while selection of the configuration button 658 may cause the display of an order configuration screen 601G depicted in
As with at least some of the previous screens described above, the order operations screen 601F and the order configuration screen 601G may also include the search button 632 and the share button 634 discussed earlier. Presuming user activation of the share button 634 from any of the screens of
As shown in
Similarly, in response to activation of the SMS button 668 of
While the email and SMS clients described above are provided in the mobile communication device 200 external to the mobile application 210, these clients may be supplied within the mobile application 210 as additional modules in other examples.
As a result of at least some of the embodiments described above, a user may employ a mobile communication device (e.g., the mobile communication device 104 of
The machine is capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example of the processing system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 704 (e.g., random access memory), and static memory 706 (e.g., static random-access memory), which communicate with each other via bus 708. The processing system 700 may further include video display unit 710 (e.g., a plasma display, a liquid crystal display (LCD), or a cathode ray tube (CRT)). The processing system 700 also includes an alphanumeric input device 712 (e.g., a keyboard), a user interface (UI) navigation device 714 (e.g., a mouse), a disk drive unit 716, a signal generation device 718 (e.g., a speaker), and a network interface device 720.
The disk drive unit 716 (a type of non-volatile memory storage) includes a machine-readable medium 722 on which is stored one or more sets of data structures and instructions 724 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The data structures and instructions 724 may also reside, completely or at least partially, within the main memory 704, the static memory 706, and/or within the processor 702 during execution thereof by processing system 700, with the main memory 704 and processor 702 also constituting machine-readable, tangible media.
The data structures and instructions 724 may further be transmitted or received over a computer network 750 via network interface device 720 utilizing any one of a number of well-known transfer protocols (e.g., HyperText Transfer Protocol (HTTP)).
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., the processing system 700) or one or more hardware modules of a computer system (e.g., a processor 702 or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may include dedicated circuitry or logic that is permanently configured (for example, as a special-purpose processor, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also include programmable logic or circuitry (for example, as encompassed within a general-purpose processor 702 or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (for example, configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules include a general-purpose processor 702 that is configured using software, the general-purpose processor 702 may be configured as respective different hardware modules at different times. Software may accordingly configure a processor 702, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Modules can provide information to, and receive information from, other modules. For example, the described modules may be regarded as being communicatively coupled. Where multiples of such hardware modules exist contemporaneously, communications may be achieved through signal transmissions (such as, for example, over appropriate circuits and buses) that connect the modules. In embodiments in which multiple modules are configured or instantiated at different times, communications between such modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple modules have access. For example, one module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further module may then, at a later time, access the memory device to retrieve and process the stored output. Modules may also initiate communications with input or output devices, and can operate on a resource (for example, a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors 702 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 702 may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, include processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors 702 or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors 702, not only residing within a single machine but deployed across a number of machines. In some example embodiments, the processors 702 may be located in a single location (e.g., within a home environment, within an office environment, or as a server farm), while in other embodiments, the processors 702 may be distributed across a number of locations.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of claims provided below is not limited to the embodiments described herein. In general, the techniques described herein may be implemented with facilities consistent with any hardware system or hardware systems defined herein. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations, or structures described herein as a single instance. Finally, boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the claims. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3778911 | Woolman | Dec 1973 | A |
6973622 | Rappaport et al. | Dec 2005 | B1 |
7596508 | McGuffie et al. | Sep 2009 | B1 |
7756757 | Oakes, III | Jul 2010 | B1 |
8413882 | Nidamarthi et al. | Apr 2013 | B1 |
8452876 | Williams et al. | May 2013 | B1 |
20030212766 | Giles et al. | Nov 2003 | A1 |
20050160403 | Nivelet | Jul 2005 | A1 |
20060026558 | Beringer et al. | Feb 2006 | A1 |
20060136583 | Helmstetter et al. | Jun 2006 | A1 |
20060149407 | Markham et al. | Jul 2006 | A1 |
20060293779 | Nishri | Dec 2006 | A1 |
20070162485 | Haeberle et al. | Jul 2007 | A1 |
20070219645 | Thomas et al. | Sep 2007 | A1 |
20080256044 | Anderson et al. | Oct 2008 | A1 |
20080284573 | Stambaugh et al. | Nov 2008 | A1 |
20080306985 | Murray et al. | Dec 2008 | A1 |
20090013038 | Vogler et al. | Jan 2009 | A1 |
20090070173 | Walker | Mar 2009 | A1 |
20090144143 | Iyer | Jun 2009 | A1 |
20090182600 | Lungu | Jul 2009 | A1 |
20090210813 | Sawczak et al. | Aug 2009 | A1 |
20090307255 | Park | Dec 2009 | A1 |
20090319595 | Millmore et al. | Dec 2009 | A1 |
20100070907 | Harrod et al. | Mar 2010 | A1 |
20100249955 | Sitton | Sep 2010 | A1 |
20100274366 | Fata et al. | Oct 2010 | A1 |
20110006114 | Schueller et al. | Jan 2011 | A1 |
20110029897 | Russell et al. | Feb 2011 | A1 |
20110083094 | Laycock et al. | Apr 2011 | A1 |
20110087988 | Ray et al. | Apr 2011 | A1 |
20110113360 | Johnson et al. | May 2011 | A1 |
20110153279 | Zhang et al. | Jun 2011 | A1 |
20110214050 | Stambaugh | Sep 2011 | A1 |
20110276886 | Hall et al. | Nov 2011 | A1 |
20120037697 | Boone et al. | Feb 2012 | A1 |
20120260166 | Cipollo et al. | Oct 2012 | A1 |
20120260206 | Cipollo et al. | Oct 2012 | A1 |
20120320058 | Stephen et al. | Dec 2012 | A1 |
20130027561 | Lee et al. | Jan 2013 | A1 |
20130030875 | Lee et al. | Jan 2013 | A1 |
20130123963 | Cooper et al. | May 2013 | A1 |
20130123964 | Cooper et al. | May 2013 | A1 |
20130191878 | Mani et al. | Jul 2013 | A1 |
20130198691 | Akita | Aug 2013 | A1 |
20130226451 | O'neill et al. | Aug 2013 | A1 |
20130288719 | Alonzo | Oct 2013 | A1 |
20140049402 | Beaulieu et al. | Feb 2014 | A1 |
20140068445 | Kempf et al. | Mar 2014 | A1 |
Entry |
---|
“Reverse proxy”, Wikipedia®, [Online]. Retrieved from the Internet: <URL: http://en.wikipedia.org/w/index.php?title=Reverse—proxy&printable=yes>, (Acesssed Jul. 3, 2012), 2 pgs. |
“Sybase® Unwired PlatformMobile Enterprise Application Platform” Copyright © 2011 Sybase, Inc., (2011), 3 pgs. |
“U.S. Appl. No. 13/605,797, Examiner Interview Summary mailed Sep. 24, 2014”, 5 pgs. |
“U.S. Appl. No. 13/605,797, Response filed Oct. 10, 2014 to Non Final Office Action mailed Jul. 16, 2014”, 16 pgs. |
“U.S. Appl. No. 13/605,797, Non Final Office Action mailed Jul. 16, 2014”, 17 pgs. |
“U.S. Appl. No. 13/605,797, Final Office Action mailed Jan. 28, 2015”, 24 pgs. |
Number | Date | Country | |
---|---|---|---|
20140061294 A1 | Mar 2014 | US |