SlideShare a Scribd company logo
US 20100146112A1 
(19) United States 
(12) Patent Application Publication (10) Pub. No.: US 2010/0146112 A1 
Shacham et al. (43) Pub. Date: Jun. 10, 2010 
(54) EFFICIENT COMMUNICATION 
TECHNIQUES 
(75) Inventors: Yotam Shacham, Palo Alto, CA 
(US); Guy Ben-Artzi, Palo Alto, 
CA (US); Alexei Alexevitch, 
HertZlia (IL); Amatzia Ben-Artzi, 
Palo Alto, CA (US); Tal Lavian, 
Sunnyvale, CA (US); Alexander 
Glyakov, Petach Tikva (IL); 
Russell W. McMahon, Woodside, 
CA (US); Yehuda Levi, Rishon 
LeZion (IL) 
Correspondence Address: 
CONNOLLY BOVE LODGE & HUTZ LLP 
1875 EYE STREET, N.W., SUITE 1100 
WASHINGTON, DC 20006 (US) 
(73) Assignee: Real Dice Inc., Carson City, NV 
(22) Filed: Dec. 3, 2009 
Related US. Application Data 
(60) Provisional application No. 61/200,934, ?led on Dec. 
4, 2008. 
Publication Classi?cation 
Int. Cl. 
G06F 15/1 73 (2006.01) 
G06F 15/16 (2006.01) 
US. Cl. ....................................... .. 709/224; 709/247 
(51) 
(52) 
(57) ABSTRACT 
Embodiments of techniques that may be used to improve 
communication e?iciency in a network are provided. One or 
more versions of one or more communication protocols in the 
network may be monitored. A document object model of data 
may be processed at a device to generate raw data. Subse 
(US) quently, the raw data may be transmitted by the device on the 
network based on the versions of the communication proto 
(21) Appl. No.: 12/630,239 cols. 
Memory Monitoring Module 
‘R, 1,7’! 
 / 
