Google’s protocol

After the last post about text and binary protocols, Sagee sent me a link to Google’s protocol buffers, which is a protocol used to send structured data over the network, which also provides backwards compatibility between versions. From the announcement: “XML? No, that wouldn’t work. As nice as XML is, it isn’t going to be efficient enough for this scale. When all of your machines and network links are running at capacity, XML is an extremely expensive proposition. Not to (read more...)

By Ran Arad  |  July 23rd, 2008  |  Filed under Development, Interoperability, Standardization
1 comment  |  Add your own 


The binary of text protocols

A while ago, Paul E. Jones, the prophet of AMS, mentioned that AMS would use XML encoding: “We just finished a meeting yesterday. During the meeting we reached agreement to use XML for this new system. Personally, I think that’s going to be very cool. There is a huge amount of tool support for XML. We also had a person from the W3C attend who shared information on the Efficient XML Interchange (http://www.w3.org/XML/EXI/). In theory, this allows one to create (read more...)

By Ran Arad  |  July 16th, 2008  |  Filed under Interoperability, Standardization
2 comments  |  Add your own 


4 Gotcha’s of text-based protocols

As I stated many times, I think binary encoding is superior to text based encoding. However, usually, when you are a software engineer implementing a protocol, the protocol choice is not yours. In this post, I will consider the pitfalls and gotcha’s of text-based protocols and how to design your way around them. I mostly consider protocols defined by ABNF rules (such as SIP). If the protocol uses an XML scheme, there are readily available documents on parsing XML into (read more...)

By Ran Arad  |  July 3rd, 2008  |  Filed under Development, SDKs
3 comments  |  Add your own 


5 must-have tools for VoIP Developers

Is developing protocol stacks and communication software any different from developing any other software? I have to develop API’s for my protocol stacks a challenge in itself and related more to user psychology than to programming. I have to check control flows all the way down to the network and back to the application. I also need to process large amounts of data and  develop  many platforms. I hope these tools will be as useful to you as they are (read more...)

By Ran Arad  |  June 9th, 2008  |  Filed under Development
1 comment  |  Add your own 


Compiled Protocols vs. Script Protocols

There is a huge difference between compiled languages and scripting languages: the former are first entirely compiled and then executed, the latter are interpreted as they progress. I will use this terminology to discuss two types of protocols: the more common is made up of readymade messages or methods; each message type indicates a predetermined course of action. The less common type, and one I think deserves more attention, sends messages made up of many simple commands that do very (read more...)

By Ran Arad  |  May 27th, 2008  |  Filed under Standardization
Add a comment 


Writing code for human beings: IN, OUT and INOUT

Checking the searches that lead people to this blog revealed that they search for “Radvision INOUT”. Thus, on public demand, I will explain the super-secret-non-more-secret parameter guidelines. From RADVISION’s common type definitions: /* Some "empty" definitions that we can use for readability of the code */ #define IN #define OUT #define INOUT What this simply means is these words are replaced by nothing; they are just indications for the reader, not the compiler. I think mini-comments may be the best (read more...)

By Ran Arad  |  May 8th, 2008  |  Filed under SDKs
Add a comment 


Four Sons of VoIP security

On the Jewish holiday of Passover, we read about the tale of the four sons: One wise, one wicked, one simple and one who does not know how to ask a question. In this special Passover post, I will consider their approach to security.What does the wise son say? For the wise son, no amount of security is enough. He will use authentication, integrity and privacy algorithms to protect his online data and communications, although he knows that all measures (read more...)

By Ran Arad  |  April 23rd, 2008  |  Filed under SDKs, Standardization
Add a comment 


Logs + Scripts = Ownage

At times, I like to keep scores between Development and Customer Support (CS). If a problem is on the customer’s side, a point is awarded to development and if the problem is with our code, a point is awarded to customer support. Then there are the many special cases, for example problems with documentation (points for CS), problems with API design (more points for CS), problems fixed for another customer already (points for Development) problems which are already fixed in (read more...)

By Ran Arad  |  April 14th, 2008  |  Filed under SDKs
Add a comment 


Naughty protocols, need spanking

I have previously mentioned Joel Spolsky’s brilliant post about standards. If you’ve not read it yet, it is really worth your while. In that post he quotes Jon Postel‘s robustness principle and Marshall Rose’s critique: Counter-intuitively, Postel’s robustness principle (”be conservative in what you send, liberal in what you accept”) often leads to deployment problems. Why? When a new implementation is initially fielded, it is likely that it will encounter only a subset of existing implementations. If those implementations follow (read more...)

By Ran Arad  |  April 7th, 2008  |  Filed under Interoperability, Standardization
Add a comment 


Why text-based protocols hurt your design

If there is one thing I learned, it’s that text based encodings are a menace. They have their use, have no doubt; I’m not throwing away all the XML flavors and HTTP-like protocols. I’m just saying that their use should be limited to cases where we already deal with text-based data, like HTML or information repositories, not for complex communication protocols. Binary Decoders Two things can be said about binary decoding: it’s rigid and it’s repetitive. That means that if (read more...)

By Ran Arad  |  February 11th, 2008  |  Filed under Standardization
4 comments  |  Add your own 



Subscribe

Subscribe via RSS
Subscribe via email:

Interactive Video Platform