Managing and tracking electronic devices during collection and shipment
The device management platform addresses inefficiencies in tracking electronic devices by associating them with shipping containers and using AI for predictive analytics, enhancing accountability and reducing losses.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ECOATM LLC
- Filing Date
- 2025-12-16
- Publication Date
- 2026-06-25
Smart Images

Figure US2025059933_25062026_PF_FP_ABST
Abstract
Description
111220.8074. W000\184734666.1MANAGING AND TRACKING ELECTRONIC DEVICES DURING COLLECTION AND SHIPMENTCROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to Canadian Patent Application No. 3,272,576, titled “MANAGING AND TRACKING ELECTRONIC DEVICES DURING COLLECTION AND SHIPMENT” and filed May 1 , 2025, which claims priority to U.S. Provisional Patent Application No. 63 / 737,510, titled “MANAGING AND TRACKING ELECTRONIC DEVICES DURING COLLECTION AND SHIPMENT” and filed on December 20, 2024. The content of the foregoing applications are incorporated herein by reference in its entirety.TECHNICAL FIELD
[0002] The present disclosure is directed generally to methods and systems for managing and tracking electronic devices, e.g., used electronic devices, during collection and shipment.BACKGROUND
[0003] There are more mobile phones and other electronic devices (e.g., laptop computers, notebooks, tablets, PDAs, MP3 players, wearable smart devices, etc.) in use today than there are people on the planet. The rapid growth of electronic devices is due in part to the rapid pace at which they evolve. Because of the rapid pace of development, a relatively high percentage of electronic devices are replaced every year as consumers continually upgrade to obtain the latest features or a better operating plan. As a result, many outdated or broken mobile phones and other electronic devices are simply tossed into junk drawers or otherwise kept until a suitable disposal solution arises.
[0004] Unfortunately, mobile phones and similar devices typically contain substances that can be harmful to the environment, such as arsenic, lithium, cadmium, copper, lead, mercury, and zinc. If not properly disposed of, these toxic substances can seep into groundwater from decomposing landfills and contaminate the soil with potentially harmful consequences for humans and the environment.111220.8074. W000\184734666.1
[0005] Some retailers take in used mobile phones via trade-in or buyback programs. As an alternative to retailer trade-in or buyback programs, consumers can recycle and / or sell their used mobile phones using self-service kiosks located in malls, retail stores, or other publicly accessible areas. Such kiosks are operated by ecoATM, LLC, the assignee of the present application, and embodiments of these kiosks are described in, for example: U.S. Patent Nos. 8,463,946, 8,423,404, 8,239,262, 8,200,833, 8,195,81 1 , and 7,881 ,965, each of which is incorporated herein by reference in its entirety.BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 is a block diagram illustrating an example environment of a device management platform for managing and tracking electronic devices during collection and shipment, in accordance with one or more embodiments of the present technology.
[0007] Figure 2 is a screenshot illustrating an example authentication interface of the device management platform on a mobile device.
[0008] Figure 3 is a screenshot illustrating an example introduction screen of the device management platform on the mobile device.
[0009] Figure 4A is a screenshot illustrating an example package management interface of the device management platform on the mobile device.
[0010] Figure 4B is a screenshot illustrating an example information entry field of a shipping container displayed on the package management interface.
[0011] Figure 4G is a screenshot illustrating an operation of inputting multiple Quick Response (QR) codes in the information entry field displayed on the package management interface.
[0012] Figure 4D is a screenshot illustrating a populated information entry field displayed on the package management interface.
[0013] Figure 4E is a screenshot illustrating populated information entry fields of multiple shipping containers displayed on the package management interface.
[0014] Figure 5A is a screenshot illustrating an example audit report generation interface of the device management platform for generating an audit report on the mobile device.111220.8074. W000\184734666.1
[0015] Figure 5B is a screenshot illustrating the audit report generation interface populated with a tracking number.
[0016] Figure 50 is a screenshot illustrating an example audit report summary displayed on the audit report generation interface for the tracking number.
[0017] Figure 5D is a screenshot illustrating the audit report generation interface displaying information for a specific date indicated by the audit report summary.
[0018] Figure 6 is a flow diagram illustrating an example process for managing and tracking electronic devices during collection and shipment using the device management platform.
[0019] Figure 7 is a block diagram illustrating an example Artificial Intelligence (Al) system configured in accordance with one or more embodiments of the present technology.
[0020] Figure 8 is a block diagram illustrating an example computer system configured in accordance with one or more embodiments of the present technology.
[0021] The technologies described herein will become more apparent to those of ordinary skill in the art from reading the Detailed Description in conjunction with the drawings. Embodiments describing aspects of the present technology are illustrated by way of example, and the same references can indicate the same or similar elements. While the drawings depict various embodiments for the purpose of illustration, those skilled in the art will recognize that alternative embodiments can be employed without departing from the principles of the present technologies. Accordingly, while specific embodiments are shown in the drawings, the technology is amenable to various modifications.DETAILED DESCRIPTION
[0022] Used electronic devices, particularly mobile phones, are often collected from various sources such as self-service recycling kiosks, retailers, carriers, and trade- in programs for resale. Used electronic devices (e.g., mobile phones) received by kiosks for recycling are typically transported from the kiosk to a processing facility for refurbishment and / or repairs and / or to perform further grading processes to assess the condition and resale value of each device before reselling the device and shipping it to buyers (e.g., wholesalers, end users, etc.). However, in some instances there may belittle or no tracking or accounting of the electronic devices from the point of collection at the kiosk to the processing facility. Conventional approaches to transporting electronic devices may include emptying the kiosks of the electronic devices, placing the electronic devices in shipping containers, and scanning machine-readable codes adhered to the shipping containers. The scan can retrieve information such as the date and time of shipment, the origin and destination of the containers, and / or a count of the devices within each container.
[0023] One issue that may arise during shipment of devices is the potential for loss, particularly given the large quantities and varying values of individual devices. Conventional approaches to shipping may also be prone to inaccurate accounting of devices from the point of collection at kiosks to the processing facilities. As a result, it may be difficult to determine if specific phones are missing or if they are merely delayed in transit. Insufficient tracking can result in devices being lost in transit without a method to identify or locate the lost devices, resulting in potential financial losses. Additionally, the inability to efficiently track individual devices can make it difficult to determine if specific individuals or points in the logistics chain are responsible for any shrinkage that may occur. Moreover, conventional collection and / or shipping approaches can lead to broader organizational issues, as it becomes difficult to pinpoint where losses are occurring and who or what may be responsible.
[0024] The present disclosure is generally directed to methods, apparatuses, and associated systems for managing and tracking mobile phones and / or other electronic devices from a point of pick up (e.g., a recycling kiosk, retail outlet, etc.) to a destination (e.g., a pre-resale processing facility). In some implementations, a device management platform (e.g., a software application operating on, e.g., a mobile phone or other suitable hand-held device) receives identification information (e.g., a Quick Response (QR) code, a Radio Frequency Identification, and / or some other identifier / machine-readable code) associated with a consumer electronic device in a first inventory list of electronic devices collected at a first geographical location (e.g., a recycling kiosk). The device management platform can associate (e.g., map, link) the identification information with a shipping container (e.g., a shipping box) by, for example, scanning machine-readable codes (e.g., barcodes) adhered to the shipping container. The device management platform can track the location of the shipping container while the shipping container is transported from the first geographical location to a second geographical location (e.g.,111220.8074. W000\184734666.1 a processing facility). Upon arrival at the second geographical location, the device management platform can generate a second inventory list of electronic devices in the shipping container, and using the identification information associated with the consumer electronic device, determine whether the consumer electronic device is in the second inventory list of electronic devices.
[0025] Furthermore, implementations of the device management platform described herein can provide a graphical user interface (GUI) for managing and tracking electronic devices. In some implementations, the GUI can display package details, enable scanning of device codes (e.g., barcodes, QR codes, and / or other scannable or otherwise machine-readable codes), and enable the input of shipping information. The GUI can be accessible through an electronic device (e.g., a mobile device), enabling users to manage devices and shipments from different locations. In some implementations, the device management platform can generate audit reports using the tracked information and present summaries of scanned devices, shipping box details, and other audit information on the GUI.
[0026] Specific details are set forth in the following disclosure in order to provide a thorough understanding of various embodiments of the present technology. It will be apparent to one skilled in the art, however, that embodiments of the present technology can be practiced without some of these specific details.
[0027] The phrases “in some embodiments,” “in several embodiments,” “according to some embodiments,” “in the embodiments shown,” “in other embodiments,” and the like generally mean the specific feature, structure, or characteristic following the phrase is included in at least one embodiment of the present technology and can be included in more than one embodiment. In addition, such phrases do not necessarily refer to the same embodiments or different embodiments.Example Implementations of the Device Management Platform
[0028] In some implementations, the device management platform can be adapted for use with kiosks where individuals sell or otherwise drop off electronic devices for recycling and / or resale. In such cases, the device management platform can be used by service personnel when they empty the kiosks by tracking the collection of devices, associating the devices with shipping containers, and monitoring the transfer of the shipping containers to processing facilities.111220.8074. W000\184734666.1
[0029] Figure 1 is a block diagram illustrating an example environment 100 of a device management platform for managing and tracking electronic devices during collection and transport in accordance with embodiments of the present technology. The environment 100 includes a monitored device 102, a device identifier 104, a shipping container 106, a shipping container identifier 108, an origin audit 1 10, a shipping vessel 112, a destination audit 1 14, and / or an audit report generator 116. The device management platform is implemented using components of the example computer system 800 illustrated and described in more detail below with reference to Figure 8. In other embodiments, the environment 100 can include different, fewer, and / or additional components or can be connected in different ways than those illustrated in Figure 1 .
[0030] The monitored device 102 can refer to any consumer electronic device (e.g., a mobile phone, tablet, laptop, watch, and so forth) that is collected from an origin location (e.g., a kiosk) and transported to a destination location (e.g., a processing facility). Each monitored device 102 (or group of monitored devices 102) can be assigned a unique device identifier 104, which can be in the form of a machine-readable code, (e.g., a Quick Response (QR) code (i.e., a matrix barcode), a visual code, a nonvisual code, a Radio Frequency Identification (RFID) tag, a barcode (i.e., optical, a machine-readable representation of data), an alphanumeric code, a Near Field Communication (NFC) tag and so forth). The device identifier 104 enables each monitored device 102 to be individually tracked throughout the transportation from the origin location to the destination location. In some implementations, the device management platform can be communicatively linked (e.g., via an application programming interface) to a database or server that stores information about the corresponding monitored device 102 with the device identifier 104, such as the model, condition, ownership history, and so forth of the device 102. In some embodiments, the device identifier 104 is scanned by a user during collection of the monitored device(s) 102 from the origin location, as explained in more detail below.
[0031] Once collected, the monitored devices 102 can be placed into a shipping container 106. The shipping container 106 can be a physical container used to store and / or transport electronic devices from the origin location to the destination location. In some implementations, the shipping container 106 can be a shipping box, a hardshell case, and other suitable shipping containers known in the art. Each shipping111220.8074. W000\184734666.1 container 106 is assigned a shipping container identifier 108 to enable the device management platform to track the shipping container 106. The shipping container identifier 108 can be a QR code, a barcode, an RFID tag, and so forth attached to the container 106, printed on the container, or otherwise associated with the container 106. Before the shipping container 106 is transported, an origin audit 110 is conducted at the point of collection. An audit can include a process of verifying and documenting the contents and condition of a shipment at a particular geographical location. The origin audit 1 10 can be performed at the origin location by an electronic device (e.g., a management device 202 as described below with reference to Figure 2) operated by a user to verify the contents and / or condition of the shipment (e.g., documenting which devices are in which shipping containers). For example, the origin audit 1 10 can be performed by manually scanning the device identifiers 104 and shipping container identifiers 108, as well as recording information such as the date and time of collection.
[0032] One or more shipping containers 106 are transported by a shipping vehicle or vessel 1 12, which can be a truck, aircraft, ship, or any other mode of transportation used to move the containers from one geographical location to another (e.g., from the origin location to the destination location). In some embodiments, one or more shipping containers 106 can be loaded in a transport unit, which can be transported by a shipping vehicle or vessel 112. The transport unit can be assigned a transport unit identifier to enable the device management platform to track the transport unit with its shipping containers and the associated monitored devices. The transport unit identifier can be a QR code, a barcode, an RFID tag, and so forth attached to the transport unit, printed on the container, or otherwise associated with the unit. Before the transport unit is transported, another origin audit can be conducted at the point of loading of the transport unit to verify and document the contents and condition of a shipment at a particular geographical location.
[0033] The shipping vessel 112 is any mode of transportation used to move the shipping containers 106 from the origin location to the destination location. Upon arrival at the destination, a destination audit 114 can be conducted to verify the contents and / or condition of the shipment. For example, the destination audit 1 14 can include rescanning the device identifiers 104 and / or shipping container identifiers 108, as well as recording information such as the date and time of arrival. In some implementations, there are multiple destination locations. For example, the shipping provider can111220.8074. W000\184734666.1 transport monitored devices 102 to intermediate destination locations before arriving at the final destination. A destination audit 114 can be conducted at the intermediate destination locations and / or the final destination. In some embodiments, scanning the device identifiers 104 and / or the shipping container identifiers 108 and / or transport unit identifiers can be performed by a handheld management device 202. In other embodiments, scanning the identifiers is performed by a machine other than a handheld device (e.g., an automated scanner) that may be mounted or otherwise integrated with another piece of equipment at the intermediate or final destination.
[0034] The audit report generator 1 16 can generate audit reports on the shipment(s) and / or update the data warehouse with updated information about monitored devices 102 (e.g., quantifying the number of lost devices, updating the inventory list to remove lost devices). An audit report can refer to an artifact (e.g., text document, image, video, audio, and so forth) that indicates the status of the monitored devices 102. The audit report can be generated and / or displayed on an electronic device other than monitored devices 102 (e.g., a mobile phone or other handheld electronic device conducting the destination audit 114), such as the management device 202 described below in reference to Figure 2. The audit report generator 116 can compare data from the origin audit 1 10 and the destination audit 114 to identify discrepancies, such as missing and / or damaged monitored devices 102. For example, if a device identifier 104 scanned at the origin audit 1 10 is not identified in the destination audit 1 14, the audit report generator 116 can flag the corresponding monitored device 102 as a potential loss. Thus, in some embodiments the audit report generator 1 16 is able to quantify the number and / or specific identity of the monitored devices 102 that were successfully transported. Methods of generating audit reports are described in further detail below with reference to Figures 5A-6.
[0035] Figure 2 is a screenshot illustrating an example authentication interface 200 of the device management platform on a management device 202 (e.g., a mobile device, an electronic device). In the illustrated embodiment, the authentication interface 200 includes user identifier fields (e.g., username field 204, password field 206). The authentication interface 200 communicates with a backend server to validate credentials input into the user identifier fields against stored user data to ensure that only authorized users can access the platform. Implementations of the authentication111220.8074. W000\184734666.1 interface 200 can include different and / or additional components or can be connected in different ways.
[0036] The management device 202 can be an electronic device (e.g., a mobile phone, tablet, laptop, and so forth) that is used to track the collection and / or transportation of one or more monitored devices 102 (e.g., an electronic device from a kiosk). In some implementations, the management device 202 can be equipped with or communicatively linked to hardware elements such as a camera, barcode scanner, etc. to enable the management device 202 to scan and / or read machine-readable codes adhered to, or otherwise associated with, the devices (e.g., the monitored device 102) and / or shipping containers (e.g., the shipping container 106) to identify the devices and / or the shipping containers, respectively. In addition, the management device 102 can be equipped with or communicatively linked to hardware elements such as an RFID reader, NFC reader, etc. to enable the management device 202 to wirelessly obtain information from the devices (e.g., the monitored device 102) and / or shipping containers (e.g., the shipping container 106) to identify the devices and / or the shipping containers, respectively. For example, the device management platform can use a camera of the management device 202 to capture and decode barcodes, QR codes, etc. In another example, a handheld barcode scanner can be connected to the mobile device via, e.g., Bluetooth or a universal serial bus (USB) to enable users to scan items without relying on a built-in camera of the management device 202.
[0037] The username field 204 is a designated input area in which users can enter a corresponding unique username to access the device management platform. In some implementations, the username field 204 can support various input formats, such as email addresses, alphanumeric usernames, phone numbers, and so forth. The password field 206 is an input area where users enter a corresponding password to the username to authenticate their identity. The password field 206 can mask the input to prevent unauthorized viewing of the password. In some implementations, the password field 206 can support multi-factor authentication (MFA) by integrating with external authentication services, such as SMS-based codes or authentication applications.
[0038] Figure 3 is a screenshot illustrating an example introduction screen 300 of the device management platform. The introduction screen 300 includes a pickup initiation indicator 302 and an audit report generation indicator 304. Implementations of111220.8074. W000\184734666.1 the introduction screen 300 can include different and / or additional components or can be connected in different ways.
[0039] The pickup initiation indicator 302 is a user interface element that allows users to initiate actions (e.g., scan a device) related to the management of packages within the device management platform. The pickup initiation indicator 302 can be a button, icon, menu option, and so forth that, when selected, provides access to various package management functionalities such as adding new packages, updating package information, or tracking the status of existing packages. The indicator can trigger automated workflows that send notifications, update inventory records, and / or log user actions for audit purposes.
[0040] The audit report generation indicator 304 is another user interface element that enables users to generate audit reports within the device management platform. The audit report generation indicator 304 can be a button, icon, menu option and so forth, that, when selected, generate reports containing information such as package tracking history, device counts within shipping containers, and / or any discrepancies identified during audits. In some implementations, the audit report generation indicator 304 can be triggered at regularly scheduled intervals.
[0041] Figure 4A is a screenshot illustrating an example package management interface 400 of the device management platform on the management device 202. In Figure 4A, the package management interface 400 includes a container addition indicator 402. Implementations of the package management interface 400 can include different and / or additional components or can be connected in different ways. The container addition indicator 402 is a user interface element that allows users to add new shipping containers (e.g., the shipping container 106) to the device management platform. The container addition indicator 402 can be a button, icon, menu option, and so forth, that, when selected, opens a form or dialog for entering details about the new container.
[0042] Figure 4B is a screenshot illustrating an example information entry field of a shipping container displayed on the package management interface 400. In Figure 4B, the package management interface 400 includes a barcode scan field 404, a device addition field 406, a shipping provider selector 408, and a tracking number field 410.111220.8074. W000\184734666.1
[0043] The barcode scan field 404 displays the number of barcodes scanned. In some embodiments, the barcode scan field 404 receives a manual input by a user. The device management platform can include, in some embodiments, an interactive button that triggers a camera of the mobile device or an external barcode scanner to scan the barcode of a shipping container to automatically populate details of the shipping container in the barcode scan field 404. In some implementations, the barcode scan field 404 can support various barcode formats, such as QR codes. Additionally or alternatively, users can manually enter or select the devices to be included in the shipping container (e.g., for devices without a barcode) into the device addition field 406. The device addition field 406 can provide a list of available devices and / or include a search function to filter devices stored in the device management platform.
[0044] The package management interface 400 can include a shipping provider selector 408, which is a dropdown menu or selection field where users can choose the shipping provider responsible for transporting the container. For example, in Figure 4B, the shipping provider selector 408 is set as “Shipping Provider 1 .” The shipping provider selector 408 can include a pre-configured list of available shipping providers, which can be dynamically updated. For example, the shipping provider selector 408 can be integrated with external APIs to retrieve real-time information about shipping rates, delivery times, and service availability. The tracking number field 410 is an input area where users can enter the tracking number assigned to the shipping container by the shipping provider selected by the shipping provider selector 408. In some implementations, the tracking number field 410 can include validation checks to ensure the entered tracking number is in the correct format.
[0045] Figure 4G is a screenshot for inputting multiple QR codes in an information entry field displayed on the package management interface 400. In Figure 4C, the package management interface 400 includes a barcode display 412 and a barcode selection area 414. The barcode display 412 displays scanned barcodes (e.g., the device identifier 104) for user verification. Each barcode entry in the barcode display 412 can include details such as the device name, serial number, device status, and so forth. The barcode selection area 414 is an input area where users can select one or more barcodes to be included in the shipping container. For example, a camera of the management device 202 can capture images or video of the QR codes. The barcode selection area 414 can be integrated with a camera of the management device 202 to111220.8074. W000\184734666.1 capture multiple QR codes at once. Various interfaces for capturing the barcodes are included in the Appendix.
[0046] Figure 4D is a screenshot for displaying populated information of a shipping container on the package management interface 400 of the device management platform. The populated information can include information of the shipping container, such as its barcode, tracking number, shipping provider, the list of devices included in the container, and so forth. For example, in the illustrated example, the barcode scan field 404 has thirteen devices inputted, and has a tracking number “777490717861 ” input into the tracking number field 410.
[0047] Figure 4E is a screenshot for displaying populated information entry fields of multiple shipping containers on the package management interface 400. In the illustrated example, the package management interface 400 includes shipping container information 416. The shipping container information 416 is a display area that shows information of the shipping container. The information can include a barcode, tracking number, shipping provider, and / or the list of devices included in the container. In some implementations, the shipping container information 416 includes previously added shipping containers. For example, the shipping box associated with the tracking number “777490717861 ” is labeled as “Shipping Box: 1 ,” and specifies the shipping provider and number of devices. Various interfaces for indicating the successful transmittal of the shipping information to the device management platform are included in the Appendix.
[0048] Figure 5A is a screenshot illustrating an example audit report generation interface 500 of the device management platform for generating an audit report on the mobile device. The audit report generation interface 500 can include a package information input field 502 and an audit report generation indicator 504. The package information input field 502 is an input area where users can enter information about the shipping container to generate an audit report. The information can include, for example, shipping container identification numbers such as a tracking number. In other embodiments, implementations of the audit report generation interface 500 can include different and / or additional components or can be connected in other ways.
[0049] The audit report generation indicator 504 is a user interface element that enables users to initiate the generation of an audit report. The audit report generation111220.8074. W000\184734666.1 indicator 504 can be a button, icon, menu option, and so forth, that, when selected, triggers the device management platform to compile and display the audit report based on the entered package information. When the audit report generation indicator 504 is clicked or otherwise selected by the user, the device management platform can be triggered to compile the audit report. For example, the device management platform can pass the entered package information as parameters to a server and trigger the server to query the database containing the inventory information (e.g., the origin audit 110, the destination audit 1 14), compile the audit report, and return the report data to the audit report generation interface 500.
[0050] Figure 5B is a screenshot for populating the audit report generation interface 500 with a tracking number. When a user enters a tracking number, the device management platform can query an API of shipping provider to retrieve data associated with the shipping container. The retrieved data can be used to populate the audit report generation interface 500, providing users with a pre-filled form that includes audit information about the shipping container. For example, once “Shipping Box: 1 ” has arrived at either an intermediate destination and / or the final destination, the corresponding tracking number “777490717861 ” can be input in the device management platform to generate an audit report for devices associated with “Shipping Box: 1 ” (i.e., devices within the shipping box captured by the origin audit at the origin location).
[0051] Figure 5C is a screenshot illustrating an example audit report summary displayed on the audit report generation interface 500 for the input tracking number. In Figure 5C, the audit report generation interface 500 includes package identification 506, device information 508 (e.g., the first device information 508a, the second device information 508b, the third device information 508c, and so forth), and the kiosk identifier 510. Implementations of the audit report generation interface 500 can include different and / or additional components or can be connected in different ways.
[0052] The package identification 506 is a display area that shows the unique identifier of the shipping container being audited. The package identification 506 can include information such as a barcode of the container, serial number, RFID tag, and so forth. The device information 508 is a display area that shows details about the devices included in the shipping container at each audit. The device information 508111220.8074. W000\184734666.1 can include device names, device serial numbers, device statuses, and so forth. For example, first device information 508a, second device information 508b, and third device information 508c can represent individual audits of the same shipping container. The kiosk identifier 510 is a display area that shows a unique identifier of the kiosk associated with the shipping container. The kiosk identifier 510 can include information such as a location, identification number, and so forth of the kiosk. In some implementations, the kiosk identifier 510 can be linked to a database providing additional details about the kiosk, such as its operational status, maintenance history, and / or assigned personnel.
[0053] Figure 5D is a screenshot illustrating the audit report generation interface 500 displaying information for a specific date indicated by the audit report summary. When a date is selected, the device management platform can retrieve the audit report data for the selected date. The retrieved data can be displayed in the audit report generation interface 500.Example Methods of Operation of the Device Management Platform
[0054] Figure 6 is a flow diagram illustrating an example process 600 for managing and tracking electronic devices during collection and shipment using embodiments of the device management platform. The device management platform can be implemented on a terminal device (e.g., the management device 202 in Figure 2), a server, and / or on a telecommunications network core, and can comprise hardware and / or software components that execute various operations described in detail herein. Implementations of the device management platform can include different and / or additional operations or can perform the operations in different orders.
[0055] In operation 602, the device management platform receives identification information (e.g., the device identifier 104 in Figure 1 ) of a consumer electronic device (e.g., the monitored device 102 in Figure 1 ) in a first inventory list of electronic devices (e.g., as part of the origin audit 1 10 in Figure 1 ). The device management platform can receive the identification information via the management device 202 (e.g., a manual input from a user, output from an associated barcode scanner, output from a QR code scanner, and so forth). In some embodiments, the device management platform can cause the management device 202 to scan, for example, a code on a label adhered to the electronic device or otherwise associated with the electronic device to capture the111220.8074. W000\184734666.1 identification information of the electronic device. The identification information can include a serial number, model number, and / or other unique identifiers of the device. The device management platform can include and / or be operably associated with a data warehouse that stores the identification information in a database. In some implementations, the device management platform can validate the received identification information against existing entries within the data warehouse to prevent duplicate entries.
[0056] In operation 604, the device management platform associates the identification information with a shipping container (via, e.g., the shipping container identifier 108 in Figure 1 ). For example, the device management platform can provide an interface (e.g., an information entry field on the package management interface 400 in Figure 4B) for users (e.g., service personnel) to select or enter details of the shipping container, such as by scanning its barcode, tracking number, RFID tag, and so forth. The device management platform can create an association between identification information of the electronic device and the shipping container details in the database. For example, the association can be represented as a relational link or a nested document.
[0057] In operation 606, the device management platform tracks the location of the shipping container while the shipping container is transported (e.g., via the shipping vessel 112 in Figure 1 ) from a first geographical location (e.g., an origin location such as a kiosk, retail outlet, etc.) to a second geographical location (e.g., an intermediate destination location, a final destination location, etc., such as a processing facility for refurbishment, repair, resale, etc.). The device management platform can periodically send requests to tracking device(s) (e.g., a mobile phone, a computer, and so forth), web interfaces associated with tracking information of the shipping provider, and / or API(s) associated with the shipping provider of the shipping container to retrieve current tracking information such as location, estimated arrival times, etc. The retrieved tracking information can be stored in the database and / or displayed on a map interface within the platform (via, e.g., the management device 202) to enable users to monitor progress of the container. In some implementations, the device management platform can trigger notifications or alerts to users when the container reaches specific milestones (e.g., an intermediate processing facility) or encounters delays.111220.8074. W000\184734666.1
[0058] Responsive to the shipping container arriving at the second geographical location, in operation 608 the device management platform generates a second inventory list of electronic devices (e.g., as part of the destination audit 114 in Figure 1 ). For example, the device management platform can prompt users to scan or enter the identification information of the electronic devices upon arrival of the container at the second location using a mobile device (e.g., the management device 202). The device management platform can create a new inventory record (i.e. , the second inventory list) in the database that captures the details of devices received at the second geographical location. The new inventory record can include identification information, the arrival date and time, discrepancies or damages noted during the inspection, and so forth of the device. In some implementations, the device management platform can be operably connected to and / or otherwise operably associated with one or more automated scanning systems to automatically capture or otherwise obtain the identification information of all devices within the shipping container and update the inventory record, e.g., in real time.
[0059] Using the identification information of the consumer electronic device, in operation 610 the device management platform, determines whether the consumer electronic device in the first inventory list is included in the second inventory list of electronic devices (e.g., via the audit report generator 1 16). For example, the device management platform can perform a database query to compare the identification information of devices in the first inventory list with those in the second inventory list using SQL queries or other database operations. The device management platform can generate a report indicating any discrepancies, such as missing or extra devices. In some implementations, the device management platform can enable users to manually reconcile discrepancies, such as marking devices as found or lost, and / or update the inventory records accordingly.
[0060] In some implementations, the device management platform can use one or more artificial intelligence (Al) models to predict future trends and outcomes, such as potential device loss, based on the generated audit report. For example, the Al models can be trained to recognize patterns and correlations that indicate potential risks or future events, such as device loss or damage. The device management platform can use historical data, such as information about the devices, shipping routes, intermediate processing facilities, handling times, environmental conditions, and so forth, and identify111220.8074. W000\184734666.1 patterns and correlations that indicate a higher likelihood of device loss. For example, the Al models can identify high-risk routes based on past incidents of device loss or damage, identify facilities with higher rates of issues, and / or recognize patterns such as increased loss rates during certain times of the year or under specific conditions. The Al models of the device management platform enable users to take proactive measures, such as rerouting shipments, improving handling procedures, or increasing monitoring during high-risk periods to reduce the likelihood of device loss.Embodiments of Al Systems of the Device Management Platform
[0061] Figure 7 is a high-level block diagram illustrating an example Al system configured in accordance with one or more embodiments of the present technology. The Al system 700 is implemented using components of the example computer system 800 illustrated and described in more detail with reference to Figure 8. Likewise, embodiments of the Al system 700 include different and / or additional components or be connected in different ways.
[0062] In some embodiments, as shown in Figure 7, the Al system 700 includes a set of layers, which conceptually organize elements within an example network topology for the Al system’s architecture to implement a particular Al model 730. Generally, an Al model 730 is a computer-executable program implemented by the Al system 700 that analyses data to make predictions. Information passes through each layer of the Al system 700 to generate outputs for the Al model 730. The layers include a data layer 702, a structure layer 704, a model layer 706, and an application layer 708. The algorithm 716 of the structure layer 704 and the model structure 720 and model parameters 722 of the model layer 706 together form the example Al model 730. The optimizer 726, loss function engine 724, and regularization engine 728 work to refine and optimize the Al model 730, and the data layer 702 provides resources and support for the application of the Al model 730 by the application layer 708.
[0063] The data layer 702 acts as the foundation of the Al system 700 by preparing data for the Al model 730. As shown, in some embodiments, the data layer 702 includes two sub-layers: a hardware platform 710 and one or more software libraries 712. The hardware platform 710 is designed to perform operations for the Al model 730 and includes computing resources for storage, memory, logic, and networking, such as the resources described in relation to Figures 1 -3D. The hardware platform 710 processes111220.8074. W000\184734666.1 amounts of data using one or more servers. The servers can perform backend operations such as matrix calculations, parallel calculations, machine learning (ML) training, and the like. Examples of servers used by the hardware platform 710 include central processing units (CPUs) and graphics processing units (GPUs). CPUs are electronic circuitry designed to execute instructions for computer programs, such as arithmetic, logic, controlling, and input / output (I / O) operations, and can be implemented on integrated circuit (IC) microprocessors. GPUs are electric circuits that were originally designed for graphics manipulation and output but may be used for Al applications due to vast computing and memory resources. GPUs use a parallel structure that generally makes processing more efficient than that of CPUs. In some instances, the hardware platform 710 includes Infrastructure as a Service (laaS) resources, which are computing resources, (e.g., servers, memory, etc.) offered by a cloud services provider. In some embodiments, the hardware platform 710 includes computer memory for storing data about the Al model 730, application of the Al model 730, and training data for the Al model 730. In some embodiments, the computer memory is a form of random-access memory (RAM), such as dynamic RAM, static RAM, and non-volatile RAM.
[0064] In some embodiments, the software libraries 712 may be suites of data and programming code, including executables, used to control the computing resources of the hardware platform 710. In some embodiments, the programming code includes low- level primitives (e.g., fundamental language elements) that form the foundation of one or more low-level programming languages, such that servers of the hardware platform 710 can use the low-level primitives to carry out specific operations. The low-level programming languages do not require much, if any, abstraction from a computing resource’s instruction set architecture, allowing them to run quickly with a small memory footprint. Examples of software libraries 712 that can be included in the Al system 700 include Intel Math Kernel Library, Nvidia cuDNN, Eigen, and Open BLAS.
[0065] In some embodiments, the structure layer 704 includes an ML framework 714 and an algorithm 716. The ML framework 714 can be thought of as an interface, library, or tool that allows users to build and deploy the Al model 780. In some embodiments, the ML framework 714 includes an open-source library, an API, a gradient-boosting library, an ensemble method, and / or a deep learning toolkit that works with the layers of the Al system facilitate development of the Al model 730. For example, the ML framework 714 distributes processes for the application or training of the Al111220.8074. W000\184734666.1 model 730 across multiple resources in the hardware platform 710. In some embodiments, the ML framework 714 also includes a set of pre-built components that have the functionality to implement and train the Al model 730 and allow users to use pre-built functions and classes to construct and train the Al model 730. Thus, the ML framework 714 can be used to facilitate data engineering, development, hyperparameter tuning, testing, and training for the Al model 730. Examples of ML frameworks 714 that can be used in the Al system 700 include TensorFlow, PyTorch, Scikit-Learn, Keras, Caffe, LightGBM, Random Forest, and Amazon Web Services.
[0066] In some embodiments, the algorithm 716 is an organized set of computerexecutable operations used to generate output data from a set of input data and can be described using pseudocode. In some embodiments, the algorithm 716 includes complex code that allows the computing resources to learn from new input data and create new / modified outputs based on what was learned. In some embodiments, the algorithm 716 builds the Al model 730 through being trained while running computing resources of the hardware platform 710. The training allows the algorithm 716 to make predictions or decisions without being explicitly programmed to do so. Once trained, the algorithm 716 runs at the computing resources as part of the Al model 730 to make predictions or decisions, improve computing resource performance, or perform tasks. The algorithm 716 is trained using supervised learning, unsupervised learning, semisupervised learning, and / or reinforcement learning. The application layer 708 describes how the Al system 700 is used to solve problems or perform tasks.
[0067] As an example, to train an Al model 730 that is intended to model human language (also referred to as a language model), the data layer 702 is a collection of text documents, referred to as a text corpus (or simply referred to as a corpus). The corpus represents a language domain (e.g., a single language), a subject domain (e.g., scientific papers), and / or encompasses another domain or domains, be they larger or smaller than a single language or subject domain. For example, a relatively large, multilingual, and non-subject-specific corpus is created by extracting text from online web pages and / or publicly available social media posts. In some embodiments, data layer 702 is annotated with ground truth labels (e.g., each data entry in the training dataset is paired with a label), or unlabeled.111220.8074. W000\184734666.1
[0068] Training an Al model 730 generally involves inputting into an Al model 730 (e.g., an untrained ML model) data layer 702 to be processed by the Al model 730, processing the data layer 702 using the Al model 730, collecting the output generated by the Al model 730 (e.g., based on the inputted training data), and comparing the output to a desired set of target values. If the data layer 702 is labeled, the desired target values, in some embodiments, are, e.g., the ground truth labels of the data layer 702. If the data layer 702 is unlabeled, the desired target value is, in some embodiments, a reconstructed (or otherwise processed) version of the corresponding Al model 730 input (e.g., in the case of an autoencoder), or is a measure of some target observable effect on the environment (e.g., in the case of a reinforcement learning agent). The parameters of the Al model 730 are updated based on a difference between the generated output value and the desired target value. For example, if the value outputted by the Al model 730 is excessively high, the parameters are adjusted so as to lower the output value in future training iterations. An objective function is a way to quantitatively represent how close the output value is to the target value. An objective function represents a quantity (or one or more quantities) to be optimized (e.g., minimize a loss or maximize a reward) in order to bring the output value as close to the target value as possible. The goal of training the Al model 730 typically is to minimize a loss function or maximize a reward function.
[0069] In some embodiments, the data layer 702 is a subset of a larger data set. For example, a data set is split into three mutually exclusive subsets: a training set, a validation (or cross-validation) set, and a testing set. The three subsets of data, in some embodiments, are used sequentially during Al model 730 training. For example, the training set is first used to train one or more ML models, each Al model 730, e.g., having a particular architecture, having a particular training procedure, being describable by a set of model hyperparameters, and / or otherwise being varied from the other of the one or more ML models. The validation (or cross-validation) set, in some embodiments, is used as input data into the trained ML models to, e.g., measure the performance of the trained ML models and / or compare performance between them. In some embodiments, where hyperparameters are used, a new set of hyperparameters is determined based on the measured performance of one or more of the trained ML models, and the first act of training (i.e., with the training set) begins again on a different ML model described by the new set of determined hyperparameters. The steps are repeated to produce a111220.8074. W000\184734666.1 more performant trained ML model. Once such a trained ML model is obtained (e.g., after the hyperparameters have been adjusted to achieve a desired level of performance), a third act of collecting the output generated by the trained ML model applied to the third subset (the testing set) begins in some embodiments. The output generated from the testing set, in some embodiments, is compared with the corresponding desired target values to give a final assessment of the trained ML model’s accuracy. Other segmentations of the larger data set and / or schemes for using the segments for training one or more ML models are possible.
[0070] Backpropagation is an algorithm for training an Al model 730. Backpropagation is used to adjust (also referred to as update) the value of the parameters in the Al model 730, with the goal of optimizing the objective function. For example, a defined loss function is calculated by forward propagation of an input to obtain an output of the Al model 730 and a comparison of the output value with the target value. Backpropagation calculates a gradient of the loss function with respect to the parameters of the ML model, and a gradient algorithm (e.g., gradient descent) is used to update (i.e., “learn”) the parameters to reduce the loss function. Backpropagation is performed iteratively so that the loss function is converged or minimized. In some embodiments, other techniques for learning the parameters of the Al model 730 are used. The process of updating (or learning) the parameters over many iterations is referred to as training. In some embodiments, training is carried out iteratively until a convergence condition is met (e.g., a predefined maximum number of iterations has been performed, or the value outputted by the Al model 730 is sufficiently converged with the desired target value), after which the Al model 730 is considered to be sufficiently trained. The values of the learned parameters are then fixed and the Al model 730 is then deployed to generate output in real-world applications (also referred to as “inference”).
[0071] In some examples, a trained ML model is fine-tuned, meaning that the values of the learned parameters are adjusted slightly in order for the ML model to better model a specific task. Fine-tuning of an Al model 730 typically involves further training the ML model on a number of data samples (which may be smaller in number / cardinality than those used to train the model initially) that closely target the specific task. For example, an Al model 730 for generating natural language that has been trained generically on publicly available text corpora is, e.g., fine-tuned by further training using111220.8074. W000\184734666.1 specific training samples. In some embodiments, the specific training samples are used to generate language in a certain style or a certain format. For example, the Al model 730 is trained to generate a blog post having a particular style and structure with a given topic.
[0072] Some concepts in ML-based language models are now discussed. It may be noted that, while the term “language model” has been commonly used to refer to a ML-based language model, there could exist non-ML language models. In the present disclosure, the term “language model” may be used as shorthand for an ML-based language model (i.e., a language model that is implemented using a neural network or other ML architecture), unless stated otherwise. For example, unless stated otherwise, the “language model” encompasses LLMs.
[0073] In some embodiments, the language model uses a neural network (typically a DNN) to perform NLP tasks. A language model is trained to model how words relate to each other in a textual sequence, based on probabilities. In some embodiments, the language model contains hundreds of thousands of learned parameters, or in the case of a large language model (LLM) contains millions or billions of learned parameters or more. As non-limiting examples, a language model can generate text, translate text, summarize text, answer questions, write code (e.g., Python, JavaScript, or other programming languages), classify text (e.g., to identify spam emails), create content for various purposes (e.g., social media content, factual content, or marketing content), or create personalized content for a particular individual or group of individuals. Language models can also be used for chatbots (e.g., virtual assistance).
[0074] In recent years, there has been interest in a type of neural network architecture, referred to as a transformer, for use as language models. For example, the Bidirectional Encoder Representations from Transformers (BERT) model, the Transformer-XL model, and the Generative Pre-trained Transformer (GPT) models are types of transformers. A transformer is a type of neural network architecture that uses self-attention mechanisms in order to generate predicted output based on input data that has some sequential meaning (i.e., the order of the input data is meaningful, which is the case for most text input). Although transformer-based language models are described herein, it should be understood that the present disclosure may be applicable111220.8074. W000\184734666.1 to any ML-based language model, including language models based on other neural network architectures such as recurrent neural network (RNN)-based language models.
[0075] Although a general transformer architecture for a language model and the model’s theory of operation have been described above, this is not intended to be limiting. Existing language models include language models that are based only on the encoder of the transformer or only on the decoder of the transformer. An encoder-only language model encodes the input text sequence into feature vectors that can then be further processed by a task-specific layer (e.g., a classification layer). BERT is an example of a language model that is considered to be an encoder-only language model. A decoder-only language model accepts embeddings as input and uses autoregression to generate an output text sequence. Transformer-XL and GPT-type models are language models that are considered to be decoder-only language models.
[0076] Because GPT-type language models tend to have a large number of parameters, these language models are considered LLMs. An example of a GPT-type LLM is GPT-3. GPT-3 is a type of GPT language model that has been trained (in an unsupervised manner) on a large corpus derived from documents available to the public online. GPT-3 has a very large number of learned parameters (on the order of hundreds of billions), is able to accept a large number of tokens as input (e.g., up to 2,048 input tokens), and is able to generate a large number of tokens as output (e.g., up to 2,048 tokens). GPT-3 has been trained as a generative model, meaning that GPT-3 can process input text sequences to predictively generate a meaningful output text sequence. ChatGPT is built on top of a GPT-type LLM and has been fine-tuned with training datasets based on text-based chats (e.g., chatbot conversations). ChatGPT is designed for processing natural language, receiving chat-like inputs, and generating chat-like outputs.
[0077] A computer system can access a remote language model (e.g., a cloudbased language model), such as ChatGPT or GPT-3, via a software interface (e.g., an API). Additionally or alternatively, such a remote language model can be accessed via a network such as, for example, the Internet. In some embodiments, such as, for example, potentially in the case of a cloud-based language model, a remote language model is hosted by a computer system that includes a plurality of cooperating (e.g., cooperating via a network) computer systems that are in, for example, a distributed111220.8074. W000\184734666.1 arrangement. Notably, a remote language model employs a plurality of processors (e.g., hardware processors such as, for example, processors of cooperating computer systems). Indeed, processing of inputs by an LLM can be computationally expensive / can involve a large number of operations (e.g., many instructions can be executed / large data structures can be accessed from memory), and providing output in a required timeframe (e.g., real time or near real time) can require the use of a plurality of processors / cooperating computing devices as discussed above.
[0078] In some embodiments, inputs to an LLM are referred to as a prompt (e.g., command set or instruction set), which is a natural language input that includes instructions to the LLM to generate a desired output. In some embodiments, a computer system generates a prompt that is provided as input to the LLM via the LLM’s API. As described above, the prompt is processed or pre-processed into a token sequence prior to being provided as input to the LLM via the LLM’s API. A prompt includes one or more examples of the desired output, which provides the LLM with additional information to enable the LLM to generate output according to the desired output. Additionally or alternatively, the examples included in a prompt provide inputs (e.g., example inputs) corresponding to / as can be expected to result in the desired outputs provided. A one- shot prompt refers to a prompt that includes one example, and a few-shot prompt refers to a prompt that includes multiple examples. A prompt that includes no examples is referred to as a zero-shot prompt.
[0079] In some embodiments, the Ilama2 is used as a large language model, which is a large language model based on an encoder-decoder architecture, and can simultaneously perform text generation and text understanding. The Ilama2 selects or trains proper pre-training corpus, pre-training targets and pre-training parameters according to different tasks and fields, and adjusts a large language model on the basis so as to improve the performance of the large language model under a specific scene.
[0080] In some embodiments, the Falcon40B is used as a large language model, which is a causal decoder-only model. During training, the model predicts the subsequent tokens with a causal language modeling task. The model applies rotational positional embeddings in the model's transformer model and encodes the absolution positional information of the tokens into a rotation matrix.111220.8074. W000\184734666.1
[0081] In some embodiments, the Claude is used as a large language model, which is an autoregressive model trained on a large text corpus unsupervised.Example Computing Environment of the Device Management Platform
[0082] Figure 8 is a block diagram illustrating an example computer system 800, in accordance with one or more embodiments. In some embodiments, components of the example computer system 800 are used to implement the software platforms described herein. At least some operations described herein can be implemented on the computer system 800.
[0083] In some embodiments, the computer system 800 includes one or more central processing units (“processors”) 802, main memory 806, non-volatile memory 810, network adapters 812 (e.g., network interface), video displays 818, input / output devices 820, control devices 822 (e.g., keyboard and pointing devices), drive units 824 including a storage medium 826, and a signal generation device 820 that are communicatively connected to a bus 816. The bus 816 is illustrated as an abstraction that represents one or more physical buses and / or point-to-point connections that are connected by appropriate bridges, adapters, or controllers. The bus 816, therefore, includes a system bus, a peripheral component interconnect (PCI) bus or PCI-Express bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 894 bus (also referred to as “Firewire”).
[0084] In some embodiments, the computer system 800 shares a similar computer processor architecture as that of a desktop computer, tablet computer, personal digital assistant (PDA), mobile phone, game console, music player, wearable electronic device (e.g., a watch or fitness tracker), network-connected (“smart”) device (e.g., a television or home assistant device), virtual / augmented reality systems (e.g., a head-mounted display), or another electronic device capable of executing a set of instructions (sequential or otherwise) that specify action(s) to be taken by the computer system 800.
[0085] While the main memory 806, non-volatile memory 810, and storage medium 826 (also called a “machine-readable medium”) are shown to be a single medium, the terms “machine-readable medium” and “storage medium” should be taken to include a single medium or multiple media (e.g., a centralized / distributed database111220.8074. W000\184734666.1 and / or associated caches and servers) that store one or more sets of instructions 828. The term “machine-readable medium” and “storage medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computer system 800. In some embodiments, the non-volatile memory 810 or the storage medium 826 is a non-transitory, computer-readable storage medium storing computer instructions, which is executable by one or more “processors” 802 to perform functions of the embodiments disclosed herein.
[0086] In general, the routines executed to implement the embodiments of the disclosure can be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions (collectively referred to as “computer programs”). The computer programs typically include one or more instructions (e.g., instructions 804, 808, 828) set at various times in various memory and storage devices in a computer device. When read and executed by one or more processors 802, the instruction(s) cause the computer system 800 to perform operations to execute elements involving the various aspects of the disclosure.
[0087] Moreover, while embodiments have been described in the context of fully functioning computer devices, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms. The disclosure applies regardless of the particular type of machine or computer- readable media used to actually affect the distribution.
[0088] Further examples of machine-readable storage media, machine-readable media, or computer-readable media include recordable-type media such as volatile and non-volatile memory devices 810, floppy and other removable disks, hard disk drives, optical discs (e.g., compact disc read-only memory (CD-ROMS), digital versatile discs (DVDs)), and transmission-type media such as digital and analog communication links.
[0089] The network adapter 812 enables the computer system 800 to mediate data in a network 814 with an entity that is external to the computer system 800 through any communication protocol supported by the computer system 800 and the external entity. The network adapter 812 includes a network adapter card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, a bridge router, a hub, a digital media receiver, and / or a repeater.111220.8074. W000\184734666.1
[0090] In some embodiments, the network adapter 812 includes a firewall that governs and / or manages permission to access proxy data in a computer network and tracks varying levels of trust between different machines and / or applications. The firewall is any number of modules having any combination of hardware and / or software components able to enforce a predetermined set of access rights between a particular set of machines and applications, machines and machines, and / or applications and applications (e.g., to regulate the flow of traffic and resource sharing between these entities). In some embodiments, the firewall additionally manages and / or has access to an access control list that details permissions, including the access and operation rights of an object by an individual, a machine, and / or an application, and the circumstances under which the permission rights stand.
[0091] The techniques introduced here can be implemented by programmable circuitry (e.g., one or more microprocessors), software and / or firmware, special-purpose hardwired (i.e., non-programmable) circuitry, or a combination of such forms. Specialpurpose circuitry can be in the form of one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc. A portion of the methods described herein can be performed using the example Al system 700 illustrated and described in more detail with reference to Figure 7.Conclusion
[0092] As used herein, the use of relative terminology, such as “about”, “generally”, “approximately”, “substantially” and the like refer to the stated value plus or minus ten percent. For example, the use of the term “about 100” refers to a range of from 90 to 110, inclusive. In instances in which the context requires otherwise and / or relative terminology is used in reference to something that does not include, or is not related to, a numerical value, the terms are given their ordinary meaning to one skilled in the art.
[0093] Any patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference in the entirety, except for any subject matter disclaimers or disavowals, and except to the extent that the incorporated material is inconsistent with the express disclosure herein, in which case the language in this disclosure controls. Aspects of the present technology can be modified, if necessary, to employ the systems, functions, and111220.8074. W000\184734666.1 concepts of the various references described above to provide yet further implementations of the present technology.
[0094] References throughout the foregoing description to features, advantages, or similar language do not imply that all of the features and advantages that may be realized with the present technology should be or are in any single embodiment of the present technology. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present technology. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
[0095] Furthermore, the described features, advantages, and characteristics of the present technology may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the present technology can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present technology.
[0096] Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.111220.8074. W000\184734666.1
[0097] The above description of examples and embodiments of the present technology is not intended to be exhaustive or to limit the present technology to the precise form disclosed above. While specific examples for the present technology are described above for illustrative purposes, various equivalent modifications are possible within the scope of the present technology, as those skilled in the relevant art will recognize. The teachings of the present technology provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the present technology. Some alternative implementations of the present technology may include not only additional elements to those implementations noted above, but also may include fewer elements. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.
[0098] While the above description describes various embodiments of the present technology and the best mode contemplated, regardless how detailed the above text, the present technology can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the present disclosure. As noted above, particular terminology used when describing certain features or aspects of the present technology should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the present technology with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the present technology to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the present technology encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the present technology under the claims.
[0099] The patents, patent applications, publications, and / or other materials included in the attached Appendix are incorporated herein by reference in their entireties and form part of the present disclosure.
[0100] From the foregoing, it will be appreciated that specific embodiments of the present technology have been described herein for purposes of illustration, but thatvarious modifications may be made without deviating from the spirit and scope of the various embodiments of the present technology. Further, while various advantages associated with certain embodiments of the present technology have been described above in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the present technology. Accordingly, the invention is not limited, except as by the appended claims.
[0101] Although certain aspects of the invention are presented below in certain claim forms, the applicant contemplates the various aspects of the invention in any number of claim forms. Accordingly, the applicant reserves the right to pursue additional claims after filing this application to pursue such additional claim forms, in either this application or in a continuing application.APPENDIX
[0102] The patents, patent applications, publications, and / or other materials included in the attached Appendix are incorporated herein by reference in their entireties and form part of the present disclosure.
Claims
CLAIMSWe claim:1 . A computer-implemented method for tracking electronic devices during collection and shipment, the computer-implemented method comprising: receiving, from a first user interface presented by a software application on a first computing device, a first inventory list identifying a first plurality of electronic devices scanned by the first computing device at a first geographical location, wherein each electronic device of the first plurality of electronic devices is associated with (i) a device identifier and (ii) a first condition of the electronic device; for each electronic device identified in the first inventory list, generating, by the software application, a mapping that maps the device identifier of the electronic device to a shipping container configured to house the electronic device during transport from the first geographical location to a second geographical location, wherein the mapping is stored in a database; subsequent to arrival of the shipping container at the second geographical location, receiving, from a second user interface presented by the software application on a second computing device, a second inventory list representing all of the electronics devices received the shipping container at the second geographical location and corresponding to a second plurality of electronic devices scanned by the second computing device at the second geographical location, wherein each electronic device identified in the second inventory list from the shipping container is associated with its device identifier and a second condition of the electronic device; generate a device status for each electronic device identified in the first inventory list by: transmitting, by the software application, a structured database command to the database, wherein the structured database command is configured to query the database for the mapping, andcomparing the first inventory list and the second inventory list to determine, for each electronic device identified in the first inventory list, whether each electronic device identified in the first inventory list is identified in the second inventory list based on the device identifier mapped by the mapping; and causing display of, on the second user interface of the second computing device, a report indicative of (i) the device status for each electronic device of the first plurality of electronic devices and (ii) a comparison of the first condition and the second condition for each electronic device identified in the second inventory list.
2. The computer-implemented method of claim 1 , the computer- implemented method further comprising: based on a shipping identifier of the shipping container, determining a series of intermediate geographical locations of the shipping container during the transport of the shipping container from the first geographical location to the second geographical location.
3. The computer-implemented method of claim 2, the computer- implemented method further comprising: determining a series of intermediate states for each electronic device of the first plurality of electronic devices based on whether the each electronic device is scanned at one or more of the intermediate geographical locations.
4. The computer-implemented method of claim 3, the computer- implemented method further comprising: responsive to determining that the first plurality of electronic devices identified in the first inventory list fails to be identified in the second inventory list, identifying a particular intermediate state for the particular electronic device based on a degree of change within a corresponding series of intermediate states,wherein the particular intermediate state is indicative of the particular electronic device failing to arrive at least one of the intermediate geographical locations.
5. The computer-implemented method of claim 1 , wherein the first computing device and the second computing device are the same computing device, and wherein the first user interface and the second user interface are the same user interface.
6. The computer-implemented method of claim 1 , wherein the report includes a list of corresponding device identifiers of one or more electronic devices identified in the first and second inventory lists.
7. The computer-implemented method of claim 1 , wherein the first inventory list is generated by scanning the first plurality of electronic devices using a first camera associated with the first computing device, and wherein the second inventory list is generated by scanning the second plurality of electronic devices using a second camera associated with the second computing device.
8. A non-transitory, computer-readable storage medium comprising instructions thereon, wherein the instructions, when executed by at least one data processor of a system, cause the system to: receive, from a first user interface of a first computing device, identification information corresponding to each electronic device identified in a first inventory list representing a first plurality of electronic devices located at a first geographical location; associate the identification information of each electronic device identified in a first inventory list with a shipping container configured to house the first plurality of electronic devices during transport from the first geographical location to a second geographical location;subsequent to arrival of the shipping container at the second geographical location, receive, from a second user interface of a second computing device, a second inventory list representing a second plurality of electronic devices received in the shipping container at the second geographical location; comparing the first inventory list and the second inventory list to determine a set of differences between the identification information of each electronic device of the first plurality of electronic devices identified in the first inventory list and corresponding identification information of each electronic device of the second plurality of electronic devices identified in the second inventory list; using the set of differences, mapping each electronic device of the first plurality of electronic devices to a device status; and cause display of, on the second user interface of the second computing device, a report indicative of (i) the device status of each electronic device of the first plurality of electronic devices and (ii) a number of electronic devices mapped to each particular device status.
9. The non-transitory, computer-readable storage medium of claim 8, wherein the identification information is associated with at least one of a QuickResponse (QR) code, a Radio Frequency Identification (RFID) tag, or a barcode.
10. The non-transitory, computer-readable storage medium of claim 8, wherein the system is further caused to: generate the first inventory list by scanning corresponding electronic devices using a first camera associated with the first computing device at the first geographical location; and generate the second inventory list by scanning electronic devices housed within the shipping container using a second camera associated with the second computing device at the second geographical location.1 1 . The non-transitory, computer-readable storage medium of claim 8, wherein the system is further caused to associate a timestamp with the device status of the particular electronic device.
12. The non-transitory, computer-readable storage medium of claim 8, wherein the system is further caused to: responsive to determining that the particular electronic device identified in the first inventory list fails to be identified in the second inventory list, generate an alert configured to be displayed on the second computing device.
13. The non-transitory, computer-readable storage medium of claim 8, wherein the system is further caused to: applying one or more artificial intelligence (Al) models on the set of differences, wherein the one or more Al models are trained to generate an estimated degree of device loss associated with transport between the first geographical location and the second geographical location.
14. The non-transitory, computer-readable storage medium of claim 8, wherein the shipping container corresponds to a shipping provider associated with transporting the shipping container, and wherein the system is further caused to cause display of, on the second user interface of the second computing device, an indication of the shipping provider on the report.
15. A system for tracking electronic devices, the system comprising: at least one hardware processor; and at least one non-transitory memory storing instructions, which, when executed by the at least one hardware processor, cause the system to: receive, from a first user interface of a first computing device, identification information corresponding to a particular electronic device identified in a first inventory list representing a first plurality of electronic devices located at a first geographical location;associate the identification information with a shipping container configured to house the particular electronic device during transport from the first geographical location to a second geographical location; subsequent to arrival of the shipping container at the second geographical location, receive, from a second user interface of a second computing device, a second inventory list representing a second plurality of electronic devices received at the second geographical location in the shipping container; comparing the first inventory list and the second inventory list to determine a set of differences between the first plurality of electronic devices and the second plurality of electronic devices; using the identification information, assign a device status to the particular electronic device that indicates whether the particular electronic device is identified in the second inventory list; and cause display of, on the second user interface of the second computing device, a report indicating (i) the identification information and (ii) the device status of the particular electronic device based on the comparison of the first and second inventory lists.
16. The system of claim 15, wherein the particular electronic device identified in the first inventory list is identified in the second inventory list, wherein the first inventory list and the second inventory list include a condition associated with each corresponding electronic device, and wherein the system is further caused to compare the condition of the particular electronic device identified in the first inventory list with the condition of the particular electronic device identified in the second inventory list.
17. The system of claim 15, wherein the system is further caused to: associate a first resale value with each electronic device identified in the first inventory list;associate a second resale value with each electronic device identified in the second inventory list; and generate a device loss value based on a difference between the first resale value and the second resale value.
18. The system of claim 15, wherein the identification information includes one or more of a model of the particular electronic device, a condition of the particular electronic device, or an ownership history of the particular electronic device.
19. The system of claim 15, wherein the system is further caused to: generate the first inventory list by scanning a selection area using a first camera associated with the first computing device at the first geographical location, wherein the selection area includes a device identifier of the particular electronic device, and wherein the device identifier includes one or more of a Quick Response (QR) code, a Radio Frequency Identification (RFID) tag, or a barcode.
20. The system of claim 15, wherein the first geographical location is associated with a recycling kiosk configured to receive the first plurality of electronic devices identified in the first inventory list from a series of users.