CN1280711C - 用于处理二进制程序文件的方法 - Google Patents

用于处理二进制程序文件的方法 Download PDF

Info

Publication number
CN1280711C
CN1280711C CNB031012949A CN03101294A CN1280711C CN 1280711 C CN1280711 C CN 1280711C CN B031012949 A CNB031012949 A CN B031012949A CN 03101294 A CN03101294 A CN 03101294A CN 1280711 C CN1280711 C CN 1280711C
Authority
CN
China
Prior art keywords
program file
binary
binary program
code
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB031012949A
Other languages
English (en)
Other versions
CN1435756A (zh
Inventor
T·拉法格
G·普拉格内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Entropic Communications LLC
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1435756A publication Critical patent/CN1435756A/zh
Application granted granted Critical
Publication of CN1280711C publication Critical patent/CN1280711C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

本发明涉及一种处理二进制程序文件的方法,该方法包括步骤:通过一个通信网(13)在服务器平台(10)的发送设备(12)和目标平台(18)的接收设备(14)之间以二进制数据分组(24)形式传送二进制程序文件(11);还包括重新排序分组以便适合形成被重新排序的分组群的步骤;以及适合用于连续分析被重新排序的分组群以便识别代码的各部分的处理步骤。一方面的二进制程序文件的下载以及另一方面的由接收设备对二进制文件的处理被根据流水线原理而执行,其因此使得可能更快地处理所述二进制程序文件。

Description

用于处理二进制程序文件的方法
技术领域
本发明涉及处理二进制程序文件的方法。
本发明还涉及一种数据处理设备,其适合用于接收利用服务器平台的发送设备以二进制数据分组的形式通过通信网传输的二进制程序文件。
本发明特别用于为源平台编译的二进制程序文件到为目标平台编译的二进制程序文件的二进制转换,源平台是例如游戏控制台,目标平台是例如也称作“机顶盒”的数字电视接收机解码器、个人数字助理或移动电话。
背景技术
经由通信网下载为源平台编译的二进制程序文件以便在不同的目标平台上运行被分成三个主要步骤:
-从所述通信网实际下载所述二进制程序文件;
-对所述二进制程序文件进行二进制转换以便提供它的被为目标平台而编译的一个版本;以及
-运行以这种方式转换的二进制程序文件。
美国专利5,819,067建议使用一种具有用于二进制转换和二进制程序文件的运行的两个处理器的系统。一个处理器专用于二进制转换,另一个运行被转换的二进制程序文件。第一个处理器通过转换二进制程序文件的第一页而启动。然后,它转换第二页,在此期间,第二个处理器运行所述第一页。因此,这个系统使得可能在二进制程序文件被转换时而被运行。
尽管如此,所述二进制文件可能会占据从几百千字节到几十兆字节的大量存储空间。因此,经由通信网的下载可能会花费许多分钟,并且用户必须等待长时间直到所述二进制文件可以成为可用的。
发明内容
本发明第一个目的是提供一种比现有技术更快的处理二进制程序文件的方法。
为此,根据本发明的处理二进制程序文件的方法包括:
通过一个通信网在服务器平台的发送设备和目标平台的接收设备之间以二进制数据分组形式传送二进制程序文件的步骤,
重新排序分组以便适合形成被重新排序的分组群的步骤,
处理步骤,其适合用于连续分析被重新排序的分组群以便识别代码的各部分,并适合于一旦服务器平台已接收按传送次序的第一二进制数据分组,就将为一个源平台编译的一部分代码转换为为目标平台编译的一部分代码。
本发明使得可能一部分代码一旦被识别,就能够启动二进制转换。一方面的二进制程序文件的下载以及另一方面的由接收设备进行的二进制程序文件的二进制转换和运行被根据流水线原理而执行。因此,处理二进制程序文件的方法使得可能为用户更方便起见而比现有技术更快地处理二进制程序文件。
本发明还涉及一种数据处理设备,其适合用于在硬件或者软件装置的帮助下接收二进制程序文件和实现例如在集成电路中处理二进制程序文件的方法。
附图说明
以下结合附图来阐述本发明的这些和其它方面。
在附图中:
图1表示根据本发明的用于二进制程序文件的通信系统;以及
图2表示根据本发明的处理二进制程序文件的各个步骤的时序图。
具体实施方式
本发明涉及用于如图1所示的在服务器平台和目标平台之间通信的系统。所述目标平台是例如数字电视接收机解码器、个人计算机、个人数字助理或移动电话。所述系统适合用于将二进制程序文件从服务器(10)的发送设备NE(12)经由通信网(13)传送到目标平台(18)的接收设备(14)。所述目标平台具有二进制转换装置BTU(15),其适合用于将服务器发送的二进制程序文件(11)转换成为能够运行在目标平台上的二进制程序文件,也就是,根据所述平台的操作系统和/或处理器CPU(16)被编译的二进制程序文件。
本发明包括启动二进制转换和尽快地运行被传送的二进制程序文件,而无需等待所述文件的传送结束。本发明基于这样一个事实,即文件被在根据TCP/IP协议(传输控制协议/互联网协议)操作的通信网中一次传送几个分组,所述两个协议形成互联网的基础。因此当整个二进制程序文件的传送完成之前,被传送的二进制程序文件的一些内容可用。为此,根据本发明的处理二进制程序文件的方法包括三个实现为如图2所示的时间(t)的函数的主要步骤。
在第一个步骤(21)中,由目标平台的用户选择的二进制文件被一次传送几个分组-分组(24)可以是不同大小的-从服务器平台的发送设备经由通信网到目标平台的接收设备。使用的传送协议最好是FTP协议(“文件传送协议”)。它也可以是HTTP协议(“超文本传送协议”)。
在第二个步骤(22)中,由服务器发送的第一个数据分组一到达,二进制转换装置BTU(15)就开始处理所述二进制程序文件。为此,目标平台包括例如存储器或硬盘的适合于存储数据分组的存储装置,以及二进制转换装置适合用于根据本领域技术人员已知的原则来周期地读取存储装置的内容。
根据本发明的目标平台的接收设备适合用于在分组达到时,读取这些分组。由于文件传送协议FTP不要求分组按照与它们被发送的相同顺序到达,所以接收设备还包括适合用于将分组重新排序为有序的分组群(25)的重新排序装置,这些分组的大小依赖于分组的到达顺序。为了最优化处理二进制程序文件的方法,重新排序装置最好传递最小可能的重新排序的分组群。不过,对于本领域技术人员来说,显然分组也可以按照顺序直接到达,例如在传送协议IPv6的情况中。在这种情况下,重新排序装置的任务是保证分组实际上被按照顺序接收。
当由发送设备发送的第一个数据分组被存储在存储装置中时,第一个分组群包括第一个分组和可能紧随在其后并且在它被传递到二进制转换装置BTU(15)之前被存储的分组。然后,所述装置启动二进制转换。实际上,大多数二进制程序文件具有一个数据结构,其处理(不管它涉及什么)都需要一个被从文件的开始到结束连续执行的解码步骤,在文件开始存在的信息描述文件的剩余部分。在具有这种数据结构的二进制程序文件的主要格式中,ELF、COFF、IEEE695或英特尔的OMF格式被提及。
这种二进制程序文件被分成几个部分。第一个部分含有关于文件的概况信息,如用于识别二进制格式类型的幻数、文件的版本和类型、其生成日期或者文件的大小。它还含有关于随后的各部分的信息,例如各部分的数量和它们从文件的开始的偏移。在读取第一个传输分组的基础上,二进制传输装置因此适合用于准备接收二进制程序文件的剩余部分,特别是通过分配需要的存储器空间,并且构建所述文件的数据结构。当其它分组群被接收到时,二进制转换装置则读取其它部分的内容,并且检测这些部分中代码的各部分。当代码的这些部分被识别时,二进制转换装置准备与它们相关的数据结构。代码的启动一旦可用,二进制转换装置就包括一个适合用于启动所述代码各部分的静态转换的静态转换单元。二进制转换装置还包括一个适合用于一旦执行启动点被在代码内部识别就启动动态转换的动态转换单元。
在第三个步骤(23)中,被转换的指令被发送到目标平台的处理器CPU(16),以便运行它们。在优选实施例中,二进制程序文件的运行还随着所述文件被转换而进行。在一组被转换的指令被运行之后,有时候在一组新的被转换的指令运行之前可能会有一个确定的延迟,该延迟可以在图2中看到。所述延迟可能是由于二进制转换装置在转换随后的一组指令或者在等待代码的各部分被转换的过程中。
可能在硬件或软件装置的帮助下在一个集成电路中实现处理二进制程序文件的方法。在后面的情况中,包含在编程存储器中的计算机程序可能使得电路执行以上描述的处理二进制程序文件的方法的各个步骤。还可以通过读取例如含有计算机程序的盘的数据介质来将计算机程序加载到编程存储器中。所述读取还可以经由例如互联网的通信网执行。在这种情况下,业务提供者将使得计算机程序对于那些感兴趣的人员可用。
本说明书中括号内的参考数字不应当被解释为限制性的。词“包括”及其同义词也应当被在广泛的意义上解释,也就是,不排除在所述词之后列出的元件或步骤之外的元件或步骤的存在,也不排除多个在所述词“包括”之后列出的前面冠有“一个”的元件或步骤的存在。

Claims (4)

1.一种处理二进制程序文件的方法,包括步骤(21):通过一个通信网(13)在服务器平台(10)的发送设备(12)和目标平台(18)的接收设备(14)之间以二进制数据分组(24)形式传送二进制程序文件(11),其特征在于所述方法还包括:
重新排序分组的步骤,适合于形成被重新排序的分组群(25),
处理步骤,其适合于连续分析被重新排序的分组群以便识别代码的各部分,并适合于一旦服务器平台已接收按传送次序的第一二进制数据分组,就将为一个源平台编译的一部分代码转换为为目标平台编译的一部分代码。
2.如权利要求1所述的处理二进制程序文件的方法,其特征在于处理步骤还包括一旦所述一部分代码已被转换就运行该部分代码的子步骤(23)。
3.一种数据处理设备,其适合于接收利用服务器平台(10)的发送设备(12)以二进制数据分组(24)的形式通过通信网(13)传输的二进制程序文件,其特征在于所述数据处理设备包括:
-用于存储数据分组的装置,
-用于重新排序分组的装置,适合于形成被重新排序的分组群,
-处理装置,其适合于连续分析被重新排序的分组群以便识别代码的各部分,并适合于一旦服务器平台已接收按传送次序的第一二进制数据分组,就将为一个源平台编译的一部分代码转换为为目标平台编译的一部分代码。
4.如权利要求3所述的数据处理设备,其特征在于所述处理装置还包括一个处理器(16),其适合于一旦所述一部分代码已被转换就运行该部分代码。
CNB031012949A 2002-01-30 2003-01-27 用于处理二进制程序文件的方法 Expired - Fee Related CN1280711C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0201085A FR2835329A1 (fr) 2002-01-30 2002-01-30 Procede de traitement de fichiers binaires de programmes
FR02/01085 2002-01-30

Publications (2)

Publication Number Publication Date
CN1435756A CN1435756A (zh) 2003-08-13
CN1280711C true CN1280711C (zh) 2006-10-18

Family

ID=27589591

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031012949A Expired - Fee Related CN1280711C (zh) 2002-01-30 2003-01-27 用于处理二进制程序文件的方法

Country Status (8)

Country Link
US (1) US7200547B2 (zh)
EP (1) EP1335284B1 (zh)
JP (1) JP2003248587A (zh)
KR (1) KR100943355B1 (zh)
CN (1) CN1280711C (zh)
AT (1) ATE427530T1 (zh)
DE (1) DE60326897D1 (zh)
FR (1) FR2835329A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7244181B2 (en) 2000-11-14 2007-07-17 Netamin Communication Corp. Multi-player game employing dynamic re-sequencing
US6981128B2 (en) * 2003-04-24 2005-12-27 International Business Machines Corporation Atomic quad word storage in a simultaneous multithreaded system
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
JP2008547122A (ja) 2005-06-20 2008-12-25 エアプレイ ネットワーク インコーポレイテッド サービス提供方法、データ受信方法、データ提供システム、クライアント装置及びサーバ装置
US8705195B2 (en) 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US11082746B2 (en) 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
US8813112B1 (en) 2007-10-23 2014-08-19 Winview, Inc. Method of and apparatus for utilizing SMS while running an application on a mobile device controlling a viewer's participation with a broadcast
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
JP2013517565A (ja) * 2010-01-12 2013-05-16 グーグル インコーポレイテッド オペレーティングシステム自動更新手順
US8656380B1 (en) 2012-05-10 2014-02-18 Google Inc. Profiling an executable
US8839200B1 (en) 2012-07-23 2014-09-16 Google Inc. Generating profiling data
US9471292B2 (en) * 2014-04-18 2016-10-18 Intel Corporation Binary translation reuse in a system with address space layout randomization
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
JP2742394B2 (ja) * 1994-12-02 1998-04-22 株式会社ナムコ ゲームプログラムおよびデータの読込み方法、ならびにこれを用いたゲーム装置
US5819067A (en) * 1996-02-23 1998-10-06 Advanced Micro Devices, Inc. Computer system configured to translate a computer program into a second computer program prior to executing the computer program
EP1513348A1 (en) * 1996-09-11 2005-03-09 Matsushita Electric Industrial Co., Ltd. Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
FR2784845B1 (fr) * 1998-10-14 2001-02-23 France Telecom Procede de basculement de la ou des composantes video d'un premier programme audiovisuel sur la ou les composantes video d'un second programme audiovisuel numerique
US6230184B1 (en) * 1998-10-19 2001-05-08 Sun Microsystems, Inc. Method and apparatus for automatically optimizing execution of a computer program
WO2000046664A2 (en) * 1999-02-05 2000-08-10 Cyrus Intersoft, Inc. Instrumenting streamed classes
US6662356B1 (en) * 1999-06-30 2003-12-09 Microsoft Corporation Application program interface for transforming heterogeneous programs
US6609248B1 (en) * 1999-06-30 2003-08-19 Microsoft Corporation Cross module representation of heterogeneous programs
US6973560B1 (en) * 1999-07-16 2005-12-06 Lamarck, Inc. Fault tolerant and combinatorial software environment system, method and medium
JP2001189755A (ja) * 1999-12-28 2001-07-10 Toshiba Corp パケット通信装置、パケット通信方法および記憶媒体
EP1115265B1 (en) * 2000-01-05 2008-04-16 Mitsubishi Electric Information Technology Centre Europe B.V. Method and a device for determining packet transmission priority between a plurality of data streams
US20020057018A1 (en) * 2000-05-20 2002-05-16 Equipe Communications Corporation Network device power distribution scheme
US20020103942A1 (en) * 2000-06-02 2002-08-01 Guillaume Comeau Wireless java device
US6993754B2 (en) * 2001-11-13 2006-01-31 Hewlett-Packard Development Company, L.P. Annotations to executable images for improved dynamic optimization functions
US6940873B2 (en) * 2000-12-27 2005-09-06 Keen Personal Technologies, Inc. Data stream control system for associating counter values with stored selected data packets from an incoming data transport stream to preserve interpacket time interval information
US6753873B2 (en) * 2001-01-31 2004-06-22 General Electric Company Shared memory control between detector framing node and processor
US6754624B2 (en) * 2001-02-13 2004-06-22 Qualcomm, Inc. Codebook re-ordering to reduce undesired packet generation
US7002974B1 (en) * 2001-03-28 2006-02-21 Netrake Corporation Learning state machine for use in internet protocol networks
US20030088860A1 (en) * 2001-11-02 2003-05-08 Fu-Hwa Wang Compiler annotation for binary translation tools
US20050143938A1 (en) * 2002-06-07 2005-06-30 Eads Deutschland Gmbh Method and device for determining the aerodynamic wall shear stresses on the surface of a body around wich air flows

Also Published As

Publication number Publication date
CN1435756A (zh) 2003-08-13
KR20030066414A (ko) 2003-08-09
FR2835329A1 (fr) 2003-08-01
ATE427530T1 (de) 2009-04-15
US20030177167A1 (en) 2003-09-18
DE60326897D1 (de) 2009-05-14
KR100943355B1 (ko) 2010-02-18
US7200547B2 (en) 2007-04-03
JP2003248587A (ja) 2003-09-05
EP1335284A1 (fr) 2003-08-13
EP1335284B1 (fr) 2009-04-01

Similar Documents

Publication Publication Date Title
CN1280711C (zh) 用于处理二进制程序文件的方法
CN102375882B (zh) 一种快速访问网页的方法、装置及一种浏览器
CN101743530B (zh) 用于部分可用内容的防病毒扫描的方法和系统
AU694386B2 (en) System and method for locating pages on the world wide web and for locating documents from a network of computers
CN1280752C (zh) 选择镜像站点服务器的系统和方法
WO2001033345A1 (en) System and method for enforcing politeness while scheduling downloads in a web crawler
CN103207785B (zh) 数据下载请求的处理方法、装置及系统
CN1159631A (zh) 客户/服务器计算机系统中处理不同协议方法调用的方法和装置
CN103391312B (zh) 资源离线下载方法及装置
WO2006043274A2 (en) Method and system for accelerating downloading of web pages.
CN103731472B (zh) 采用p2p技术下载文件的方法和系统、客户端
CN105939313B (zh) 状态码重定向方法及装置
CN101326493A (zh) 用于多处理器服务器中的负载分配的方法和装置
JP2011520169A (ja) ディレクトリへのアクセスのための方法及びデバイス
US6865732B1 (en) Providing an embedded application specific web server
CN104239480B (zh) 一种快速访问网页的方法、装置
CN110929194B (zh) 一种基于摘要算法的静态资源文件缓存控制方法及系统
CN104994143B (zh) 文件下载方法和装置
CN103561082B (zh) 压缩请求的处理方法及服务器
CN101667139A (zh) 基于集合类型对象的服务程序调用方法、装置及系统
CN103338233A (zh) 负载均衡设备、Web服务器及请求信息处理方法和系统
CN110750744A (zh) 页面呈现方法及装置
CN112751931B (zh) 网络连接方法和装置、电子设备、及介质
CN108197160A (zh) 一种图片加载方法及装置
US10021207B1 (en) Architecture for proactively providing bundled content items to client devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20071012

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20071012

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

ASS Succession or assignment of patent right

Owner name: TRIDENT MICROSYSTEMS (FAR EAST)CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20100819

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: EINDHOVEN, NETHERLANDS TO: CAYMAN ISLANDS, GRAND CAYMAN ISLAND

TR01 Transfer of patent right

Effective date of registration: 20100819

Address after: Grand Cayman, Cayman Islands

Patentee after: Trident Microsystems (Far East) Ltd.

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

ASS Succession or assignment of patent right

Owner name: ENTROPY COMMUNICATION CO., LTD.

Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD.

Effective date: 20130218

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130218

Address after: American California

Patentee after: Entropic Communications, Inc.

Address before: Grand Cayman, Cayman Islands

Patentee before: Trident Microsystems (Far East) Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061018

Termination date: 20150127

EXPY Termination of patent right or utility model