Opaque binary blob


Opaque binary blob is a term used in network engineering and computer science to refer to a sizeable piece of data, which looks like binary garbage from outside, by entities which do not know what that blob denotes or carries, but make sense to entities which have access permission and access functions to them. It is also a pejorative term for compiled code without the source code made available.

Use in networks

At least one network protocol, Advanced Message Queuing Protocol, uses the terminology of OBB.

Use in the computer field

s, starting with version 2.3 code named Gingerbread, use OBBs to refer in one blob to multiple files, maybe even a file system or whole file system in one file. These OBBs are available through the Storage Manager interface in Android. This is done as a means of abstraction, so multiple applications running on the operating system can more easily access the OBB. For example, if there was a map database, multiple applications running on Android 2.3 can access the same maps. This eliminates the need to maintain different map data for different applications with similar functions and features. Many HD games on the Android platform use their own OBB files, to allow storage of large files on the device's external SD card.
Tuxedo middleware also uses OBBs to mention C and C++ arrays, or typed data buffers. This probably is the oldest reference to OBBs used in a computer system.
When a vendor distributes software in an object binary form without any mention of its inner workings or code, it is called a 'proprietary OBB' or 'proprietary blob' or just binary blob. This practice is to protect the company's intellectual property, and probably keep a competitive edge. This also prevents hackers from improving the system or subverting it. As an example, Nvidia Tegra has such a 'proprietary OBB.'