x 
“H, ‘5-. . 
200 1’ 
Analyzer Module 
2111.5~ 
? . 
'i‘ransmiseion Module 
2%.
Patent Application Publication Jun. 10, 2010 Sheet 1 0f 7 US 2010/0146112 A1 
f162 2 
Ciant
Patent Application Publication Jun. 10, 2010 Sheet 2 0f 7 US 2010/0146112 Al
Patent Application Publication Jun. 10, 2010 Sheet 3 0f 7 US 2010/0146112 A1 
31 
53mm 
.?QmE 
a,ilII -- 1L ia.. 
{mam  
:S1. 
‘F‘ .v) 
f. 
Vmm mwymm.? 
w5G.E 
22H 
8wm, mw mm 
0G. w% r F }Vr ... .‘- mimnw.wm § 
‘aw 
MA 
mxaaxmigm}u 
Emnv 
my
Patent Application Publication Jun. 10, 2010 Sheet 4 0f 7 US 2010/0146112 A1 
Eix 
EEmw 
fiuwi. ‘1 
@mwmE 
mwmé :xQuEmFgQu mwmwmé mwmz  a 
i 
i 
i 
,ikdapiosr 266 
E25
Patent Application Publication Jun. 10, 2010 Sheet 5 0f 7 US 2010/0146112 A1 
‘iGnE 
mwmwém vi» 
i/Mi:5:5 151? 
3mea n 
Aswag 
EDS
Patent Application Publication Jun. 10, 2010 Sheet 6 0f 7 US 2010/0146112 A1 
5532 X Moniior area or mere versions of one 9:" mere 
mmmunisation protocais in tha neiwmk 
‘v’ N 
584 m Process art a first :ievice a document 0b§ect made? 
a? data t0 generaie raw data 
595;  Transmit the raw data by tha ?rst device to 3 
‘~ sesand iiEEViGE based on ‘the verséms 0‘? {he 
mmmuraicatém gromcois
Patent Application Publication Jun. 10, 2010 Sheet 7 0f 7 US 2010/0146112 A1 
 ______________ _ f 
. v 
“2  Reeeéve the raw data ba$ed an the versisns m‘ the 
ssmmunica?an protaso§5 
{394 w“ Pmcess ‘Em raw céaiav i n generate the DQEVS
US 2010/0146112 A1 
EFFICIENT COMMUNICATION 
TECHNIQUES 
CROSS-REFERENCE TO RELATED 
APPLICATION 
[0001] This application draws priority from US. Provi 
sional Patent Application No. 61/200,934, ?led on Dec. 4, 
2008, and hereby incorporated by reference herein in its 
entirety. 
FIELD OF THE INVENTION 
[0002] Various embodiments of the invention may relate to 
communication in a netWork and more speci?cally to improv 
ing the ef?ciency of communication in a netWork. 
BACKGROUND OF THE INVENTION 
[0003] Various users across the globe communicate or per 
form various activities on computer and device netWorks. 
Moreover, the users interact With each other through the net 
Works, such as the Internet. Typically, the users use devices 
like personal computers to interact over the Internet. The 
users can interact from various Internet Websites or social 
networking sites, for example, Facebook, Myspace, Hi5, and 
Orkut etc. Recently, the development in mobile devices such 
as cell phones, smartphones and PDAs, computers, laptops 
and the like has enabled them to be used for performing 
various activities on netWorks such as the Internet. Moreover, 
the mobile devices can be used for real-time interaction With 
other users on the netWork. The interaction or communication 
can be in the form of chatting, playing interactive online 
games, broWsing, shopping, music, video, banking, business 
and the like. 
[0004] The rapid pace of innovation in technology has gen 
erated various types of devices and platforms. Moreover, the 
number of devices is increasing rapidly. For example, there 
are various operating systems available for the devices such 
as WindoWs, Linux, Macintosh, and Symbian, etc. Moreover, 
a large number of J 2ME platforms are available for the mobile 
devices such as cell phones. Furthermore, the mobile devices 
have a Wide range of capabilities in terms of screen siZe, 
screen type, screen resolution, processor, and memory etc. 
The advancement in technology has enabled multi-user inter 
action on the netWork, for example, multi-player games on 
mobile devices. Moreover, With rapid decline in prices of 
hardWare, advanced and inexpensive devices are readily 
available. Furthermore, advancements in softWare, operating 
systems, and input/ output interfaces have enabled the devel 
opment of high performance media capabilities on devices. 
Interactive applications such as media games are noW being 
developed Which alloW multi-user interactions on netWorks. 
As a result, the number of users and the requirement for the 
quality of service in the netWork is increasing rapidly. 
[0005] Typically, interactive applications may require con 
stant or very frequent communication betWeen the users. 
Therefore, a large amount of bandWidth may be required to 
maintain the communication. The bandWidth available on a 
device depends on the type of netWork and the hardWare or 
softWare of a device. For example, mobile netWork infrastruc 
tures such as in rural areas or otherWise underdeveloped areas 
may have less bandWidth as compared to infrastructures in a 
developed cities or areas. As a result, the user With sloW 
netWork connection experiences latency in communication. 
Further, the information to be transmitted can be huge 
Jun. 10, 2010 
depending on the type of application. Moreover, the informa 
tion to be transmitted can be limited due to a loW bandWidth 
netWork. Therefore, in case of some applications, for 
example, competitive online games, this may result in fair 
ness issues. Interactive applications such as chatting or 
mobile games require real time updating of information, 
Which induces latency in communication. Moreover, the ver 
sions of communication protocols supported by devices in the 
netWork can be different. Furthermore, the versions of the 
communication protocols may be updated. Therefore, the 
ef?ciency of information transfer may vary across devices 
and the netWorks. Furthermore, the scalability of these multi 
user applications may depend on the ef?ciency and quality of 
service of netWork communications. 
[0006] A mechanism may therefore be desirable for e?i 
cient communication in the netWork. Such a mechanism may 
be able to select the information and protocol to be used for 
the communication and may use these to maintain good user 
experience. 
SUMMARY 
[0007] Embodiments of the invention may provide a 
method for ef?cient communication in a netWork. The 
method may comprise monitoring one or more versions of 
one or more communication protocols in the netWork and 
processing at a device a document object model of data to 
generate raW data. Thereafter, the raW data may be transmit 
ted by the device in the netWork based on the versions of the 
communication protocols. 
[0008] Further embodiments of the invention may provide 
an apparatus for ef?cient communication in a netWork. The 
apparatus may comprise a monitoring module con?gured to 
monitor one or more versions of one or more communication 
protocols in the netWork. The apparatus may further comprise 
an analyZer module con?gured to process a document object 
model of data to generate raW data; and a transmission mod 
ule con?gured to transmit the raW data, Wherein the raW data 
may be transmitted based on the versions of the communica 
tion protocols. 
[0009] Further embodiments of the invention may provide 
a system for e?icient communication in a netWork. The sys 
tem may comprise: means for monitoring one or more ver 
sions of one or more communication protocols in the net 
Work; means for processing a document object model of data 
to generate raW data; and means for transmitting the raW data, 
Wherein the raW data may be transmitted based on the ver 
sions of the communication protocols. 
[0010] Yet further embodiments of the invention may pro 
vide a computer-readable medium containing instructions for 
performing a method for e?icient communication in a net 
Work. The method may comprise: monitoring one or more 
versions of one or more communication protocols in the 
netWork; processing at a device a document object model of 
data to generate raW data; and transmitting the raW data by the 
device on the netWork, Wherein the raW data may be trans 
mitted based on the versions of the communication protocols. 
BRIEF DESCRIPTION OF THE DRAWINGS 
[0011] Having thus described embodiments of the inven 
tion in general terms, reference Will noW be made to the 
accompanying draWings, Which are not necessarily draWn to 
scale, and Wherein:
US 2010/0146112 A1 
[0012] FIG. 1 is an environment where various embodi 
ments of the invention may function; 
[0013] FIG. 2 is a block diagram ofa system for ef?cient 
communication in a mobile network, in accordance with an 
embodiment of the invention; 
[0014] FIG. 3A is a block diagram illustrating ef?cient 
communication between a client and a server in the network, 
in accordance with an embodiment of the invention; 
[0015] FIG. 3B is a block diagram illustrating ef?cient 
communication between a client and a server in a network, in 
accordance with another embodiment of the invention; 
[0016] FIG. 4 is a ?ow diagram illustrating the processing 
of data, in accordance with an embodiment of the invention; 
[0017] FIG. 5 illustrates a ?owchart diagram for ef?cient 
communication in the network, in accordance with an 
embodiment of the invention; and 
[0018] FIG. 6 illustrates a ?owchart diagram for ef?cient 
communication in the network, in accordance with another 
embodiment of the invention. 
DETAILED DESCRIPTION OF VARIOUS 
EMBODIMENTS OF THE INVENTION 
[0019] Illustrative embodiments of the invention now will 
be described more fully hereinafter with reference to the 
accompanying drawings, in which some, but not all embodi 
ments of the invention are shown. Indeed, the invention may 
be embodied in many different forms and should not be 
construed as limited to the embodiments set forth herein; 
rather, these embodiments are provided so that this disclosure 
will satisfy applicable legal requirements. Like numbers refer 
to like elements throughout. 
[0020] FIG. 1 is an environment where various embodi 
ments of the invention may function. As shown, devices such 
as client 102a-n may communicate to interact and share infor 
mation in a network with devices such as a server 104. Clients 
102a-n can be, but are not limited to, a mobile phone, a laptop, 
a personal computer, a smartphone and the like. Similarly, 
various other devices can be connected in the network 
through server 104. Clients 102a-n can have different hard 
ware and software platforms. Examples of software platforms 
include operating systems such as Windows, Linux, Macin 
tosh, Symbian, and so forth. Moreover, clients 102a-n may 
have different hardware features such as the screen siZe, 
screen resolution, audio and video functionality, processors 
and so forth. Therefore, the applications executing on the 
clients 102a-n and server 104 may need to be compatible with 
the operating systems and hardware platforms of these 
devices. 
[0021] Clients 102a-n may interact with each other through 
server 104 in real-time for activities such as chatting, playing 
games, banking and so forth. Clients 102a-n may interact 
from different types of network. For example, client 102a 
may communicate with server 104 through a mobile network 
with a maximum bandwidth of 14.4 kbps, and client 1021) 
may communicate through an Ethernet network with a maxi 
mum bandwidth of 2 Mbps. Moreover, clients 102a-n can 
have different hardware and software capabilities. For 
example, client 102a may be a device such as a mobile phone, 
and client 1021) may be device such as a personal computer. 
Therefore, the communication between clients 102a-n may 
be based on various network and/or device parameters. 
Examples of the parameters include, but are not limited to, the 
bandwidth of the network, the type of network, communica 
tion protocols used, latency in communication, a user’s online 
Jun. 10,2010 
time, processing power of clients 102, processor usage of 
clients 102, memory of clients 102, and/or other parameters 
such as electronics, batteries, screen, radio, communications 
of clients 102 and so forth. 
[0022] Interactive applications may require a large amount 
of real-time information transfer between clients 102 and 
server 104. Therefore, a lot of network bandwidth may be 
required to avoid latency in the network. For example, in case 
of interactive multi-player games, real-time information may 
be transferred regarding the status of the player, statistics of 
the game, state of the game, game data and so forth. There 
fore, mechanisms to improve the e?iciency by providing 
more information on the same bandwidth of the network may 
be bene?cial. However, a large Central Processing Unit 
(CPU) or processor, memory and more complex logic may be 
required to enable e?icient communication in the network. 
The processor usage of a device can be offset by the use of 
additional memory in case of real-time applications. For 
example, the information that is to be processed can be cached 
before being processed. As a result, more information can be 
processed: however, more processing usage may then be 
required to process the cached data. In an embodiment of the 
invention, the data to be transferred between clients 102a-n 
and server 104 is processed before transmitting. The pro 
cessed data may contain raw data and not complete structural 
information. As a result, the bandwidth required for transmit 
ting the data may be reduced. The processing of data is dis 
cussed in detail in conjunction with FIG. 4. Further, clients 
102a-n or server 104 may support different versions of com 
munication protocols. Moreover, the communication proto 
cols may be updated regularly. Examples of versions of pro 
tocols include, but are not limited to, Internet Protocol version 
4 (IPv4), Internet Protocol version 6 (IPv6), Extensible Mes 
saging and Presence Protocol @(MPP), and so forth. There 
fore, for an ef?cient communication the network may need to 
be monitored for a protocol version, to be able to select a 
supported protocol. 
[0023] FIG. 2 is a block diagram ofa system 200 that may 
be used to improve communication ef?ciency in the network, 
according to an embodiment of the invention. In an embodi 
ment of the invention, system 200 is implemented as a hard 
ware, software or ?rmware on clients 102a-n and/or server 
104. System 200 is hereinafter referred to as adaptor 200. 
[0024] A real-time application can be executed on adaptor 
200. For example, the real-time application can be an online 
computer game. In such a scenario, client 102 may commu 
nicate regularly with server 104 for game information and/or 
other services. In an embodiment of the invention, server 104 
is a game server. Apparatus 200 may include a monitoring 
module 202 for monitoring the network. In an embodiment of 
the invention, monitoring module 202 monitors the network 
for various parameters. For example, monitor module 202 can 
monitor the network to gather information regarding the pro 
tocols used, versions of the protocols, type and amount of 
data, data to be transmitted and/ or bandwidth of the network. 
In an embodiment of the invention, monitoring module 202 
monitors the network regularly after a predetermined time 
period. In another embodiment of the invention, monitoring 
module 202 monitors for the versions of the protocols after 
transmission of every communication message in the net 
work. 
[0025] Adaptor 200 may include an analyZer module 206 
for analyZing the data that is to be transmitted in the network. 
AnalyZer module 206 may analyZe the data based on the
US 2010/0146112 A1 
information gathered by monitoring module 202. Further, 
analyzer module 206 may select a version of a communica 
tion protocol for transmission of data. In an embodiment of 
the invention, analyZer module 206 selects optimum values 
for netWork parameters and device resources. Moreover, ana 
lyZer module 206 may process the data to be transmitted in the 
network. The data to be transmitted may be processed by 
analyZer module 206 to generate raW data. In an embodiment 
of the invention, a Document Object Model (DOM) of data 
may be processed to generate a serialiZed stream Without the 
structural information. A DOM is a hierarchical representa 
tion of fundamental construct relationships; further examples 
and discussion of DOMs and their construction may be found 
in co-pending US. patent application Ser. No. , 
entitled, “Translation of Programming Code,” ?led on 
(Attorney Docket No. 30036-00004-US), co-as 
signed, and incorporated by reference herein in its entirety. As 
a result, the data to be transmitted may be compressed. More 
over, the compressed data can be decompressed by analyZer 
module 206 by using, e.g., standard compression mecha 
nisms. For example, analyZer module 206 may use standard 
compression algorithms such as ZIP to compress the data. 
Therefore, the compression ratio of the data may be increased 
and may be higher than standard compression algorithms. 
The compression ratio canbe de?ned as the ratio of the siZe of 
compressed information to the siZe of uncompressed infor 
mation. AnalyZer module 206 can analyZe the raW data to 
generate DOM of the data. Moreover, analyZer module 206 
can decompress the data that Was earlier compressed using, 
e.g., standard compression techniques. The raW data may be 
stored in a memory 204. Further, memory 204 may store 
information regarding various types and/or versions of com 
munication protocols. Examples of memory 204 include, but 
are not limited to, a Random Access Memory (RAM), a Read 
Only Memory (ROM) and so forth. 
[0026] Adaptor 200 may further include transmission mod 
ule 208 for transmitting data betWeen server 104 and clients 
102a-n. In an embodiment of the invention, transmission 
module 208 may use transport protocols such as HTTP, TCP, 
UDP, HTTPS, SIP, or other protocols suitable for mobile 
netWorks for transmitting the data. In an embodiment of the 
invention, transmission module 208 selects the protocol 
based on the type of netWork. In another embodiment of the 
invention, transmission module 208 selects the protocol or the 
version of the protocol based on the netWork parameters 
and/or device resources. For example, transmission module 
208 may use tunneling to send data in case the netWork does 
not support a particular protocol. For example, HyperText 
Transfer Protocol (HTTP), File Transfer Protocol (FTP), 
Secure Shell (SSH) protocols can be encapsulated With a 
protocol supported by a mobile phone netWork such as Trans 
mission Control Protocol (TCP). 
[0027] FIG. 3A is a block diagram illustrating ef?cient 
communication betWeen client 102a and server 104 in the 
network, in accordance With an embodiment of the invention. 
Typically, in netWork communication, a client may connect to 
a server, and thereafter the client and the server may pass the 
data to one another, until one of the tWo closes the connection. 
As shoWn in block 302A of FIG. 3A, client 102a may check 
server 104 for a version of a protocol supported and may 
receive the latest meta information. Meta information is data 
that describes the characteristics of a resource. For example, 
format, title and author of a ?le can be referred to as meta 
information of the information contained in the ?le. The 
Jun. 10,2010 
structure and details of meta information are explained in 
detail in conjunction With FIG. 4. Thereafter, the information 
may be transmitted based on the version of the communica 
tion protocol and the meta information. The meta information 
may be transmitted through adaptor 200 as shoWn in FIG. 3A. 
[0028] FIG. 3B is a block diagram illustrating an example 
of communication betWeen client 102a and server 104 in the 
netWork, in accordance With another embodiment of the 
invention. Block 302B depicts the communication betWeen 
client 102 and server 104 through adaptor 200, in an embodi 
ment of the invention. The data may be transmitted normally, 
and the checking of the versions may be done regularly. For 
example, the version may be checked after transmission of 
every message. Therefore, version checking may be regularly 
performed across the different messaging or communication 
protocols in the netWork. As a result, multiple simultaneous 
versioning per communication message can be maintained. 
Moreover, the communication can be sWitched to neW imple 
mentations When the latest meta information is available. In 
an embodiment of the invention, client 102a and server 104 
can agree to meta protocols in order to optimiZe the siZe of 
transferred data. 
[0029] FIG. 4 is a How diagram illustrating the processing 
of data, in accordance With an embodiment of the invention. 
Generally, in case of netWork communications, the data may 
be transmitted With complete structural information. For 
example, a Document Object Model (DOM) may be con 
verted to standard transmission language such as JavaScript 
Object Notation (JSON). JSON is a text-based and human 
readable format to represent data structures and objects. Sub 
sequently, the data may be transmitted and converted back 
from JSON format to actual DOM at the other end. This 
process may use processing poWer to analyZe the DOM and 
read the data stream and memory for construction of the data 
stream. For example, to convert DOM to JSON, associated 
processing poWer may be de?ned as ‘CPUX’, and memory for 
stream construction may be de?ned as ‘X’ bytes. Thereafter, 
the ‘X’ bytes of data may be transferred in the netWork. 
Similarly, the processing poWer and memory for converting 
the stream back to DOM may be based on the ‘X’ bytes of 
transferred data. 
[0030] As shoWn in FIG. 4, in accordance With an embodi 
ment of the invention, the data may be processed to generate 
raW data and then transmitted in the netWork. In an embodi 
ment of the invention, the raW data includes a header and 
body. The header of the raW data may contain versioning 
information and/or other meta-data information. Moreover, 
the header may include the status of the version. The status for 
a version can be de?ned as critical or non-critical. For 
example, in case the status of the version is non-critical, then 
the communication can be done if other versions of the pro 
tocol are available. Similarly, if the status is critical, then the 
speci?c version is used for the communication. The body of 
the raW data may include the meta information. In an embodi 
ment of the invention, the body of raW data may comprises 
three basic element types inside a hierarchical structure: 
primitives such as integers and strings; arrays such as an 
ordered collection that may be indexed by integers; and dic 
tionaries such as an unordered collection that may be indexed 
by strings. For example, the meta format in the body can be:
US 2010/0146112 A1 
Example 1 
Meta Format in Case of a Chat Message 
[0031] 
{ 
NaIne=CHAT, 
SenderNaIne=STRING, 
Message=STRING 
} 
[0032] As discussed in the example 1, the meta format in 
case of a chat message can be the ‘Name’ of the application, 
data type for the name of sender, ‘ SenderName,’ and data type 
of the ‘Message’. 
Example 2 
Meta Format in Case of a User List Message 
[0033] 
Narne=USERLIST, 
NumUsers=INTEGER, 
USERS = ARRAY of 
{ 
UserNaIne=STRING, 
UserID=INTEGER 
[0034] As discussed in the example 2, the meta format in 
case of a user list message can be the ‘Name’ of the applica 
tion, data type for the name of sender ‘UserName, and data 
type of the ‘UserID’, and the data type for the number of 
users, ‘NumUsers’. 
[0035] In an embodiment of the invention, as shoWn in FIG. 
4, DOM 402 of the data may be processed to generate a 
?attened DOM 404. Flattened DOM 404 may be generated by 
processing the data to remove structural meta-information. 
Flattened DOM 404 is raW data obtained from DOM 402. 
This process may use processing poWer to analyZe DOM 402 
and memory for construction of a data stream. For example, 
for conversion of DOM 402 to ?attened DOM 404, process 
ing poWer may be de?ned as ‘CPUY’ for DOM, and the 
amount of memory for stream construction may be ‘Y’ bytes. 
Subsequently, ?attened DOM 404 may be transmitted on the 
network. Thereafter, ?attened DOM 404 may be processed to 
generate DOM 402. Similarly, processing poWer and memory 
to convert the stream back to DOM may be based on the ‘Y’ 
bytes of transferred data. As discussed above, the data may be 
processed to remove structural information and generate raW 
data, unlike a standard practice Where the DOM may be 
converted to another data exchange format like I SON. There 
fore, the amount of memory ‘Y’ bytes may generally be less 
than ‘X’ bytes. Moreover, the processing poWer CPUY may 
generally be less than CPUXbecause processing of less bytes 
may generally be required. 
[0036] FIG. 5 illustrates a ?oWchart diagram for commu 
nication in the netWork, in accordance With an embodiment of 
the invention. The communication in the netWork can be 
made ef?cient by managing the bandWidth and processor 
usage. At 502, the versioning of communication protocols in 
Jun. 10, 2010 
the netWork may be monitored, e.g., by monitoring module 
202. Monitoring module 202 may regularly check for 
changes in the versioning of meta-information. 
[0037] Thereafter, DOM of data may be processed 504 to 
generate raW data, e.g., by analyZer module 206. In an 
embodiment of the invention, the structural information may 
be removed from the data to generate raW data. In an embodi 
ment of the invention, the raW data may include a header and 
body. The header of the raW data may contain versioning 
information, status of the version and/or other meta-data 
information. Moreover, the header may include the status of 
the version. The body of the raW data may include meta 
information. In an embodiment of the invention, the raW data 
may be further compressed by using standard compression 
protocols. The versions and the raW data may be stored, e. g., 
in memory 204. Subsequently, the raW data may be transmit 
ted based on the versions of the communication protocol, e. g., 
by transmission module 208. 
[0038] FIG. 6 illustrates a ?oWchart diagram for commu 
nication in the netWork, in accordance With another embodi 
ment of the invention. The raW data can be received by client 
102a-n or server 104 based on the version(s) of the commu 
nication protocol(s) used to transmit the data. The raW data 
may then be processed on reception. At 602, the raW data may 
received based on the version(s) of the communication pro 
tocol(s), e.g., by transmission module 208. Thereafter, at 604, 
raW data may be processed to generate DOM of the data, e. g., 
by analyZer module 206. In an embodiment of the invention, 
structural information may be added to the data to generate 
DOM of the data by processing information contained in the 
header and/or the body of the raW data. 
[0039] While the above embodiments may describe the use 
of analyZer module 206 and/or transmission module 208 in 
both transmitting and receiving data, it is further understood 
that there may be fully or partially separate versions of one or 
both of these modules used for transmitting and receiving 
data. 
[0040] Furthermore, it is also comprehended that monitor 
ing module 202 may be omitted from at least one adaptor 200 
of a device in a netWork, such as a client 102 or a server 104. 
In such a case, monitoring may be performed at another site, 
such as at a different device, and may be forWarded to the 
device for use in transmitting data. 
[0041] Embodiments of the invention are described above 
With reference to block diagrams and schematic illustrations 
of methods and systems according to embodiments of the 
invention. It Will be understood that each block of the dia 
grams and combinations of blocks in the diagrams can be 
implemented by computer program instructions. These com 
puter program instructions may be loaded onto one or more 
general purpose computers, special purpose computers, or 
other programmable data processing apparatus or computing 
devices to produce machines, such that the instructions Which 
execute on the computers or other programmable data pro 
cessing apparatus create means for implementing the func 
tions speci?ed in the block or blocks. Such computer program 
instructions may also be stored in a computer-readable 
medium, such as a memory, that can direct a computing 
device or other programmable data processing apparatus to 
function in a particular manner, such that the instructions 
stored in the computer-readable medium produce an article of 
manufacture including instruction means that implement the 
function speci?ed in the block or blocks. Furthermore, such
US 2010/0146112 A1 
computer program instructions may be provided for doWn 
load via a network and/ or may be downloaded via a netWork. 
[0042] While the invention has been described in connec 
tion With What is presently considered to be the most practical 
and various embodiments, it is to be understood that the 
invention is not to be limited to the disclosed embodiments, 
but on the contrary, is intended to cover various modi?cations 
and equivalent arrangements included Within the spirit and 
scope of the appended claims. 
[0043] This Written description uses examples to disclose 
the invention, including the best mode, and also to enable any 
person skilled in the art to practice the invention, including 
making and using any devices or systems and performing any 
incorporated methods. The patentable scope the invention is 
de?ned in the claims, and may include other examples that 
occur to those skilled in the art. Such other examples are 
intended to be Within the scope of the claims if they have 
structural elements that do not differ from the literal language 
of the claims, or if they include equivalent structural elements 
With insubstantial differences from the literal languages of 
the claims. 
We claim: 
1. A communication method, comprising: 
monitoring one or more versions of one or more commu 
nication protocols in a netWork to determine one or more 
monitored versions of the one or more communication 
protocols; 
processing at a device a document object model of data to 
generate raW data; and 
transmitting the raW data by the device via the netWork, 
Wherein the raW data is transmitted based on the one or 
more monitored versions of the one or more communi 
cation protocols. 
2. The method of claim 1 further comprising: 
receiving further raW data at the device; and 
processing the further raW data at the device to generate a 
document object model corresponding to the further raW 
data. 
3. The method of claim 1 further comprising storing the 
raW data. 
4. The method of claim 1, Wherein the processing further 
comprises compressing the raW data. 
5. The method of claim 1, Wherein the processing further 
comprises decompressing compressed raW data. 
6. The method of claim 1, Wherein the raW data comprises 
a meta information data format. 
7. The method of claim 6, Wherein the meta information 
data format comprises a header, Wherein the header com 
prises a version of a communication protocol. 
8. The method of claim 7, Wherein the header further com 
prises a status of the version of the communication protocol. 
9. The method of claim 6, Wherein the meta information 
data format comprises a body, Wherein the body comprises 
meta information. 
10. The method of claim 1, Wherein said monitoring com 
prises dynamically monitoring the versions. 
11. The method of claim 1, further comprising doWnload 
ing computer-executable instructions that, if executed by a 
computing device, cause the computing device to implement 
said monitoring, said processing, and said transmitting. 
12. The method of claim 1, further comprising providing 
for doWnloading computer-executable instructions that, if 
Jun. 10,2010 
executed by a computing device, cause the computing device 
to implement said monitoring, said processing, and said 
transmitting. 
13. A communication method, comprising: 
receiving, at a ?rst device, raW data transmitted from a 
second device over a netWork, Wherein the raW data Was 
transmitted based on one or more versions of one or 
more monitored communication protocols; and 
processing the raW data at the ?rst device to generate a 
document object model corresponding to the raW data. 
14. The method of claim 13, Wherein the raW data is 
received in a compressed format, and Wherein said processing 
includes decompressing the raW data. 
15. The method of claim 13, Wherein the raW data com 
prises a meta information data format. 
16. The method of claim 15, Wherein the meta information 
data format includes a header that includes a version of a 
communication protocol used to transmit the raW data. 
17. The method of claim 16, Wherein the header further 
includes a status of the version of the communication proto 
col. 
18. The method of claim 15, Wherein the meta information 
data format includes a body that includes meta information. 
19. The method of claim 13, further comprising doWnload 
ing computer-executable instructions that, if executed by a 
computing device, cause the computing device to implement 
said receiving and said processing. 
20. The method of claim 13, further comprising providing 
for doWnloading computer-executable instructions that, if 
executed by a computing device, cause the computing device 
to implement said receiving and said processing. 
21. An communication apparatus, comprising: 
a monitoring module con?gured to monitor one or more 
versions of one or more communication protocols in a 
netWork to determine one or more monitored versions of 
one or more communication protocols; 
an analyZer module con?gured to process a document 
object model of data to generate raW data; and 
a transmission module con?gured to transmit the raW data 
over the netWork, Wherein the raW data is transmitted 
based on the one or more monitored versions of the one 
or more communication protocols. 
22. The apparatus of claim 21, Wherein the transmission 
module is further con?gured to receive raW data at the device; 
and Wherein the analyZer module is further con?gured to 
process the raW data at the device to generate a document 
object model corresponding to the received raW data. 
23. The apparatus of claim 21 further comprising a 
memory con?gured to store the raW data. 
24. The apparatus of claim 21, Wherein the analyZer mod 
ule is con?gured to compress the raW data. 
25. The apparatus of claim 21, Wherein the analyZer mod 
ule is con?gured to decompress the raW data. 
26. The apparatus of claim 21, Wherein the raW data com 
prises a meta information data format. 
27. The apparatus of claim 26, Wherein the meta informa 
tion data format comprises a header, Wherein the header com 
prises a version of a communication protocol. 
28. The apparatus of claim 27, Wherein the header further 
comprises a status of the version of the communication pro 
tocol. 
29. The apparatus of claim 26, Wherein the meta informa 
tion data format comprises a body, Wherein the body com 
prises meta information.
US 2010/0146112 A1 
30. The apparatus of claim 21, wherein the monitoring 
module is con?gured to monitor the versions dynamically. 
31. A communication apparatus, comprising: 
a transmission module at a ?rst device of a netWork con 
?gured to receive raW data sent by a second device 
through the network, Wherein the raW data Was transmit 
ted based on one or more versions of one or more moni 
tored communication protocols; and 
an analyZer module con?gured to process the raW data at 
the ?rst device to generate a document object model 
corresponding to the raW data. 
32. The apparatus of claim 31, Wherein the received raW 
data is in a compressed format, and Wherein the analyZer 
module is further con?gured to decompress the raW data. 
33. A system for e?icient communication in a netWork, the 
system comprising: 
means for monitoring one or more versions of one or more 
communication protocols in the netWork to obtain one or 
more monitored versions of the one or more communi 
cation protocols; 
means for processing a document object model of data to 
generate raW data; and 
means for transmitting the raW data, Wherein the raW data 
is transmitted based on the one or more monitored ver 
sions of the one or more communication protocols. 
34. The system of claim 33, Wherein the means for trans 
mitting further comprises: 
means for receiving further raW data at the device; and 
means for processing the further raW data at the device to 
generate the document object model corresponding to 
the further data. 
35. The system of claim 33 further comprising means for 
storing the raW data. 
36. The system of claim 33, Wherein the means for pro 
cessing further comprises means for compressing the raW 
data. 
37. The system of claim 33, Wherein the means for pro 
cessing further comprises means for decompressing the raW 
data. 
38. The system of claim 33, Wherein the means for moni 
toring comprises means for monitoring the versions dynami 
cally. 
39. A communication system, comprising: 
means for receiving raW data transmitted over a netWork, 
Wherein the raW data Was transmitted based on one or 
more versions of one or more monitored communication 
protocols; and 
means for processing the raW data to generate a document 
object model corresponding to the raW data. 
40. The system of claim 39, Wherein the raW data is 
received in a compressed format, and Wherein said means for 
processing includes means for decompressing the raW data. 
Jun. 10,2010 
41. A computer-readable medium containing program 
instructions that, if executed by a computing device, cause the 
computing device to implement a communication method, 
the method comprising: 
monitoring one or more versions of one or more commu 
nication protocols in a netWork to obtain one or more 
monitored versions of the one or more communication 
protocols; 
processing a document object model of data to generate 
raW data; and 
transmitting the raW data by the device on the netWork, 
Wherein the raW data is transmitted based on the one or 
more monitored versions of the one or more communi 
cation protocols. 
42. The medium of claim 41, Wherein the method further 
comprises: 
receiving further raW data; and 
processing the raW data to generate a document object 
model corresponding to the further raW data. 
43. The medium of claim 41, Wherein the method further 
comprises storing the raW data. 
44. The medium of claim 41, Wherein the processing fur 
ther comprises compressing the raW data. 
45. The medium of claim 41, Wherein the processing fur 
ther comprises decompressing the raW data. 
46. The medium of claim 41, Wherein the raW data com 
prises a meta information data format. 
47. The medium of claim 46, Wherein the meta information 
data format comprises a header, Wherein the header com 
prises a version of a communication protocol. 
48. The medium of claim 47, Wherein the header further 
comprises a status of the version of the communication pro 
tocol. 
49. The medium of claim 46, Wherein the meta information 
data format comprises a body, Wherein the body comprises 
meta information. 
50. The medium of claim 41, Wherein the monitoring com 
prises dynamic monitoring. 
51. A computer-readable medium containing program 
instructions that, if executed by a computing device, cause the 
computing device to implement a communication method, 
the method comprising: 
receiving, at a ?rst device, raW data transmitted from a 
second device over a netWork, Wherein the raW data Was 
transmitted based on one or more versions of one or 
more monitored communication protocols; and 
processing the raW data at the ?rst device to generate a 
document object model corresponding to the raW data. 
52. The medium of claim 51, Wherein the raW data is 
received in a compressed format, and Wherein said processing 
includes decompressing the raW data. 
* * * * *

More Related Content

PDF
Efficient communication in a network
PPTX
Five methods of business communication
PPTX
Bad news
PPT
Objectives communication
PPSX
PPTX
Types of research
 
PPTX
Types of business communication
DOCX
Methods of communication pros and cons
Efficient communication in a network
Five methods of business communication
Bad news
Objectives communication
Types of research
 
Types of business communication
Methods of communication pros and cons

Similar to Efficient communication techniques (20)

PDF
Optimizing network connections
PDF
Platform-independent application development framework
PDF
Translation of programming code
PDF
Methods and apparatus for automatic translation of a computer program languag...
PDF
Platform-independent application development framework
PDF
Internet on Mobile
PDF
US20030139919
PDF
Essay On Networking
PDF
Videoconferencing web
PDF
VIDEOCONFERENCING WEB APPLICATION FOR CARDIOLOGY DOMAIN USING FLEX/J2EE TECHN...
PDF
Extensible resource messaging between user applications and network elements ...
PDF
Using Interconnected Computer Networks For Communication
PPTX
Internet
DOCX
Computer 3
PDF
WAP- Mobile Personal Assistant Application
PDF
A novel adaptive schema to facilitates playback switching technique for video...
PDF
WAP.PDF
PDF
Internet on mobile
DOC
Siraj e commerce project
PPT
Welcome To The Mobile World
Optimizing network connections
Platform-independent application development framework
Translation of programming code
Methods and apparatus for automatic translation of a computer program languag...
Platform-independent application development framework
Internet on Mobile
US20030139919
Essay On Networking
Videoconferencing web
VIDEOCONFERENCING WEB APPLICATION FOR CARDIOLOGY DOMAIN USING FLEX/J2EE TECHN...
Extensible resource messaging between user applications and network elements ...
Using Interconnected Computer Networks For Communication
Internet
Computer 3
WAP- Mobile Personal Assistant Application
A novel adaptive schema to facilitates playback switching technique for video...
WAP.PDF
Internet on mobile
Siraj e commerce project
Welcome To The Mobile World
Ad

More from Tal Lavian Ph.D. (20)

PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Photonic line sharing for high-speed routers
PDF
Systems and methods to support sharing and exchanging in a network
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
Grid proxy architecture for network resources
PDF
Ultra low phase noise frequency synthesizer
PDF
Systems and methods for electronic communications
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Radar target detection system for autonomous vehicles with ultra-low phase no...
PDF
Grid proxy architecture for network resources
PDF
Method and apparatus for scheduling resources on a switched underlay network
PDF
Dynamic assignment of traffic classes to a priority queue in a packet forward...
PDF
Method and apparatus for using a command design pattern to access and configu...
PDF
Reliable rating system and method thereof
PDF
Time variant rating system and method thereof
PDF
Systems and methods for visual presentation and selection of ivr menu
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Photonic line sharing for high-speed routers
Systems and methods to support sharing and exchanging in a network
Systems and methods for visual presentation and selection of IVR menu
Grid proxy architecture for network resources
Ultra low phase noise frequency synthesizer
Systems and methods for electronic communications
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Radar target detection system for autonomous vehicles with ultra-low phase no...
Grid proxy architecture for network resources
Method and apparatus for scheduling resources on a switched underlay network
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Method and apparatus for using a command design pattern to access and configu...
Reliable rating system and method thereof
Time variant rating system and method thereof
Systems and methods for visual presentation and selection of ivr menu
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Ad

Recently uploaded (20)

PPTX
sdn_based_controller_for_mobile_network_traffic_management1.pptx
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
"Fundamentals of Digital Image Processing: A Visual Approach"
PDF
Dynamic Checkweighers and Automatic Weighing Machine Solutions
PPTX
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
PPTX
material for studying about lift elevators escalation
PPTX
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
PPTX
KVL KCL ppt electrical electronics eee tiet
PDF
Cableado de Controladores Logicos Programables
PPTX
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
PPTX
code of ethics.pptxdvhwbssssSAssscasascc
PDF
Smarter Security: How Door Access Control Works with Alarms & CCTV
PPTX
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
PPTX
title _yeOPC_Poisoning_Presentation.pptx
PPT
chapter_1_a.ppthduushshwhwbshshshsbbsbsbsbsh
PPT
Lines and angles cbse class 9 math chemistry
PPTX
making presentation that do no stick.pptx
PPTX
Embeded System for Artificial intelligence 2.pptx
PPTX
Lecture-3-Computer-programming for BS InfoTech
PPT
Hypersensitivity Namisha1111111111-WPS.ppt
sdn_based_controller_for_mobile_network_traffic_management1.pptx
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
"Fundamentals of Digital Image Processing: A Visual Approach"
Dynamic Checkweighers and Automatic Weighing Machine Solutions
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
material for studying about lift elevators escalation
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
KVL KCL ppt electrical electronics eee tiet
Cableado de Controladores Logicos Programables
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
code of ethics.pptxdvhwbssssSAssscasascc
Smarter Security: How Door Access Control Works with Alarms & CCTV
Presentacion compuuuuuuuuuuuuuuuuuuuuuuu
title _yeOPC_Poisoning_Presentation.pptx
chapter_1_a.ppthduushshwhwbshshshsbbsbsbsbsh
Lines and angles cbse class 9 math chemistry
making presentation that do no stick.pptx
Embeded System for Artificial intelligence 2.pptx
Lecture-3-Computer-programming for BS InfoTech
Hypersensitivity Namisha1111111111-WPS.ppt

Efficient communication techniques

  • 1. US 20100146112A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2010/0146112 A1 Shacham et al. (43) Pub. Date: Jun. 10, 2010 (54) EFFICIENT COMMUNICATION TECHNIQUES (75) Inventors: Yotam Shacham, Palo Alto, CA (US); Guy Ben-Artzi, Palo Alto, CA (US); Alexei Alexevitch, HertZlia (IL); Amatzia Ben-Artzi, Palo Alto, CA (US); Tal Lavian, Sunnyvale, CA (US); Alexander Glyakov, Petach Tikva (IL); Russell W. McMahon, Woodside, CA (US); Yehuda Levi, Rishon LeZion (IL) Correspondence Address: CONNOLLY BOVE LODGE & HUTZ LLP 1875 EYE STREET, N.W., SUITE 1100 WASHINGTON, DC 20006 (US) (73) Assignee: Real Dice Inc., Carson City, NV (22) Filed: Dec. 3, 2009 Related US. Application Data (60) Provisional application No. 61/200,934, ?led on Dec. 4, 2008. Publication Classi?cation Int. Cl. G06F 15/1 73 (2006.01) G06F 15/16 (2006.01) US. Cl. ....................................... .. 709/224; 709/247 (51) (52) (57) ABSTRACT Embodiments of techniques that may be used to improve communication e?iciency in a network are provided. One or more versions of one or more communication protocols in the network may be monitored. A document object model of data may be processed at a device to generate raw data. Subse (US) quently, the raw data may be transmitted by the device on the network based on the versions of the communication proto (21) Appl. No.: 12/630,239 cols. Memory Monitoring Module ‘R, 1,7’! / x “H, ‘5-. . 200 1’ Analyzer Module 2111.5~ ? . 'i‘ransmiseion Module 2%.
  • 2. Patent Application Publication Jun. 10, 2010 Sheet 1 0f 7 US 2010/0146112 A1 f162 2 Ciant
  • 3. Patent Application Publication Jun. 10, 2010 Sheet 2 0f 7 US 2010/0146112 Al
  • 4. Patent Application Publication Jun. 10, 2010 Sheet 3 0f 7 US 2010/0146112 A1 31 53mm .?QmE a,ilII -- 1L ia.. {mam :S1. ‘F‘ .v) f. Vmm mwymm.? w5G.E 22H 8wm, mw mm 0G. w% r F }Vr ... .‘- mimnw.wm § ‘aw MA mxaaxmigm}u Emnv my
  • 5. Patent Application Publication Jun. 10, 2010 Sheet 4 0f 7 US 2010/0146112 A1 Eix EEmw fiuwi. ‘1 @mwmE mwmé :xQuEmFgQu mwmwmé mwmz a i i i ,ikdapiosr 266 E25
  • 6. Patent Application Publication Jun. 10, 2010 Sheet 5 0f 7 US 2010/0146112 A1 ‘iGnE mwmwém vi» i/Mi:5:5 151? 3mea n Aswag EDS
  • 7. Patent Application Publication Jun. 10, 2010 Sheet 6 0f 7 US 2010/0146112 A1 5532 X Moniior area or mere versions of one 9:" mere mmmunisation protocais in tha neiwmk ‘v’ N 584 m Process art a first :ievice a document 0b§ect made? a? data t0 generaie raw data 595; Transmit the raw data by tha ?rst device to 3 ‘~ sesand iiEEViGE based on ‘the verséms 0‘? {he mmmuraicatém gromcois
  • 8. Patent Application Publication Jun. 10, 2010 Sheet 7 0f 7 US 2010/0146112 A1 ______________ _ f . v “2 Reeeéve the raw data ba$ed an the versisns m‘ the ssmmunica?an protaso§5 {394 w“ Pmcess ‘Em raw céaiav i n generate the DQEVS
  • 9. US 2010/0146112 A1 EFFICIENT COMMUNICATION TECHNIQUES CROSS-REFERENCE TO RELATED APPLICATION [0001] This application draws priority from US. Provi sional Patent Application No. 61/200,934, ?led on Dec. 4, 2008, and hereby incorporated by reference herein in its entirety. FIELD OF THE INVENTION [0002] Various embodiments of the invention may relate to communication in a netWork and more speci?cally to improv ing the ef?ciency of communication in a netWork. BACKGROUND OF THE INVENTION [0003] Various users across the globe communicate or per form various activities on computer and device netWorks. Moreover, the users interact With each other through the net Works, such as the Internet. Typically, the users use devices like personal computers to interact over the Internet. The users can interact from various Internet Websites or social networking sites, for example, Facebook, Myspace, Hi5, and Orkut etc. Recently, the development in mobile devices such as cell phones, smartphones and PDAs, computers, laptops and the like has enabled them to be used for performing various activities on netWorks such as the Internet. Moreover, the mobile devices can be used for real-time interaction With other users on the netWork. The interaction or communication can be in the form of chatting, playing interactive online games, broWsing, shopping, music, video, banking, business and the like. [0004] The rapid pace of innovation in technology has gen erated various types of devices and platforms. Moreover, the number of devices is increasing rapidly. For example, there are various operating systems available for the devices such as WindoWs, Linux, Macintosh, and Symbian, etc. Moreover, a large number of J 2ME platforms are available for the mobile devices such as cell phones. Furthermore, the mobile devices have a Wide range of capabilities in terms of screen siZe, screen type, screen resolution, processor, and memory etc. The advancement in technology has enabled multi-user inter action on the netWork, for example, multi-player games on mobile devices. Moreover, With rapid decline in prices of hardWare, advanced and inexpensive devices are readily available. Furthermore, advancements in softWare, operating systems, and input/ output interfaces have enabled the devel opment of high performance media capabilities on devices. Interactive applications such as media games are noW being developed Which alloW multi-user interactions on netWorks. As a result, the number of users and the requirement for the quality of service in the netWork is increasing rapidly. [0005] Typically, interactive applications may require con stant or very frequent communication betWeen the users. Therefore, a large amount of bandWidth may be required to maintain the communication. The bandWidth available on a device depends on the type of netWork and the hardWare or softWare of a device. For example, mobile netWork infrastruc tures such as in rural areas or otherWise underdeveloped areas may have less bandWidth as compared to infrastructures in a developed cities or areas. As a result, the user With sloW netWork connection experiences latency in communication. Further, the information to be transmitted can be huge Jun. 10, 2010 depending on the type of application. Moreover, the informa tion to be transmitted can be limited due to a loW bandWidth netWork. Therefore, in case of some applications, for example, competitive online games, this may result in fair ness issues. Interactive applications such as chatting or mobile games require real time updating of information, Which induces latency in communication. Moreover, the ver sions of communication protocols supported by devices in the netWork can be different. Furthermore, the versions of the communication protocols may be updated. Therefore, the ef?ciency of information transfer may vary across devices and the netWorks. Furthermore, the scalability of these multi user applications may depend on the ef?ciency and quality of service of netWork communications. [0006] A mechanism may therefore be desirable for e?i cient communication in the netWork. Such a mechanism may be able to select the information and protocol to be used for the communication and may use these to maintain good user experience. SUMMARY [0007] Embodiments of the invention may provide a method for ef?cient communication in a netWork. The method may comprise monitoring one or more versions of one or more communication protocols in the netWork and processing at a device a document object model of data to generate raW data. Thereafter, the raW data may be transmit ted by the device in the netWork based on the versions of the communication protocols. [0008] Further embodiments of the invention may provide an apparatus for ef?cient communication in a netWork. The apparatus may comprise a monitoring module con?gured to monitor one or more versions of one or more communication protocols in the netWork. The apparatus may further comprise an analyZer module con?gured to process a document object model of data to generate raW data; and a transmission mod ule con?gured to transmit the raW data, Wherein the raW data may be transmitted based on the versions of the communica tion protocols. [0009] Further embodiments of the invention may provide a system for e?icient communication in a netWork. The sys tem may comprise: means for monitoring one or more ver sions of one or more communication protocols in the net Work; means for processing a document object model of data to generate raW data; and means for transmitting the raW data, Wherein the raW data may be transmitted based on the ver sions of the communication protocols. [0010] Yet further embodiments of the invention may pro vide a computer-readable medium containing instructions for performing a method for e?icient communication in a net Work. The method may comprise: monitoring one or more versions of one or more communication protocols in the netWork; processing at a device a document object model of data to generate raW data; and transmitting the raW data by the device on the netWork, Wherein the raW data may be trans mitted based on the versions of the communication protocols. BRIEF DESCRIPTION OF THE DRAWINGS [0011] Having thus described embodiments of the inven tion in general terms, reference Will noW be made to the accompanying draWings, Which are not necessarily draWn to scale, and Wherein:
  • 10. US 2010/0146112 A1 [0012] FIG. 1 is an environment where various embodi ments of the invention may function; [0013] FIG. 2 is a block diagram ofa system for ef?cient communication in a mobile network, in accordance with an embodiment of the invention; [0014] FIG. 3A is a block diagram illustrating ef?cient communication between a client and a server in the network, in accordance with an embodiment of the invention; [0015] FIG. 3B is a block diagram illustrating ef?cient communication between a client and a server in a network, in accordance with another embodiment of the invention; [0016] FIG. 4 is a ?ow diagram illustrating the processing of data, in accordance with an embodiment of the invention; [0017] FIG. 5 illustrates a ?owchart diagram for ef?cient communication in the network, in accordance with an embodiment of the invention; and [0018] FIG. 6 illustrates a ?owchart diagram for ef?cient communication in the network, in accordance with another embodiment of the invention. DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION [0019] Illustrative embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodi ments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. [0020] FIG. 1 is an environment where various embodi ments of the invention may function. As shown, devices such as client 102a-n may communicate to interact and share infor mation in a network with devices such as a server 104. Clients 102a-n can be, but are not limited to, a mobile phone, a laptop, a personal computer, a smartphone and the like. Similarly, various other devices can be connected in the network through server 104. Clients 102a-n can have different hard ware and software platforms. Examples of software platforms include operating systems such as Windows, Linux, Macin tosh, Symbian, and so forth. Moreover, clients 102a-n may have different hardware features such as the screen siZe, screen resolution, audio and video functionality, processors and so forth. Therefore, the applications executing on the clients 102a-n and server 104 may need to be compatible with the operating systems and hardware platforms of these devices. [0021] Clients 102a-n may interact with each other through server 104 in real-time for activities such as chatting, playing games, banking and so forth. Clients 102a-n may interact from different types of network. For example, client 102a may communicate with server 104 through a mobile network with a maximum bandwidth of 14.4 kbps, and client 1021) may communicate through an Ethernet network with a maxi mum bandwidth of 2 Mbps. Moreover, clients 102a-n can have different hardware and software capabilities. For example, client 102a may be a device such as a mobile phone, and client 1021) may be device such as a personal computer. Therefore, the communication between clients 102a-n may be based on various network and/or device parameters. Examples of the parameters include, but are not limited to, the bandwidth of the network, the type of network, communica tion protocols used, latency in communication, a user’s online Jun. 10,2010 time, processing power of clients 102, processor usage of clients 102, memory of clients 102, and/or other parameters such as electronics, batteries, screen, radio, communications of clients 102 and so forth. [0022] Interactive applications may require a large amount of real-time information transfer between clients 102 and server 104. Therefore, a lot of network bandwidth may be required to avoid latency in the network. For example, in case of interactive multi-player games, real-time information may be transferred regarding the status of the player, statistics of the game, state of the game, game data and so forth. There fore, mechanisms to improve the e?iciency by providing more information on the same bandwidth of the network may be bene?cial. However, a large Central Processing Unit (CPU) or processor, memory and more complex logic may be required to enable e?icient communication in the network. The processor usage of a device can be offset by the use of additional memory in case of real-time applications. For example, the information that is to be processed can be cached before being processed. As a result, more information can be processed: however, more processing usage may then be required to process the cached data. In an embodiment of the invention, the data to be transferred between clients 102a-n and server 104 is processed before transmitting. The pro cessed data may contain raw data and not complete structural information. As a result, the bandwidth required for transmit ting the data may be reduced. The processing of data is dis cussed in detail in conjunction with FIG. 4. Further, clients 102a-n or server 104 may support different versions of com munication protocols. Moreover, the communication proto cols may be updated regularly. Examples of versions of pro tocols include, but are not limited to, Internet Protocol version 4 (IPv4), Internet Protocol version 6 (IPv6), Extensible Mes saging and Presence Protocol @(MPP), and so forth. There fore, for an ef?cient communication the network may need to be monitored for a protocol version, to be able to select a supported protocol. [0023] FIG. 2 is a block diagram ofa system 200 that may be used to improve communication ef?ciency in the network, according to an embodiment of the invention. In an embodi ment of the invention, system 200 is implemented as a hard ware, software or ?rmware on clients 102a-n and/or server 104. System 200 is hereinafter referred to as adaptor 200. [0024] A real-time application can be executed on adaptor 200. For example, the real-time application can be an online computer game. In such a scenario, client 102 may commu nicate regularly with server 104 for game information and/or other services. In an embodiment of the invention, server 104 is a game server. Apparatus 200 may include a monitoring module 202 for monitoring the network. In an embodiment of the invention, monitoring module 202 monitors the network for various parameters. For example, monitor module 202 can monitor the network to gather information regarding the pro tocols used, versions of the protocols, type and amount of data, data to be transmitted and/ or bandwidth of the network. In an embodiment of the invention, monitoring module 202 monitors the network regularly after a predetermined time period. In another embodiment of the invention, monitoring module 202 monitors for the versions of the protocols after transmission of every communication message in the net work. [0025] Adaptor 200 may include an analyZer module 206 for analyZing the data that is to be transmitted in the network. AnalyZer module 206 may analyZe the data based on the
  • 11. US 2010/0146112 A1 information gathered by monitoring module 202. Further, analyzer module 206 may select a version of a communica tion protocol for transmission of data. In an embodiment of the invention, analyZer module 206 selects optimum values for netWork parameters and device resources. Moreover, ana lyZer module 206 may process the data to be transmitted in the network. The data to be transmitted may be processed by analyZer module 206 to generate raW data. In an embodiment of the invention, a Document Object Model (DOM) of data may be processed to generate a serialiZed stream Without the structural information. A DOM is a hierarchical representa tion of fundamental construct relationships; further examples and discussion of DOMs and their construction may be found in co-pending US. patent application Ser. No. , entitled, “Translation of Programming Code,” ?led on (Attorney Docket No. 30036-00004-US), co-as signed, and incorporated by reference herein in its entirety. As a result, the data to be transmitted may be compressed. More over, the compressed data can be decompressed by analyZer module 206 by using, e.g., standard compression mecha nisms. For example, analyZer module 206 may use standard compression algorithms such as ZIP to compress the data. Therefore, the compression ratio of the data may be increased and may be higher than standard compression algorithms. The compression ratio canbe de?ned as the ratio of the siZe of compressed information to the siZe of uncompressed infor mation. AnalyZer module 206 can analyZe the raW data to generate DOM of the data. Moreover, analyZer module 206 can decompress the data that Was earlier compressed using, e.g., standard compression techniques. The raW data may be stored in a memory 204. Further, memory 204 may store information regarding various types and/or versions of com munication protocols. Examples of memory 204 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM) and so forth. [0026] Adaptor 200 may further include transmission mod ule 208 for transmitting data betWeen server 104 and clients 102a-n. In an embodiment of the invention, transmission module 208 may use transport protocols such as HTTP, TCP, UDP, HTTPS, SIP, or other protocols suitable for mobile netWorks for transmitting the data. In an embodiment of the invention, transmission module 208 selects the protocol based on the type of netWork. In another embodiment of the invention, transmission module 208 selects the protocol or the version of the protocol based on the netWork parameters and/or device resources. For example, transmission module 208 may use tunneling to send data in case the netWork does not support a particular protocol. For example, HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Secure Shell (SSH) protocols can be encapsulated With a protocol supported by a mobile phone netWork such as Trans mission Control Protocol (TCP). [0027] FIG. 3A is a block diagram illustrating ef?cient communication betWeen client 102a and server 104 in the network, in accordance With an embodiment of the invention. Typically, in netWork communication, a client may connect to a server, and thereafter the client and the server may pass the data to one another, until one of the tWo closes the connection. As shoWn in block 302A of FIG. 3A, client 102a may check server 104 for a version of a protocol supported and may receive the latest meta information. Meta information is data that describes the characteristics of a resource. For example, format, title and author of a ?le can be referred to as meta information of the information contained in the ?le. The Jun. 10,2010 structure and details of meta information are explained in detail in conjunction With FIG. 4. Thereafter, the information may be transmitted based on the version of the communica tion protocol and the meta information. The meta information may be transmitted through adaptor 200 as shoWn in FIG. 3A. [0028] FIG. 3B is a block diagram illustrating an example of communication betWeen client 102a and server 104 in the netWork, in accordance With another embodiment of the invention. Block 302B depicts the communication betWeen client 102 and server 104 through adaptor 200, in an embodi ment of the invention. The data may be transmitted normally, and the checking of the versions may be done regularly. For example, the version may be checked after transmission of every message. Therefore, version checking may be regularly performed across the different messaging or communication protocols in the netWork. As a result, multiple simultaneous versioning per communication message can be maintained. Moreover, the communication can be sWitched to neW imple mentations When the latest meta information is available. In an embodiment of the invention, client 102a and server 104 can agree to meta protocols in order to optimiZe the siZe of transferred data. [0029] FIG. 4 is a How diagram illustrating the processing of data, in accordance With an embodiment of the invention. Generally, in case of netWork communications, the data may be transmitted With complete structural information. For example, a Document Object Model (DOM) may be con verted to standard transmission language such as JavaScript Object Notation (JSON). JSON is a text-based and human readable format to represent data structures and objects. Sub sequently, the data may be transmitted and converted back from JSON format to actual DOM at the other end. This process may use processing poWer to analyZe the DOM and read the data stream and memory for construction of the data stream. For example, to convert DOM to JSON, associated processing poWer may be de?ned as ‘CPUX’, and memory for stream construction may be de?ned as ‘X’ bytes. Thereafter, the ‘X’ bytes of data may be transferred in the netWork. Similarly, the processing poWer and memory for converting the stream back to DOM may be based on the ‘X’ bytes of transferred data. [0030] As shoWn in FIG. 4, in accordance With an embodi ment of the invention, the data may be processed to generate raW data and then transmitted in the netWork. In an embodi ment of the invention, the raW data includes a header and body. The header of the raW data may contain versioning information and/or other meta-data information. Moreover, the header may include the status of the version. The status for a version can be de?ned as critical or non-critical. For example, in case the status of the version is non-critical, then the communication can be done if other versions of the pro tocol are available. Similarly, if the status is critical, then the speci?c version is used for the communication. The body of the raW data may include the meta information. In an embodi ment of the invention, the body of raW data may comprises three basic element types inside a hierarchical structure: primitives such as integers and strings; arrays such as an ordered collection that may be indexed by integers; and dic tionaries such as an unordered collection that may be indexed by strings. For example, the meta format in the body can be:
  • 12. US 2010/0146112 A1 Example 1 Meta Format in Case of a Chat Message [0031] { NaIne=CHAT, SenderNaIne=STRING, Message=STRING } [0032] As discussed in the example 1, the meta format in case of a chat message can be the ‘Name’ of the application, data type for the name of sender, ‘ SenderName,’ and data type of the ‘Message’. Example 2 Meta Format in Case of a User List Message [0033] Narne=USERLIST, NumUsers=INTEGER, USERS = ARRAY of { UserNaIne=STRING, UserID=INTEGER [0034] As discussed in the example 2, the meta format in case of a user list message can be the ‘Name’ of the applica tion, data type for the name of sender ‘UserName, and data type of the ‘UserID’, and the data type for the number of users, ‘NumUsers’. [0035] In an embodiment of the invention, as shoWn in FIG. 4, DOM 402 of the data may be processed to generate a ?attened DOM 404. Flattened DOM 404 may be generated by processing the data to remove structural meta-information. Flattened DOM 404 is raW data obtained from DOM 402. This process may use processing poWer to analyZe DOM 402 and memory for construction of a data stream. For example, for conversion of DOM 402 to ?attened DOM 404, process ing poWer may be de?ned as ‘CPUY’ for DOM, and the amount of memory for stream construction may be ‘Y’ bytes. Subsequently, ?attened DOM 404 may be transmitted on the network. Thereafter, ?attened DOM 404 may be processed to generate DOM 402. Similarly, processing poWer and memory to convert the stream back to DOM may be based on the ‘Y’ bytes of transferred data. As discussed above, the data may be processed to remove structural information and generate raW data, unlike a standard practice Where the DOM may be converted to another data exchange format like I SON. There fore, the amount of memory ‘Y’ bytes may generally be less than ‘X’ bytes. Moreover, the processing poWer CPUY may generally be less than CPUXbecause processing of less bytes may generally be required. [0036] FIG. 5 illustrates a ?oWchart diagram for commu nication in the netWork, in accordance With an embodiment of the invention. The communication in the netWork can be made ef?cient by managing the bandWidth and processor usage. At 502, the versioning of communication protocols in Jun. 10, 2010 the netWork may be monitored, e.g., by monitoring module 202. Monitoring module 202 may regularly check for changes in the versioning of meta-information. [0037] Thereafter, DOM of data may be processed 504 to generate raW data, e.g., by analyZer module 206. In an embodiment of the invention, the structural information may be removed from the data to generate raW data. In an embodi ment of the invention, the raW data may include a header and body. The header of the raW data may contain versioning information, status of the version and/or other meta-data information. Moreover, the header may include the status of the version. The body of the raW data may include meta information. In an embodiment of the invention, the raW data may be further compressed by using standard compression protocols. The versions and the raW data may be stored, e. g., in memory 204. Subsequently, the raW data may be transmit ted based on the versions of the communication protocol, e. g., by transmission module 208. [0038] FIG. 6 illustrates a ?oWchart diagram for commu nication in the netWork, in accordance With another embodi ment of the invention. The raW data can be received by client 102a-n or server 104 based on the version(s) of the commu nication protocol(s) used to transmit the data. The raW data may then be processed on reception. At 602, the raW data may received based on the version(s) of the communication pro tocol(s), e.g., by transmission module 208. Thereafter, at 604, raW data may be processed to generate DOM of the data, e. g., by analyZer module 206. In an embodiment of the invention, structural information may be added to the data to generate DOM of the data by processing information contained in the header and/or the body of the raW data. [0039] While the above embodiments may describe the use of analyZer module 206 and/or transmission module 208 in both transmitting and receiving data, it is further understood that there may be fully or partially separate versions of one or both of these modules used for transmitting and receiving data. [0040] Furthermore, it is also comprehended that monitor ing module 202 may be omitted from at least one adaptor 200 of a device in a netWork, such as a client 102 or a server 104. In such a case, monitoring may be performed at another site, such as at a different device, and may be forWarded to the device for use in transmitting data. [0041] Embodiments of the invention are described above With reference to block diagrams and schematic illustrations of methods and systems according to embodiments of the invention. It Will be understood that each block of the dia grams and combinations of blocks in the diagrams can be implemented by computer program instructions. These com puter program instructions may be loaded onto one or more general purpose computers, special purpose computers, or other programmable data processing apparatus or computing devices to produce machines, such that the instructions Which execute on the computers or other programmable data pro cessing apparatus create means for implementing the func tions speci?ed in the block or blocks. Such computer program instructions may also be stored in a computer-readable medium, such as a memory, that can direct a computing device or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means that implement the function speci?ed in the block or blocks. Furthermore, such
  • 13. US 2010/0146112 A1 computer program instructions may be provided for doWn load via a network and/ or may be downloaded via a netWork. [0042] While the invention has been described in connec tion With What is presently considered to be the most practical and various embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modi?cations and equivalent arrangements included Within the spirit and scope of the appended claims. [0043] This Written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope the invention is de?ned in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be Within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements With insubstantial differences from the literal languages of the claims. We claim: 1. A communication method, comprising: monitoring one or more versions of one or more commu nication protocols in a netWork to determine one or more monitored versions of the one or more communication protocols; processing at a device a document object model of data to generate raW data; and transmitting the raW data by the device via the netWork, Wherein the raW data is transmitted based on the one or more monitored versions of the one or more communi cation protocols. 2. The method of claim 1 further comprising: receiving further raW data at the device; and processing the further raW data at the device to generate a document object model corresponding to the further raW data. 3. The method of claim 1 further comprising storing the raW data. 4. The method of claim 1, Wherein the processing further comprises compressing the raW data. 5. The method of claim 1, Wherein the processing further comprises decompressing compressed raW data. 6. The method of claim 1, Wherein the raW data comprises a meta information data format. 7. The method of claim 6, Wherein the meta information data format comprises a header, Wherein the header com prises a version of a communication protocol. 8. The method of claim 7, Wherein the header further com prises a status of the version of the communication protocol. 9. The method of claim 6, Wherein the meta information data format comprises a body, Wherein the body comprises meta information. 10. The method of claim 1, Wherein said monitoring com prises dynamically monitoring the versions. 11. The method of claim 1, further comprising doWnload ing computer-executable instructions that, if executed by a computing device, cause the computing device to implement said monitoring, said processing, and said transmitting. 12. The method of claim 1, further comprising providing for doWnloading computer-executable instructions that, if Jun. 10,2010 executed by a computing device, cause the computing device to implement said monitoring, said processing, and said transmitting. 13. A communication method, comprising: receiving, at a ?rst device, raW data transmitted from a second device over a netWork, Wherein the raW data Was transmitted based on one or more versions of one or more monitored communication protocols; and processing the raW data at the ?rst device to generate a document object model corresponding to the raW data. 14. The method of claim 13, Wherein the raW data is received in a compressed format, and Wherein said processing includes decompressing the raW data. 15. The method of claim 13, Wherein the raW data com prises a meta information data format. 16. The method of claim 15, Wherein the meta information data format includes a header that includes a version of a communication protocol used to transmit the raW data. 17. The method of claim 16, Wherein the header further includes a status of the version of the communication proto col. 18. The method of claim 15, Wherein the meta information data format includes a body that includes meta information. 19. The method of claim 13, further comprising doWnload ing computer-executable instructions that, if executed by a computing device, cause the computing device to implement said receiving and said processing. 20. The method of claim 13, further comprising providing for doWnloading computer-executable instructions that, if executed by a computing device, cause the computing device to implement said receiving and said processing. 21. An communication apparatus, comprising: a monitoring module con?gured to monitor one or more versions of one or more communication protocols in a netWork to determine one or more monitored versions of one or more communication protocols; an analyZer module con?gured to process a document object model of data to generate raW data; and a transmission module con?gured to transmit the raW data over the netWork, Wherein the raW data is transmitted based on the one or more monitored versions of the one or more communication protocols. 22. The apparatus of claim 21, Wherein the transmission module is further con?gured to receive raW data at the device; and Wherein the analyZer module is further con?gured to process the raW data at the device to generate a document object model corresponding to the received raW data. 23. The apparatus of claim 21 further comprising a memory con?gured to store the raW data. 24. The apparatus of claim 21, Wherein the analyZer mod ule is con?gured to compress the raW data. 25. The apparatus of claim 21, Wherein the analyZer mod ule is con?gured to decompress the raW data. 26. The apparatus of claim 21, Wherein the raW data com prises a meta information data format. 27. The apparatus of claim 26, Wherein the meta informa tion data format comprises a header, Wherein the header com prises a version of a communication protocol. 28. The apparatus of claim 27, Wherein the header further comprises a status of the version of the communication pro tocol. 29. The apparatus of claim 26, Wherein the meta informa tion data format comprises a body, Wherein the body com prises meta information.
  • 14. US 2010/0146112 A1 30. The apparatus of claim 21, wherein the monitoring module is con?gured to monitor the versions dynamically. 31. A communication apparatus, comprising: a transmission module at a ?rst device of a netWork con ?gured to receive raW data sent by a second device through the network, Wherein the raW data Was transmit ted based on one or more versions of one or more moni tored communication protocols; and an analyZer module con?gured to process the raW data at the ?rst device to generate a document object model corresponding to the raW data. 32. The apparatus of claim 31, Wherein the received raW data is in a compressed format, and Wherein the analyZer module is further con?gured to decompress the raW data. 33. A system for e?icient communication in a netWork, the system comprising: means for monitoring one or more versions of one or more communication protocols in the netWork to obtain one or more monitored versions of the one or more communi cation protocols; means for processing a document object model of data to generate raW data; and means for transmitting the raW data, Wherein the raW data is transmitted based on the one or more monitored ver sions of the one or more communication protocols. 34. The system of claim 33, Wherein the means for trans mitting further comprises: means for receiving further raW data at the device; and means for processing the further raW data at the device to generate the document object model corresponding to the further data. 35. The system of claim 33 further comprising means for storing the raW data. 36. The system of claim 33, Wherein the means for pro cessing further comprises means for compressing the raW data. 37. The system of claim 33, Wherein the means for pro cessing further comprises means for decompressing the raW data. 38. The system of claim 33, Wherein the means for moni toring comprises means for monitoring the versions dynami cally. 39. A communication system, comprising: means for receiving raW data transmitted over a netWork, Wherein the raW data Was transmitted based on one or more versions of one or more monitored communication protocols; and means for processing the raW data to generate a document object model corresponding to the raW data. 40. The system of claim 39, Wherein the raW data is received in a compressed format, and Wherein said means for processing includes means for decompressing the raW data. Jun. 10,2010 41. A computer-readable medium containing program instructions that, if executed by a computing device, cause the computing device to implement a communication method, the method comprising: monitoring one or more versions of one or more commu nication protocols in a netWork to obtain one or more monitored versions of the one or more communication protocols; processing a document object model of data to generate raW data; and transmitting the raW data by the device on the netWork, Wherein the raW data is transmitted based on the one or more monitored versions of the one or more communi cation protocols. 42. The medium of claim 41, Wherein the method further comprises: receiving further raW data; and processing the raW data to generate a document object model corresponding to the further raW data. 43. The medium of claim 41, Wherein the method further comprises storing the raW data. 44. The medium of claim 41, Wherein the processing fur ther comprises compressing the raW data. 45. The medium of claim 41, Wherein the processing fur ther comprises decompressing the raW data. 46. The medium of claim 41, Wherein the raW data com prises a meta information data format. 47. The medium of claim 46, Wherein the meta information data format comprises a header, Wherein the header com prises a version of a communication protocol. 48. The medium of claim 47, Wherein the header further comprises a status of the version of the communication pro tocol. 49. The medium of claim 46, Wherein the meta information data format comprises a body, Wherein the body comprises meta information. 50. The medium of claim 41, Wherein the monitoring com prises dynamic monitoring. 51. A computer-readable medium containing program instructions that, if executed by a computing device, cause the computing device to implement a communication method, the method comprising: receiving, at a ?rst device, raW data transmitted from a second device over a netWork, Wherein the raW data Was transmitted based on one or more versions of one or more monitored communication protocols; and processing the raW data at the ?rst device to generate a document object model corresponding to the raW data. 52. The medium of claim 51, Wherein the raW data is received in a compressed format, and Wherein said processing includes decompressing the raW data. * * * * *