CN1866260A - 向用户可操作设备提供程序的方法和系统 - Google Patents
向用户可操作设备提供程序的方法和系统 Download PDFInfo
- Publication number
- CN1866260A CN1866260A CNA2006100937039A CN200610093703A CN1866260A CN 1866260 A CN1866260 A CN 1866260A CN A2006100937039 A CNA2006100937039 A CN A2006100937039A CN 200610093703 A CN200610093703 A CN 200610093703A CN 1866260 A CN1866260 A CN 1866260A
- Authority
- CN
- China
- Prior art keywords
- program
- operable device
- user operable
- information
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在服务器系统中,第一接收单元接收包含目标程序应当满足的搜索要求并且通过所述通信网络从所述用户可操作设备发送的请求。搜索单元搜索多个程序以检索表示至少一个程序的信息。所述至少一个程序满足所述搜索要求。第一下载单元创建表示所述检索的信息并且可通过所述用户可操作设备查看的第一信息页面,并且通过所述通信网络将所述第一信息页面下载到所述用户可操作设备。
Description
相关申请的交叉引用
本申请基于分别于2005年2月16日和2005年12月21日提交的日本专利申请2005-039128和2005-368126。本申请要求这两个日本专利申请中每一个的优先权,因此其说明书全部合并于此以资参考。
发明领域
本发明涉及一种用于通过通信网络访问服务器以获取想要的程序的方法和系统。本发明还涉及一种用于向用户可操作设备提供用户想要获取的程序的方法和系统。
背景技术
各种类型的应用程序已经安装在诸如条形码读取器这样的手持式信息读取终端中,以使它们执行特定的任务。软件开发者已经在专用软件开发环境中开发了这些用于手持式信息读取终端的应用程序。例如,响应于用户的请求,软件开发者在开发者的专用软件开发环境中专门开发了这样的应用程序。
然而,以上阐述的这种应用程序开发要求在软件开发者与用户之间的详细配置。如果最终交付的应用程序不能工作以满足用户的期望,那么必须要求该应用程序的重新开发,从而导致用于开发应用程序的时间和成本上升。
因此,本申请的申请人提供了这样的开发程序,其允许用户在GUI(图形用户界面)环境中容易地开发应用程序。
基于开发程序的应用程序开发环境被一个一个单独地安装在每个用户的独立型个人计算机中。这可能致使某些用户重复地开发那些能够共同满足功能相同用户的需求的应用程序。
发明内容
本发明在这样的背景下作出,以便本发明的优选实施例能够防止重复地开发能够共同满足功能相同的用户需求的应用程序。
根据本发明的一个方面,提供一种系统。根据一个方面的系统包括:服务器计算机,其中存储有多个程序;以及,用户可操作设备,通过通信网络可与所述服务器计算机进行通信。所述用户可操作设备包括:请求单元,配置为通过所述通信网络向所述服务器计算机请求目标程序应当满足的搜索要求。所述服务器计算机包括:接收单元,配置为接收所述搜索要求;搜索单元,配置为搜索所述多个程序,以检索表示至少一个程序的信息。所述至少一个程序满足所述搜索要求。所述服务器计算机还包括下载单元,配置为通过所述通信网络将所述检索的信息下载到所述用户可操作设备。所述用户可操作设备还包括第一显示单元,配置为显示所述下载的信息。
根据本发明的另一方面,提供一种服务器系统,其中存储有多个程序并且通过通信网络可与用户可操作设备进行通信。该服务器系统包括第一接收单元,配置为接收包含目标程序应当满足的搜索要求并且通过所述通信网络从所述用户可操作设备发送的请求。该服务器系统还包括搜索单元,配置为搜索所述多个程序以检索表示至少一个程序的信息,所述至少一个程序满足所述搜索要求。该服务器系统还包括第一下载单元,配置为创建表示所述检索的信息并且可通过所述用户可操作设备查看的第一信息页面,以及通过所述通信网络将所述第一信息页面下载到所述用户可操作设备。
根据本发明的又一方面,提供一种方法,用于通过通信网络向用户可操作设备提供多个程序的至少之一。该方法包括接收包含目标程序应当满足的搜索要求并且通过所述通信网络从所述用户可操作设备发送的请求,并且搜索所述多个程序以检索表示至少一个程序的信息。所述至少一个程序满足所述搜索要求。该方法包括创建第一信息页面,所述第一信息页面表示所述检索的信息并且可通过所述用户可操作设备查看,以及通过所述通信网络将所述第一信息页面下载到所述用户可操作设备。
附图简述
根据以下参照附图的实施例描述,本发明的其他目的和方面将变得清楚明白,在附图中:
图1是示意性地举例说明了根据本发明第一实施例的服务器-客户端系统结构的例子的系统配置图;
图2是示意性地举例说明了图1中所示的服务器-客户端的功能结构的例子的方框图;
图3A是示意性地举例说明了根据第一实施例的由服务器和客户端执行的操作流程的流程图;
图3B是示意性地举例说明了根据第一实施例的由服务器和客户端执行的操作流程的流程图;
图4是示意性地举例说明了在客户端的显示设备的屏幕上所显示的要求输入网页的例子的视图;
图5是示意性地举例说明了在显示设备的屏幕上所显示的应用程序搜索结果网页的例子的视图;
图6是示意性地举例说明了作为存储在服务器中的应用程序的一个代表的、固定资产库存清点程序的文件结构的例子的视图;
图7是示意性地举例说明了在显示设备上所显示的程序结构网页的例子的视图;
图8是示意性地举例说明了服务器的程序模拟器结构的例子的视图。
图9是示意性地举例说明了对应于固定资产库存清点程序的,并且在显示设备的屏幕上显示的程序模拟器网页的例子的视图;
图10A是示意性地举例说明了根据第一实施例的程序模块结构的例子的视图;
图10B是示意性地举例说明了根据第一实施例的另一程序模块结构的例子的视图;
图11是示意性地举例说明了根据第一实施例的主文件的文件结构的特定例子的视图;
图12是示意性地举例说明了根据第一实施例的基于子程序的数据登记过程的视图;
图13是示意性地举例说明了在显示设备的屏幕上显示的程序编辑器网页的例子的视图;
图14是示意性地举例说明了当在其上拖放图标时的程序编辑器网页的视图;
图15是示意性地举例说明了根据第一实施例的用于设置自变量参数的详细设置网页的例子的视图;
图16是示意性地举例说明了在显示设备的屏幕上显示的程序下载确认网页的例子的视图;
图17是示意性地举例说明了根据第一实施例的由服务器和客户端执行的操作流程的流程图;
图18是示意性地举例说明了根据第一实施例的由服务器和客户端执行的操作流程的流程图;
图19是示意性地举例说明了根据第一实施例的在显示设备的屏幕上显示的解除密钥输入屏幕的一个例子的视图;
图20是示意性地举例说明了根据本发明第二实施例的存储媒体的存储区域结构的例子的视图;
图21是示意性地举例说明了根据本发明第二实施例的服务器-客户端系统结构的例子的系统配置图;
图22是示意性地举例说明了根据第二实施例的用于由读取终端获取许可密钥的程序的顺序图;
图23是示意性地举例说明了将读取终端更换为一个新的读取终端,从读取终端中移除存储媒体,并将所移除的存储媒体插入到该新的读取终端的插槽中的视图;
图24A是示意性地举例说明了根据本发明的以一对一的关系将许可密钥给予所下载应用程序的配置的例子的视图;
图24B是示意性地举例说明了根据本发明的分别将许可密钥给予所下载应用程序的功能的配置的另一个例子的视图;
图24C是示意性地举例说明了根据本发明得将一个许可密钥给予所下载的应用程序的多个功能的配置的又一个例子的视图。
本发明实施例的详细描述
以下将参照附图,对本发明的实施例进行详细描述。
第一实施例
图1示意性地举例说明了根据本发明第一实施例的服务器-客户端系统SC结构的例子。如图1所示,服务器-客户端系统SC包括可通信地连接到作为通信网络例子的因特网1的服务器(服务器计算机)2;该服务器2充当系统SC中的主计算机。服务器2是例如由诸如光学信息读取器4这样的手持式信息读取终端的销售者安装的;这些手持式信息读取终端在下文中可以简单地称作读取终端。服务器2通过因特网1将应用程序下载到各个读取终端4,以使它们执行特定的任务。
服务器-客户端系SC还包括客户端(客户端计算机)3,其由例如可通信地连接到因特网1的个人计算机组成。服务器-客户端系统SC还包括读取终端4,每一个读取终端均能够光学地读出诸如一维代码、二维代码等这样的信息代码(标识码)。
读取终端4的每一个均能够使用电缆或不使用电缆,建立与客户端3的通信。客户端3和读取设备4提供用户可操作设备,而用户可操作设备已经位于例如具有多个货架的店铺中,在这些货架上已经相应地放置了诸如产品、零件、文档等这样的多种商品。
图2示意性地举例说明了服务器-客户端系统SC的功能结构的例子。
服务器2至少由CPU和存储媒体组成。如图2所示,服务器2功能上包括网络服务器5、搜索引擎6、程序模拟器7、和数据库8。功能5至7能够基于安装在其中的程序,由服务器(CPU)2的操作来实现,而数据库5已经存储在存储媒体上。
数据库8在其中存储了应用程序(程序文件)9和程序模块10。应用程序9被设计成使读取终端4执行特定的任务。在第一实施例中,应用程序9包含固定资产库存清点程序9a1、文档库存清点程序9a2、和库存清点数据登记程序9a3。
每个应用程序9均由文件结构形式的某些程序模块10组成。每个程序模块10优选以程序语言的形式来描述,该程序语言通过改进的BASIC以形成子程序而获得。在下文中将详细描述每个应用程序的文件结构的具体例子。
网络服务器5包含能够使用网络浏览器查看的网页,例如HTML或XML文件。网络服务器5可操作用于执行:
静态任务,通过因特网1将网页下载到网络浏览器上;和
动态任务,响应于用户的请求,运行诸如GGI(公共网关接口)这样的专用程序,以便作为网页下载运行该专用程序的结果。
特别地,网页的一些包含字段,在该字段中用户(用户的网络浏览器)能够输入请求,从而允许网页服务器5执行对应于该请求的至少一个专用程序。网络服务器通过因特网1将运行该至少一个专用程序的结果发送至用户的网络浏览器。
例如,在第一实施例中,网络服务器5包括要求输入网页W1,多个程序结构网页W2,对应于应用程序9的多个程序模拟器网页W3,和对应于应用程序9的多个编辑器网页W4。
应用程序9通过网络服务器5的操作,在因特网上对公众开放,从而它们可以经由将在下文描述的网络浏览器的操作,通过因特网1来获取。
搜索引擎6检索数据库5,以获取满足从网络服务器5传递过来的用户搜索要求的数据项,诸如至少一个应用程序和/或至少一个程序模块,由此将该数据项返回至网页服务器5。
程序模拟器7执行从网页服务器5传递过来的至少一个应用程序9的模拟。
另外,客户端3由安装了GUI的具有各种外围设备的计算机构成,这些外围设备包括显示设备3a,键盘3b,作为指示设备例子的鼠标3c,和存储媒体;这些外围设备3a至3c提供了GUI的一部分。
特别地,客户端3包括基于GUI的网络浏览器11和通信工具12。
网络浏览器11已经安装在客户端3中。网络浏览器11使用户能够访问连接至因特网1的网络服务器,并且能够使用GUI观看网页形式的从网络服务器上下载的信息。另外,网络浏览器11允许用户使用GUI,向网络服务器输入请求。
特别地,GUI能够在显示设备3a的屏幕上用图形地显示信息。GUI还允许用户通过使用键盘3b和/或鼠标3操纵在显示设备3a的屏幕上的图标(图片)和窗口,来与客户端3通信。
通信工具12由已经从服务器2下载的将要安装在客户端3中的程序,和/或诸如与安装在客户端3中的操作系统一起提供的Java小应用程序这样的小应用程序构成。
另外,客户端3包括至少一个主文件MF,例如命名为“MASTER.DAT”。如图1中所描述的,该主文件MF包含多条记录,每一条记录均由多个字段(字段1,字段2,……)组成,从而在每条记录的相应字段中存储的数据项彼此相互关联。
例如,商品的类型已经分别存储在这些记录的相应字段2中。已写入了唯一标识码的标签已经分别贴到这些商品上。对应于这些商品的唯一标识码用作商品的控制号码,并且已经存储在字段1中以便分别对应于字段1中存储的名称。作为标识码,已经使用作为条形码例子的JAN码、码128,以及作为二维代码例子的QR码。
每一个读取终端4均由安装了GUI的具有包含了显示设备4a和按键部分4b的外围设备的计算机构成。
特别地,例如,每个读取终端4均可以采用两种类型的应用程序系统(应用执行程序)中的任意一种。
两种类型之一的应用程序执行系统4c1是一种操作系统(OS),它被设计为通过逐行地翻译其中的参数并立即执行指定的操作来执行应用程序9的源代码;这些参数构成了参数文件。
其另一种的应用程序执行系统4c2被设计为,接收由通信工具12将应用程序9的源代码翻译成的目标(目标代码),并直接运行它。
接下来,下面将描述服务器-客户端系统SC的操作。
图3A和3B示意性地举例说明了由服务器2和客户端3执行的操作流程。
在图3A的步骤S1中,用户启动网络浏览器11以访问服务器2的网络服务器5,从而网络服务器2提取要求输入网页W1并通过因特网1将它下载至客户端3。其后,在步骤S1中服务器2等待直到从网络浏览器11发送请求(要求)。
在步骤S2中,客户端3的网络浏览器11接收所下载的要求输入网页W1,并且在显示设备3a的屏幕上图形地显示它。
图4示意性地举例说明了在显示设备3a的屏幕上显示的要求输入网页W1的例子。
如图4中所示,要求输入网页W1包含关键字(文本)框13,“搜索”命令按钮14,“选项选择”选项按钮OB1和OB2,“读取目标选择”复选框CH1至CH4,和“文件处理”复选框CH5至CH8。
关键字框13允许用户输入用于搜索期望的一个应用程序9的关键字。“搜索”命令按钮14是可点击按钮,从而点击按钮14允许客户端3向服务器2发送目标应用程序9应当满足的搜索要求;在要求输入网页W1上,输入该搜索要求作为应用程序搜索请求(要求)。
选项按钮OB1至OB2和复选框CH1至CH8允许用户输入搜索要求。
特别地,“读取目标选择”复选框CH1至CH4允许用户选择包括“条形码,二维代码”、“RFID(无线电频率标识)”、和“IC卡”的读取目标中的至少一种。
“文件处理”复选框CH5至CH8允许用户选择包括“主文件参考”、“主文件登记”、“引入源登记”、和“数量匹配”的文件操作中的至少之一。例如,“主文件参考”的文件操作表示参考主文件MF,而“主文件登记”的文件操作表示在主文件MF中登记数据项。
选项按钮OB 1意指“或运算符”,而“选项按钮OB2”意指“与运算符”。
特别地,如图4中所示,如果用户在复选框中选中CH1、CH2、CH5和CH6,并且点击(选择)选项按钮OB1,就会创建一个应用程序搜索请求。该应用程序搜索请求表示检索至少一个应用程序9,该应用程序与作为读取目标的“条形码”或“二维代码”相关联,并且与作为文件处理的“主文件参考”或“主文件登记”相关联。
另一方面,如果用户在复选框中选中CH1、CH2、CH5和CH6,并且点击选项按钮OB2,就会创建一个应用程序搜索请求。该应用程序搜索请求表示检索至少一个应用程序9,该应用程序与作为读取目标的“条形码”和“二维代码”相关联,并且与作为文件处理的“主文件参考”和“主文件登记”相关联。
如图4中所示,由于用户在关键字框13中输入了库存清点,并且点击了选项按钮OB1,因此创建了一个应用程序搜索请求。该应用程序搜索请求表示检索至少一个应用程序9,该应用程序与作为读取目标的“条形码”或“二维代码”相关联,并且与作为文件处理的“主文件参考”或“主文件登记”相关联。
然后,在步骤S3中,用户在搜索命令按钮14上的点击允许将所创建的应用程序搜索请求通过因特网1从网络浏览器11发送至服务器2。
在步骤S4中,服务器2的网络服务器5接收从客户端3发送的应用程序搜索请求,并将它传递给搜索引擎6。在步骤S4中,搜索引擎6搜索数据库8,并且如果确定至少一个应用程序9满足该应用程序搜索请求,则将包括代表该至少一个应用程序9的信息的搜索结果传递给网络服务器5。在步骤S4中,网页服务器5创建一个例如以列表格式表示该搜索结果的网页,并将所创建的网页下载至客户端3,作为应用程序搜索结果网页W5。
注意,在步骤S4中,如果确定没有应用程序9满足该应用程序搜索请求,那么搜索引擎6查找至少一个应用程序9,该应用程序在应用程序搜索请求中具有最低数目的未满足要求。然后,搜索引擎6将该至少一个应用程序9传递给网络服务器5。
在步骤S5中,客户端3的网络浏览器11接收所下载的应用程序搜索结果网页W5,并且在显示设备3a的屏幕上图形地显示它。
图5示意性地举例说明了在显示设备3a的屏幕上显示的应用程序搜索结果网页W5的例子。如图5中所示,应用程序搜索结果网页W5由表示搜索引擎6找到的应用程序9的数目和名称的表单构成。
在图5所示的例子中,固定资产库存清点程序9a1、文档库存清点程序9a2、库存清点数据登记程序9a3的应用程序9的名称被可点击地显示,以分别连接到在显示设备3a的屏幕上的对应程序结构网页W2和它们的内容。
在步骤S6中,用户查看在显示设备3a的屏幕上显示的应用程序搜索结果网页W4,并且确定在网页W4中的至少有一个应用程序9是否满足所输入的搜索要求。如果在步骤S6中确定例如在网页W4中的应用程序9之一满足所输入的搜索要求,那么在步骤S7中,用户使用程序模拟器7,评估满足所输入搜索要求的该一个应用程序9。
特别地,如果在步骤S6中确定例如图5中所示的网页W4中的固定资产库存清点程序满足所输入的搜索要求,那么用户在网页W4上点击固定资产库存清点程序9a1的名称。这允许网络服务器5提取连接到固定资产库存清点程序9a1的名称的程序结构网页W2,并且将网页W2下载至网络浏览器11,从而在步骤S7a中,在显示设备3a的屏幕上显示网页W2。
图6示意性地举例说明了作为存储在网络服务器5中的应用程序9的一个代表的固定资产库存清点程序9a1的文件结构的例子。如图6中所示,每个应用程序9优选不包括直接描述的程序代码,而是包括文件格式的参数集合。
每个应用程序9均具有设计为重复地执行多个程序模块10的结构。例如,固定资产库存清点程序9a1具有这样的结构,其被设计为重复地执行作为程序模块10的子程序SUB-A、SUB-B、SUB-C、和SUB-D。将名称和参数(自变量参数)分别设置为对应于子程序SUB-A、SUB-B、SUB-C、和SUB-D。
例如,当固定资产库存清点程序9a1调用名称“条形码”(子程序SUB-A)时,子程序SUB-A的程序(条形码输入程序)使用表示读取代码、该读取代码的数字号码、以及是否显示该读取代码的参数。注意,条形码还集体地意指标识码,诸如一维代码和二维代码。
在子程序SUB-A中,与读取代码参数相对应的项“A、K、Q”表示子程序SUB-A能够将JAN代码(对应于“A”),码128(对应于“K”),和QR代码(对应于“Q”),取作表示该读取代码的自变量参数。与数字号码参数相对应的项“10至23”表示子程序SUB-A能够获取该读取代码的数字范围。另外,与数据显示参数相对应的项“1”表示显示该读取代码。子程序SUB-A的这些项可以重新设置。
类似地,由固定资产库存清点程序9a1调用的子程序SUB-B的程序(主文件参考程序)使用表示检查源、该检查源的检查字段、以及其参考字段的自变量参数。由固定资产库存清点程序9a1调用的子程序SUB-C的程序(主文件参考程序)使用表示先前屏幕清除、该清除的清除区域、和将要显示的结果的显示位置的自变量参数。此外,由固定资产库存清点程序9a1调用的子程序SUB-D的程序(数据登记程序)使用表示登记文件、该登记文件中的记录数目、以及其字段结构的自变量参数。
具体而言,当应用程序执行系统4c1或4c2能够执行固定资产库存清点程序9a1并且读取终端4扫描了置于店铺的货架上的商品所贴的标签上所写的标识码(JAN码、码128,或QR码)时,固定资产库存清点程序9a1调用子程序SUB-A。这允许取决于读取数据的参数自变量被传递给子程序SUB-A,从而固定资产库存清点程序9a1给出(honor)读取代码。
接下来,固定资产库存清点程序9a1调用子程序SUB-B,从而将参数自变量传递给子程序SUB-B。
具体而言,将包含作为检查源的“MASTER.DAT”、作为检查字段的“字段1”、和作为参考字段的“字段2”的自变量参数传递给子程序SUB-B。这允许对应于字段1的在主文件(MASTER.DAT)MF的字段2中存储的数据项被检索。
接下来,固定资产库存清点程序9a1调用子程序SUB-C,从而将参数自变量传递给子程序SUB-C。
具体而言,将包含作为先前屏幕清除的“1(打开)”、作为清除区域的“0(全部)”、和作为显示位置的“X:1,Y:4”的自变量参数传递给子程序SUB-C。这允许正在显示设备4a的屏幕上显示的先前屏幕被全部清除,从而在显示设备4a的屏幕上,在其横纵坐标(X和Y坐标)(1,4)的位置处显示检索到的数据项。
接下来,固定资产库存清点程序9a1调用子程序SUB-D,从而将参数自变量传递给子程序SUB-D。
具体而言,将包含作为登记文件的“RSFILE.DAT”、作为记录数目的“1500”、和作为字段结构的“10,5,8”的自变量参数传递给予程序SUB-D。这允许读取数据被登记在命名为“RSFILE.DAT”的登记文件上;该登记文件由高达1500条记录构成,每一条记录均由第一、第二、和第三字段(字段1、字段2、和字段3)构成。每条记录的第一、第二、和第三字段被分开,以允许分别将10比特、5比特、和8比特的数据项存储在其中。
每当读取终端4扫描置于店铺中的货架上的商品所贴的标签上所写入的标识码(JAN码、码128、或QR码)时,重复基于子程序SUB-A的标识码输入过程,基于子程序SUB-B的主文件参考过程,基于子程序SUB-C的参考结果显示过程,和基于子程序SUB-D的读取代码登记过程。
图7示意性地举例说明了连接至固定资产库存清点程序9a1的名称的并且在显示设备3a的屏幕上显示的程序结构网页W2的例子。
如图7中所示,程序结构网页W2包含图标I-A至I-D,代表与子程序(程序模块)SUB-A至SUB-D相对应的程序的名称。另外,程序结构网页W2包含可点击的“操作检查”命令按钮15和可点击的“下载”命令按钮16。
图标I-A至I-D中的每一个均连接至与之相对应的参数显示窗口DW。例如,如图7中所示,在图标I-A上双击允许显示参数窗口DW,该窗口代表读取代码(JAN代码、码128、和QR代码)、数字号码(10至30)和数据显示(ON)的自变量参数。
点击“操作检查”命令按钮15允许客户端3向服务器2发送程序模拟器启动请求。点击“下载”命令按钮16使客户端3能够向服务器2发送对应的应用程序下载请求。
当用户在确定是否购买选择的应用程序9之前想要校查该选择的应用程序(程序9a1)的操作时,用户点击“操作校查”命令按钮15。该点击允许网络浏览器11和网络服务器5启动程序模拟器7,从而在步骤S7b中,程序模拟器7提取与所选的固定资产库存清点程序9a1相对应的程序模拟器网页W3。网络服务器5将网页W3下载至网络浏览器11上,从而在步骤S7c中,在显示设备3a的屏幕上显示网页W3。
图8示意性地举例说明了程序模拟器7结构的例子。在图8中,程序模拟器7主要由主程序17构成。
将主程序17配置为按照预定次序,顺序地调用和运行所选应用程序9的程序模块(子程序)10。在第一实施例中,例如,将主程序17配置为按照SUB-A、SUB-B、SUB-C、和SUB-D的次序,顺序地调用和运行固定资产库存清点程序9a1的子程序SUB-A、SUB-B、SUB-C、和SUB-D。
在每个子程序(程序模块)的运行期间,将主程序17配置为在当显示数据时在程序模拟器网页W3(参见下文的图9)上生成的虚拟屏幕18上显示数据。另外,将主程序17配置为当正在运行的子程序(程序模块)要求数据时,参考虚拟文件(默认文件)19并检索该数据;该虚拟文件19优选已经在服务器2中生成。例如,在虚拟文件19中,已经存储了一些标识码,该一些标识码等同于存储在主文件MF中一些标识码。
而且,当正在运行的子程序(程序模块)等待来自读取终端4的输入操作时,将主程序17配置为使用诸如光学信息读取器(条形码读取器:BCR)或键盘等这样的在程序模拟器网页W3(参见下文中的图9)上生成的虚拟输入设备(屏幕上输入设备)20来接受输入操作。
图9示意性地举例说明了对应于固定资产库存清点程序的并且在显示设备3a的屏幕上显示的程序模拟器网页W3的例子。
如图9中所示,程序模拟器网页W3包含虚拟屏幕18和虚拟输入设备20。特别地,诸如读取终端4这样的输入设备的图片,在网页W3上显示为虚拟读取终端21,从而虚拟读取终端21的屏幕对应于虚拟屏幕18,而其按键部分对应于虚拟输入设备20。点击虚拟读取终端21的按键部分(虚拟输入设备20)的按键图片允许将文本数据输入到程序模拟器7中。从程序模拟器7传送过来的数据能够在虚拟读取终端21的虚拟屏幕18上显示。
另外,程序模拟器网页W3包含可点击的“运行”命令按钮22,可点击的“退出”命令按钮23,和可点击的“编辑”命令按钮24。而且,在程序模拟器网页W3上,类似于图7,显示固定资产库存清点程序9a1(对应于程序模块SUB-A至SUB-D的程序名称)的结构。
当开始检查选择的应用程序(固定资产库存清点程序)9a1的操作时,用户点击“运行”命令按钮22。该点击允许网络浏览器11和网络服务器5向程序模拟器7发送运行请求。
响应于接收从客户端3发送的运行请求,程序模拟器7的主程序17解译所选应用程序9的程序结构,并按照预定次序(参见图8),顺序地调用和运行构成所选应用程序9的程序模块10。例如,图10A和图10B示意性地举例说明了程序模块10(SUB-A和SUB-C)的结构的例子。如上所述,子程序SUB-A和SUB-C中的每一个均采用通过改进的BASIC以形成子程序而获得的程序语言来描述。
特别地,由于将要模拟的固定资产库存清点程序9a1具有图6所示的文件结构,因此程序模拟器9a1的主程序17调用子程序SUB-A,从而将相应的参数自变量传递给子程序SUB-A。子程序SUB-A等待基于虚拟读取终端21的按键部分(虚拟输入设备)20的输入操作。
当用户点击虚拟输入设备20的读取键时,在步骤S7d中子程序SUB-A从虚拟文件20中检索至少一个标识数据,并且由于将数据显示参数被设置为“1”(打开),因此在虚拟屏幕18上显示检索到的标识数据作为虚拟读取数据。
接下来,主程序17调用子程序SUB-B,从而将相应的自变量参数传递给子程序SUB-B。
由于检查源参数被设置为“MASTER.DAT”,检查字段参数被设置为“字段1”,以及参考字段参数被设置为“字段2”,因此子程序SUB-B参考主文件MF的每条记录的字段1,以找出与虚拟读取数据相对应的任意一条记录。当找到了与虚拟读取数据相对应的任意一条记录时,在步骤S7e中,子程序SUB-B参考与所找到的记录相对应的字段2,由此检索存储在所参考的字段2中的数据项。
例如,如图11中所示,假设在记录1至3的字段1中分别存储了标识码“1234567890”、“9348923999”和“102000030040”。另外,假设在记录1至3的字段2中分别存储了与标识码“1234567890”、“9348923999”和“102000030040”相对应的类型“桌上型电脑”、“笔记本”和“文件服务器”。
在这些假设中,当虚拟读取数据为“9348923999”时,子程序SUB-B参考主文件MF的每条记录的字段1以找出记录2,并且参考与所找到的记录2相对应的字段2,由此检索到存储在所参考的字段2中的数据项“笔记本”。
其后,主程序17调用子程序SUB-C,从而将相应的自变量参数传递给子程序SUB-C。
由于先前屏幕清除参数被设置为“1(ON)”,并且清除区域参数被设置为“0(全部)”,因此子程序SUB-C全部清除了在虚拟屏幕18上显示的先前屏幕。接下来,在步骤S7f中,由于显示位置参数被设置为“X:1,Y:4”,因此子程序SUB-C在虚拟屏幕18上,在其X和Y坐标(1,4)的位置处显示检索到的数据项“笔记本”,作为主文件参考的结果。
其后,主程序17调用子程序SUB-D,从而将相应的自变量参数传递给子程序SUB-D。
由于登记文件参数被设置为“RSFILE.DAT”,并且字段结构参数被设置为“10,5,8”,因此子程序SUB-D在命名为“RSFILE.DAT”的登记文件上登记读取数据(虚拟标识码)。
例如,当读取数据(标识码)为图12中所示的“1234567890”时,子程序SUB-D存储:
读取数据“1234567890”在记录1的字段1中作为标识码(控制号码);
读取数据的数量登记“1”在记录1的字段2中;和
代表读取数据的登记日期“1990202”的数据项在记录1的字段3中。注意,将键盘输入设置为子程序SUB-D的自变量参数的登记数量,因此子程序SUB-D能够将通过点击虚拟读取终端21的按键部分20而输入的数据项目,存储在记录1的字段2中。
如上所述,在步骤S7g中,用户能够基于在虚拟读取终端21的虚拟屏幕18上显示的结果数据,评估固定资产库存清点程序9a1的操作。
当评估固定资产库存清点程序9a1的操作检查为OK(在步骤S7g中判断为是)时,用户点击“退出”命令按钮23。该点击允许网络浏览器11在显示设备3a的屏幕上显示程序结构网页W2。其后,在步骤S7h中,用户点击“下载”命令按钮16。在步骤S7h中,该点击允许网页浏览器11向服务器2发送应用程序9a1的下载请求。
当从客户端3(网络浏览器11)接收到下载请求时,在图3B的步骤S8中,网络服务器5确定作为下载目标的应用程序9a1是否被要求对公众可用。
如果应用程序9a1已对公众可用,那么步骤S8中的确定为否,从而在步骤S9中网络服务器5计算应用程序9a1的正常费用。
下载应用程序9a1的正常费用可以基于应用程序9a1的大小信息来计算。在第一实施例中,大小信息优选包括构成应用程序9a1的程序模块10的数目,和/或存储应用程序9a1所需的总数据存储容量。
另外,大小信息能够包括添加到应用程序9a1上的程序模块10的数目。
在步骤S9中,网络服务器5创建程序下载确认网页W10(参见在下文中作为例子的图16),该网页代表所计算的将其下载到客户端3的正常费用。
在步骤S9中,客户端3的网络浏览器11接收程序下载确认网页W10,并且在显示设备3a的屏幕上显示它。
作为确认下载应用程序9a1的正常费用的结果,如果确定该正常费用的收费为OK,那么用户点击程序下载确认网页W10上的可点击的“下载”命令按钮35。在步骤S9中,该点击允许网络浏览器11和网络服务器5使用任意一种众所周知的收费系统向用户收取该正常费用。
例如,网络服务器5已经接收并存储了用户的信用卡号码,从而应用程序9a1的提供者(应用程序提供者)将向用户的信用卡收取该正常费用。对于另一个例子,用户已经购买了由银行签署的数字货币,并将其存储在客户端3中。在步骤S9,网络服务器5向网络客户端3发送该正常费用的支付请求,网络客户端3将与该正常费用相对应的数字货币发送给网络服务器5。结果,应用程序9a1的提供者将该数字货币储蓄在银行里。
在向用户收取该正常费用之后,在步骤S10中网络服务器5将应用程序9a1下载至客户端3。
相反,在步骤S6中,如果确定在网页W4中没有应用程序9满足所输入的搜索要求(步骤S6中的确定为否),那么在步骤S11中,用户通过确定网页W4中的至少一个应用程序9是否具有最低数目的未满足搜索要求,来判断是否需要新创建应用程序。
如果确定在网页W4中的至少一个应用程序9具有最低数目的未满足搜索要求(步骤S11中的确定为是),则在步骤S12中,用户编辑所述至少一个应用程序9,以完全满足所输入的搜索要求。
由于每一个应用程序9均为一些程序模块10的组合,因此将程序模块10添加到现有应用程序9上,和/或用另一个程序模块替代构成现有应用程序9一部分的程序模块10是可能的。
特别地,如果确定在网页W4中没有应用程序9满足所输入的搜索要求(步骤S6中的确定为否),并且至少一个应用程序9具有最低数目的未满足搜索要求(步骤S11的确定为是)的话,则在步骤S12中,用户使网络浏览器11在显示设备3a的屏幕上显示程序模拟器网页W3,并且点击“编辑”命令按钮24。该点击允许网络服务器5提取与例如固定资产库存清点程序9a1相对应的程序编辑器网页W4,并且在步骤S13中将网页W4下载至网络浏览器11,以便在显示设备3a的屏幕上显示该网页W4。
由于“编辑”命令按钮24被显示在程序模拟器网页W3上,因此“编辑”命令按钮24的点击允许将服务器系统SC的程序模拟模式立即切换到程序编辑器模式。这就使得立即基于模拟结果来编辑(修正)应用程序9成为可能。
图13示意性地举例说明了连接至固定资产库存清点程序9a1的,并且在显示设备3a的屏幕上显示的程序编辑器网页W4的例子。
如图13所示,可在基于GUI的网络浏览器11上操作的程序编辑器网页W4包含可点击的“新创建”命令按钮25、可点击的“应用程序读取”命令按钮26、可点击的“操作检查”命令按钮27、可点击的“存储”命令按钮28、和可点击的“退出”命令按钮29。程序编辑器网页W4还包含类似于图7和图9的程序结构显示字段30,和程序模块显示字段31。另外,程序编辑器网页包含可点击的“应用程序添加”命令按钮32、可点击的“应用程序删除”命令按钮33和可点击的“详细设置”命令按钮34,这些按钮位于程序结构显示字段30和程序模块显示字段31之间。
例如,程序模块显示字段31包含与存储在数据库8中的程序模块10相对应的图标。图标“显示”、“输入”、“参考”和“登记”对应于子程序SUB-A,SUB-B,SUB-C和SUB-D,它们的默认值分别被设置为它们的相应自变量参数。图标“检查”对应于程序模块(子程序SUB-E),该程序模块优选能够配置为检查基于子程序SUB-B的主文件参考过程的程序所参考的数据项,是否与在主文件MF中与基于子程序SUB-A的标识码输入过程所输入的读取码相对应的位置处实际存储的数据项相一致。
当用户想要添加程序模块SUB-E的程序时,用户操纵鼠标3c来拖曳“检查”图标,并将它放在程序结构显示字段30中。在步骤S14中,该拖放允许网络浏览器11向服务器2发送将程序模块SUB-E合并到固定资产库存清点程序9a1中的请求。
网络服务器5和搜索引擎6搜索数据库8,以便从其中检索程序模块SUB-E,并且网络服务器5确定检索到的程序模块SUB-E是否正确。如果确定检索到的程序模块SUB-E正确,那么在步骤S15中,网络服务器5按照其最适当的次序,将程序模块SUB-E合并到固定资产库存清点程序9a1中,由此创建原始的固定资产库存清点程序9a1A。
例如,在程序模块SUB-B之后和在程序模块SUB-C之前,将“校查”程序模块SUB-E合并到固定资产库存清点程序9a1中。从而,网络服务器5创建代表原始的固定资产库存清点程序9a1A结构的网络信息,并将其下载至客户端3。在步骤S15中,客户端3的网络浏览器11接收该网络信息,并且在网页W4的程序结构显示字段30上显示它。
因此,如图14中所示,在固定资产库存清点程序9a1的“主文件参考”图标和“结果显示”图标之间并入图标“校查”。这允许用户认识到用户想要添加到程序9a1中的“检查”程序模块SUB-E被可靠地合并到了程序9a1中。
而且,由于将默认值设置为“检查”程序模块SUB-E的自变量参数,因此如果原始的固定资产库存清点程序9a1A不能满足搜索要求,则用户点击“详细设置”命令按钮34。该点击允许网络浏览器11在显示设备3a的屏幕上显示连接至网页W4的详细设置网页W4a。
图15示意性地举例说明了用于设置例如自变量参数“读取代码”、“数字号码”和“数据显示”的详细设置网页W4a的例子。基于GUI的网络浏览器11允许用户在网页W4a上设置自变量参数。
在自变量参数设置之后,用户点击“存储”命令按钮28。这允许网络浏览器11和网络服务器5将程序模块SUB-E的自变量参数的默认值更新为所输入的参数。
在应用程序9a1的编辑操作之后,用户点击“操作检查”命令按钮27。这使得在步骤S16中执行应用程序9a1A的操作模拟成为可能,该操作基本上等同于图3A的步骤S7b至S7f所示的操作。
与步骤S7g中的操作一样,在步骤S16中,用户可以基于虚拟读取终端21的虚拟屏幕18上显示的结果数据,来评估原始的固定资产库存清点程序9a1A的操作。
当固定资产库存清点程序9a1A的操作检查被评估为OK(在步骤S 16中的确定为是)时,用户点击“退出”命令按钮23。该点击允许网络浏览器11在显示设备3a的屏幕上显示程序结构网页W2。其后,用户点击“下载”命令按钮16。在步骤S7h中,该点击允许网页浏览器11向服务器2发送应用程序9a1A的下载请求。
当从客户端3(网络浏览器11)接收到下载请求时,在图3B的步骤S8中,网络服务器5判断作为下载目标的应用程序9a1A是否被要求对公众可用。
如果应用程序9a1A仍未对公众可用,那么步骤S8中的确定为是,从而在步骤S17中网络服务器5将应用程序9a1A登记在对公众可用的数据库8中,并计算应用程序9a1A的缩减费用。
下载应用程序9a1A的缩减费用可以通过从应用程序9a1A的正常费用当中减去预定的现金折扣来计算。
在步骤S17中,网络服务器5创建表示所计算的正常费用和缩减费用的程序下载确认网页W10(参见图16),以将其下载至客户端3。
在步骤S17中,客户端3的网络浏览器11接收程序下载确认网页W10,并且在显示设备3a的屏幕上显示它。
作为确认下载应用程序9a1A的缩减费用的结果,如果确定了该缩减费用的收费OK,那么用户在程序下载确认网页W10上点击可点击的“下载”命令按钮35。在上述步骤S17中,该点击允许网络浏览器11和网络服务器5使用任意一种众所周知的收费系统向用户收取该缩减费用。
在步骤S10中,在向用户收取正常费用之后,网络服务器5将应用程序9a1A下载至客户端3。
基于通信工具12的操作,可以将下载到客户端3的应用程序下载至读取终端4。
注意,在步骤S8中,如果从客户端3向网络服务器5发送将程序9a1A保持为不公开的请求,则步骤S8中的确定为否,从而在步骤S17中,网络服务器5将应用程序9a1A登记到保持为不公开的数据库8,并计算应用程序9a1A的正常费用。
回到步骤S11,相反,如果确定没有应用程序9具有最小数目的未满足搜索要求(步骤S11中的确定为否),则用户在程序编辑器网页W4上点击“新创建”命令按钮25。在步骤S18中,该点击允许将连接至网页W4的预的应用程序模板显示在网页W4上。这使得用户通过拖放在上述程序模块显示字段31中显示的一些期望的程序模块10来编辑应用程序模板成为可能。其后,用户点击“操作校查”按钮27(参见图3A中的步骤S16)。
如上所述,当在每个读取终端4中安装了应用程序执行系统4c1时,通信工具12将应用程序直接下载至每个读取终端4。应用程序执行系统4c1通过逐行地翻译其中的参数,执行该应用程序的源代码。
另外,当每个读取终端4中安装了应用程序执行系统4c2时,通过通信工具12将应用程序翻译为目标代码,由此将所述目标代码下载至每个读取终端4中。应用程序执行系统4c2直接运行该目标代码。
将基于下载的应用程序9a1的所创建的原始应用程序9a1A登记在配置为对公众可用的服务器2(数据库8)上,允许应用程序9a1的下载费用被缩减。这是因为设计为对公众可用的用户所创建的原始应用程序允许其他用户使用它,从而使得有助于增长服务器-客户端系统SC的用户数量并且提高系统SC的扩展成为可能。
注意,当在服务器2上登记所创建的原始应用程序9时,用户向网络服务器5指示所创建的原始应用程序9需要修正是可能的(参见图17的步骤S20)。
在这种情况下,在步骤S21中,网络服务器5将应用程序9分成多个程序模块10,并且在步骤S22中,网络服务器5和搜索引擎6搜索数据库8,以检索应用程序9正缺少的至少一个程序模块,以满足用户的搜索要求。
接下来,在步骤S23中,网络服务器5通过将检索到的至少一个程序模块合并到应用程序9中来编辑应用程序9,以便满足用户的搜索要求,由此将它登记在数据库8上。
这种改进允许用户不需要编辑所创建的应用程序以完全满足用户的搜索要求,从而使降低用户的负担成为可能。
在登记所创建的应用程序之前,网络服务器5能够执行所创建的应用程序的模拟。这允许用户查看所创建的应用程序的实际操作,从而使在数据库8上可靠地登记运行良好的所创建应用程序成为可能。
注意,能够设计为下载至每个读取终端4的应用程序9以试用模式操作,以便经过预定时间之后,限制所下载的应用程序9的使用。在这种情况下,为了继续使用应用程序9,必须需要一个解除密钥以解除该限制。这可以通过诸如银行转帐这样的非实时方式来接受正常或缩减费用的支付,从而使服务器-客户端系统SC通过非实时方式来满足正常或缩减费用的支付成为可能。
该解除密钥已经通知给授权用户。将该解除密钥确定为通过使程序ID(标识)经过预定数学计算而获得的唯一值。根据分配给所下载的应用程序的唯一ID号码和登记在用户的读取终端4上的序列号,来获取所述程序ID。每个应用程序均能够使程序ID(标识符)经过预定数学计算,来获得与该程序ID相对应的解除密钥(唯一值)。
特别地,在图18的步骤S30中,从将应用程序下载至读取终端4开始经过预定时间之后,当运行所下载的应用程序时,所下载的应用程序使读取终端4在其显示设备4a的屏幕上显示解除密钥输入屏幕S。
图19示意性地举例说明了在显示设备4a的屏幕上显示的解除密钥输入屏幕S的例子。在输入屏幕S上,显示与分配给所下载的应用程序的唯一ID号码和在读取终端4上登记的序列号相对应的程序ID。另外,在输入屏幕S出现一个提示,以通知用户该终端4已经准备好接收解除密钥的输入。
当通过用户操作从按键部分4b输入解除密钥时,在步骤S31中,所下载的应用程序使读取终端4确定所输入的解除密钥是否与通过使程序ID经过预定数学计算所计算出的解除密钥数据相匹配。
如果确定所输入的解除密钥与解除密钥数据相匹配(步骤S31中的确定为是),则在步骤S32中,所下载的应用程序允许读取终端4运行它,否则,在步骤S33中,所下载的应用程序禁止读取终端4运行它。
例如,当未授权用户在未授权用户的读取终端中安装已由另一授权用户下载的应用程序时,即使该未授权用户输入了作为许可密钥的一个值,所输入的值与通过使另一授权用户的程序ID经过预定数学计算而计算出的解除密钥数据也不相匹配。这就禁止未授权用户使用该应用程序。同样,当将下载至授权用户的读取终端的应用程序非法地拷贝到另一读取终端时,即使将解除密钥输入到另一读取终端中,由于授权用户的读取终端的程序ID与另一读取终端的程序ID不相匹配。这就禁止所下载的应用程序的非法使用。
如上所述,在第一实施例中,将服务器-客户端系统SC配置为允许:
客户端3访问服务器2,以向服务器2发送搜索要求,从而服务器2搜索数据库8来检索表示满足该搜索要求的一些应用程序的信息;
客户端3在其显示设备3a的屏幕上显示该信息;和
当从客户端3发送下载该一些应用程序的至少一个的下载请求时,服务器2将该一些应用程序的至少一个下载至客户端3。
这就使得有可能避免重复地开发满足该搜索要求的至少一个应用程序,如果所述至少一个应用程序已经登记在数据库8上的话。
另外,如果已经登记在数据库8上的应用程序不满足该搜索要求,那么安装了GUI的客户端3在其显示设备3a的屏幕上显示存储在数据库8中的程序模块10。这允许客户端3根据在客户端3上显示的至少一个所选程序模块10,向服务器2发送编辑或重新创建一个满足该搜索要求的应用程序的指令。从而有可能降低用户在重新创建应用程序时的负担。
当服务器2使用用户指令来创建应用程序9时,使所创建的应用程序9对公众可用是可能的。这样能够提供用于增加服务器2已经在因特网1上贴出的应用程序的数量的服务器-客户端系统SC,从而使将它开发成商业模型成为可能。
而且,将服务器-客户端系统SC配置为基于在安装了GUI的客户端3上的用户指令,模拟用户所选择的应用程序9或编辑后的应用程序9,允许用户检查用户所选择的或编辑后的应用程序9的质量。这使得在实际操作环境中确定用户所选择的或编辑后的应用程序9的质量成为可能,由此恰当地确定用户所选择的或编辑后的应用程序9的质量。用户所选择的或编辑后的应用程序9的模拟由服务器2执行,使得降低用于模拟用户所选择的或编辑后的应用程序9的使用负担成为可能。
第二实施例
以下将参照图20至24,描述本发明的第二实施例。
在第一实施例中,解除密钥允许处于试用模式中的所下载应用程序9的限制被解除。在第二实施例中,服务器2发布一个许可给用户,并如果该许可被验证,则所下载应用程序9能够变得可用。
注意,当具有授权许可的用户由于故障等原因,将用户的读取终端4更换为一个新的读取终端时,用户需要得到一个唯一许可密钥用于再次验证该许可。特别地,即使用户已经接收到使用所下载应用程序9的授权许可,并且在许可权限内使用该应用程序,用户也必须得到用于再次验证许可的一个唯一许可密钥,这对于用户而言可能是非常冒昧的。
第二实施例在上述背景下作出。特别地,在第二实施例中,许可密钥已经存储在诸如SD(安全数字)存储卡这样的存储媒体中,并将该存储媒体发布给用户。也就是说,用户能够从存储媒体中得到存储在其中的许可密钥,假设其存储媒体插槽接纳该存储媒体的读取终端4执行了预定的验证程序。
图20示意性地举例说明了存储媒体的存储区域结构的例子。
在图20中,存储媒体41包括密码保护写入和读取的访问保护字段F1,以及自由写入和读取的可访问字段F2。
访问保护字段F1包含密码寄存器43,并且在其中已经存储有许可密钥42。
另外,访问保护字段F1具有授权功能F1a(参见下文中的图22),当写入到密码寄存器43中的作为验证信息项例子的密码被认可时,该授权功能允许访问保护字段F1的外部访问和/或外部写入。访问保护字段F1还具有访问控制功能F1b(参见图22),该访问控制功能实际上控制关于访问保护字段F1的外部访问。许可密钥42由服务器2创建,以便包含密码。在可访问字段F2中,已经存储了包含如何使用许可密钥的文本数据的“自述”文件、用户数据和程序。
图21示意性地举例说明了根据本发明第二实施例的服务器-客户端系统SC1的结构例子。在图21中,在读取终端4中已经安装了客户端3的功能,从而读取终端4能够直接通过因特网1与服务器2通信。这就导致省略了客户端3。
除了第一实施例中所描述的服务器2的结构和操作之外,当向读取终端4下载用户所选的或编辑后的应用程序9时,服务器2具有第一功能A1,用于与该下载过程同时地向读取终端4发送密码。该密码由安装在读取终端4中的操作系统(OS)接收,以存储在读取终端4的预定存储区域中。
当向读取终端4发送密码时,服务器2具有第二功能A2,用于发布与所下载应用程序9相对应的、并且包含文件格式的所发送密码的许可密钥42。提供者使用存储媒体的读取器/写入器,将许可密钥(许可密钥文件)42写入到存储媒体41的访问保护字段F1,并将该存储媒体41交付给已经向其发送密码的读取终端4的用户。
在第二实施例中,当被下载到读取终端4时,每个应用程序均以试用模式操作,从而当经过预定时间之后,限制该下载应用程序9的使用。在这种情况下,为了继续使用应用程序9,必须需要一个与该下载应用程序9相对应的许可密钥42。
特别地,将每个应用程序9配置为,当读取终端4的OS运行下载至读取终端4的应用程序9时,在存储媒体41正被接纳在读取终端4的存储媒体插槽中的同时,使该OS执行预定验证程序用于检查许可密钥42。注意,能够将应用程序运行功能和/或许可密钥检查功能安装在外围设备的驱动器中;该驱动器已经安装在读取终端4中。
将许可密钥42存储在存储媒体41的访问保护字段F1中允许当用户丢失该存储媒体41时,第三方不能读取该许可密钥42。这使得防止许可密钥42被第三方非法使用成为可能。
当接收到存储媒体41时,用户将存储媒体41插入到其中已经存储了密码的读取终端4的存储媒体插槽中。当存储媒体41正被接纳在插槽中的同时,读取终端4的OS读出存储在终端4的存储区域中的密码,并将所读出的密码输出给存储媒体41的密码寄存器43。
如果确定输出给密码寄存器43的密码通过验证,则存储媒体41读出存储在访问保护字段F1中的许可密钥42。接下来,存储媒体41将所读出的许可密钥42输出给读取终端4,从而读取终端4接收该许可密钥42,并且即使在经过预定时间之后,仍然可以基于该许可密钥42使用应用程序9。
图22示意性地举例说明了用于通过读取终端4获取许可密钥42的过程。在图22中,当在步骤S50中OS激活了存储在读取终端4中的应用程序9时,在步骤S52,应用程序9向OS请求许可密钥。注意,如果驱动器包含应用程序运行功能和许可密钥校查功能,则在步骤S52应用程序9向驱动器请求许可密钥。
当接收到许可密钥请求时,在步骤S54,读取终端4的OS向存储媒体41请求读出许可密钥。在步骤S56,存储媒体的授权功能F1a接收该许可密钥读出请求,并且响应于所接收的请求,向读取终端4的OS请求读出密码。
读取终端4的OS接收该密码读出请求,并响应于所接收的请求,读出存储在终端4的存储区域中的密码,由此在步骤S58将所读出的密码返回给存储媒体41的密码寄存器43。
当将从OS返回的密码输入到要存储在其中的密码寄存器43时,在步骤S60,存储媒体41的授权功能F1a确定存储在密码寄存器43中的密码是否与存储在访问保护字段F1中的许可密钥中所包含的密码相匹配。
当确定存储在密码寄存器43中的密码与许可密钥42中包含的密码相匹配时,在步骤S60中授权功能F1a允许从OS到访问保护字段F1的外部访问。特别地,在步骤S62中存储媒体41的访问控制功能F1b从访问保护字段F1中读出存储在其中的许可密钥42,并且在步骤S64中把该许可密钥42给予OS。
在步骤S66,OS接收从存储媒体41给予的许可密钥42,并将该许可密钥42传递给应用程序9。因此应用程序9从存储媒体41接收许可密钥42。结果,即使经过预定时间之后,应用程序9仍然可以根据许可密钥42继续操作。当应用程序9未能接收到许可密钥42时,其后应用程序9中止其操作。
如图23所示,当由于故障等原因,读取终端4不能使用时,用户从终端4中移除存储媒体41。然后,用户将所移除的存储媒体插入到新读取终端4N的存储媒体插槽中,在该新读取终端4N中已经存储了相同的所下载应用程序9或其拷贝。这允许新读取终端4N认可存储在存储媒体41中的许可密钥42,从而使得运行所下载应用程序9或其拷贝以继续与程序9相对应的应用程序称为可能。
如上所述,在第二实施例中,许可密钥42已经被存储在存储媒体41中的密码保护的访问保护字段F1中。当在终端4的存储媒体插槽中正接纳媒体41的同时,从终端4向存储媒体41输出已验证的密码时,允许将许可密钥42从存储媒体41给予终端4。这使得防止对其中透明地存储许可密钥的存储媒体41进行拷贝成为可能。另外,可以通过增加许可密钥42的数目来向用户提供许可,并且安全地管理发布给用户的许可。
在读取终端41的OS中安装在步骤S58中的从存储媒体41到密码寄存器43的密码输出功能,以及在步骤S66中的从存储媒体41到应用程序9的密码传递功能,能够降低应用程序9的负担。
注意,作为将许可(许可密钥42)给予用户的配置,在第二实施例中(参见图24A)以一对一的关系将许可(许可密钥42)给予所下载应用程序9。本发明并不局限于该配置。特别地,可以将许可(许可密钥42)分别给予所下载应用程序9的各个功能(参见图24B),或者将许可(许可密钥)给予所下载应用程序9的多个功能(参见图24C)。
本发明并不局限于第一和第二实施例,并且能够进行变型和/或扩展。
特别地,作为在客户端3中安装GUI环境的手段,可以使用Java小服务程序、Java小应用程序、Java脚本、GGI等。
像第二实施例一样,能够在读取终端4中安装客户端3的各个功能。在这种变型中,读取终端4能够直接运行图3A和3B等中所示的操作。
当从服务器2将编辑后的应用程序安装在读取终端4中时,如果应用程序是不恰当的,则能够将该应用程序上载到服务器2。在这种变型中,能够将所上载的应用程序分为多个程序模块10,并能够再次编辑该应用程序以满足用户的搜索要求。
在第二实施例中,作为认可存储在存储媒体41中的许可密钥42的方法,可以使用不需要使用密码的其他认可方法。
尽管已经对目前认为是本发明的这些实施例和变型进行了描述,但是应当明白,在此可以作出未进行描述的各种变型,而所附权利要求书欲覆盖所有这些变型,只要其落在本发明的实际精神和范围之内。
Claims (27)
1.一种系统,包括:
服务器计算机,其中存储有多个程序;和
用户可操作设备,通过通信网络可与所述服务器计算机进行通信,
所述用户可操作设备包括:
请求单元,配置为通过所述通信网络向所述服务器计算机请求目标程序应当满足的搜索要求,
所述服务器计算机包括:
接收单元,配置为接收所述搜索要求;
搜索单元,配置为搜索所述多个程序,以检索表示至少一个程序的信息,所述至少一个程序满足所述搜索要求;和
下载单元,配置为通过所述通信网络将所述检索的信息下载到所述用户可操作设备,所述用户可操作设备还包括第一显示单元,配置为显示所述下载的信息。
2.根据权利要求1的系统,其中,所述用户可操作设备还包括编辑请求单元,配置为向所述服务器计算机请求编辑由所述第一显示单元显示的所述至少一个程序,以及所述服务器计算机还包括编辑单元,配置为基于所述编辑请求来编辑所述至少一个程序,并将所述编辑后的至少一个程序下载至所述用户可操作设备,所述用户可操作设备还包括第二显示单元,配置为显示从所述服务器计算机下载的所述编辑后的至少一个程序。
3.根据权利要求1的系统,其中,所述用户可操作设备还包括模拟请求单元,配置为向所述服务器计算机请求模拟由所述第一显示单元显示的所述至少一个程序,以及所述服务器计算机还包括模拟单元,配置为模拟所述至少一个程序,并将模拟结果下载至所述用户可操作设备,所述用户可操作设备还包括第三显示单元,配置为显示从所述服务器计算机下载的所述模拟结果。
4.根据权利要求1的系统,其中,所述用户可操作设备还包括下载请求单元,配置为向所述服务器计算机请求下载由所述第一显示单元显示的所述至少一个程序,以及所述服务器计算机还包括程序下载单元,配置为将所述至少一个程序下载至所述用户可操作设备,所述用户可操作设备还包括存储单元,配置为存储所述下载的至少一个程序。
5.根据权利要求1的系统,其中,所述多个程序的每一个使所述用户可操作设备执行特定任务。
6.根据权利要求5的系统,其中,所述多个程序的每一个由多个程序模块构成,所述多个程序模块使所述用户可操作设备执行所述特定任务。
7.根据权利要求1的系统,其中,所述服务器计算机还包括程序模块存储单元,配置为存储多个程序模块,所述多个程序的每一个由所述多个程序模块的一部分构成,以及所述搜索单元配置为当确定没有程序满足所述搜索要求时,搜索所述多个程序模块并检索至少一个程序模块,所述至少一个程序模块满足所述搜索要求。
8.根据权利要求1的系统,其中,所述搜索单元配置为搜索所述多个程序,以检索标识一部分程序的信息项,所述数目的程序满足所述搜索要求,所述下载单元配置为以列表格式创建包含所述检索的信息项的信息页面,并通过所述通信网络将所述创建的信息页面下载至所述用户可操作设备,所述第一显示单元配置为显示所述信息页面。
9.根据权利要求3的系统,其中,所述模拟单元配置为当从所述用户可操作设备向所述服务器计算机发送终止请求时,终止模拟所述至少一个程序,以及所述服务器计算机还包括编辑单元,配置为允许编辑所述至少一个程序,当终止所述模拟时所述编辑单元做好编辑所述至少一个程序的准备。
10.根据权利要求1的系统,其中,所述服务器计算机还包括:
程序模块存储单元,配置为存储多个程序模块,所述多个程序的每一个由所述多个程序模块的一部分组成;和
新程序创建单元,配置为:
当确定没有程序满足所述搜索要求时,基于所述搜索要求搜索所述多个程序模块以检索所述多个程序模块的一部分;
合并所述检索数目的程序模块以创建新程序,所述新程序满足所述搜索要求;和
将所述新创建的程序下载至所述用户可操作设备。
11.根据权利要求10的系统,其中,所述服务器计算机还包括登记单元,配置为通过所述通信网络将所述新创建的程序登记为对公众可用。
12.根据权利要求10的系统,其中,所述服务器计算机还包括登记单元,配置为将所述新创建的程序登记为保持不公开。
13.根据权利要求11的系统,其中,所述服务器计算机还包括编辑单元,配置为:
当从所述用户可操作设备向所述服务器计算机发送对所述登记的程序的修正请求时,将所述登记的程序分成所述数目的程序模块;
搜索所述多个程序模块来检索所述登记的程序缺少的至少一个程序模块,以满足所述搜索要求;和
通过将所述检索的程序模块合并到所述登记的程序中以满足所述搜索要求,来编辑所述登记的程序。
14.根据权利要求4的系统,其中,所述服务器计算机还包括收费单元,配置为向所述用户可操作设备的用户收取费用,所述费用根据所述下载的程序的大小信息而确定。
15.根据权利要求11的系统,其中,所述服务器计算机还包括收费单元,配置为:
根据所述新创建的程序的大小信息,确定正常费用;
通过从所述确定的正常费用中减去预定的现金折扣,来计算缩减费用;和
向所述用户可操作设备的用户收取所述缩减费用。
16.根据权利要求14的系统,其中,所述下载的程序的大小信息包括构成所下载的程序的程序模块数目。
17.根据权利要求15的系统,其中,所述下载的程序的大小信息包括所合并的程序模块的数目。
18.根据权利要求1的系统,其中,所述用户可操作设备是手持式信息读取终端。
19.根据权利要求1的系统,其中,所述用户可操作设备由客户端计算机和手持式信息读取终端组成,并且将从所述服务器计算机下载至所述用户可操作设备的程序通过所述客户端计算机下载至所述手持式信息读取终端。
20.根据权利要求4的系统,其中,所述程序下载单元还包括许可密钥发布单元,配置为:
设置许可密钥给所述至少一个程序,所述许可密钥允许运行所述至少一个程序;
配置所述至少一个程序,以便当所述至少一个程序被激活时,所述至少一个程序执行对所述许可密钥的检查;
将所述配置的至少一个程序下载至所述用户可操作设备,所述至少一个程序存储在所述用户可操作设备中;和
发布其中存储有所述许可密钥的存储媒体,
所述用户可操作设备还包括:
插槽,其中可接纳所述存储媒体;和
程序执行单元,配置为:
当检查到所述存储媒体正插入在所述插槽中时,执行所述下载的至少一个程序;和
当未确认所述存储媒体正插入在所述插槽中时,取消所述下载的至少一个程序的执行。
21.根据权利要求20的系统,其中,所述许可密钥包含验证信息,所述许可密钥发布单元配置为,除了所述配置的至少一个程序之外,还将所述验证信息下载至所述用户可操作设备,所述至少一个程序和验证信息存储在所述用户可操作设备中,并且所述存储媒体结合有:
由所述验证信息保护的访问保护字段;
存储字段,其中当所述存储媒体正被接纳在所述插槽中时,输入存储在所述用户可操作设备中的所述验证信息以进行存储;和
验证信息控制单元,配置为确定存储在所述许可密钥中的所述验证信息是否与存储在所述存储字段中的所述验证信息相匹配,并且当确定存储在所述许可密钥中的所述验证信息与存储在所述存储字段中的所述验证信息相匹配时,允许对所述访问保护字段的外部访问。
22.根据权利要求21的系统,其中,所述程序执行单元配置为:
当执行所述下载的至少一个程序时,将所述许可密钥中包含的所述验证信息输出给所述存储媒体的所述存储字段;
在所述验证信息输出之后,从被允许可由所述验证信息控制单元进行外部访问的所述访问保护字段中读出所述许可密钥;和
检查其中已经存储有所述许可密钥的所述存储媒体是否正插入在所述插槽中。
23.根据权利要求20的系统,其中,所述多个程序的每一个由多个程序模块的一部分组成,所述多个程序的每一个具有多个功能,所述许可密钥包含多个许可密钥,并且所述服务器计算机配置为,将所述多个许可密钥分别设置给所述至少一个程序的所述多个程序模块或者其所述多个功能。
24.一种服务器系统,其中存储有多个程序,并且通过通信网络可与用户可操作设备进行通信,所述服务器系统包括:
第一接收单元,配置为接收包含目标应用程序应当满足的搜索要求并且通过所述通信网络从所述用户可操作设备发送的请求;
搜索单元,配置为搜索所述多个程序以检索表示至少一个程序的信息,所述至少一个程序满足所述搜索要求;和
第一下载单元,配置为创建表示所述检索的信息并且可通过所述用户可操作设备查看的第一信息页面,以及通过所述通信网络将所述第一信息页面下载到所述用户可操作设备。
25.根据权利要求24的服务器系统,还包括:
第二下载单元,配置为创建可通过所述用户可操作设备查看的并且允许用户输入信息的第二信息页面,以及通过所述通信网络将所述第二信息页面下载至所述用户可操作设备;
第二接收单元,配置为接收模拟所述至少一个程序的模拟请求;和
模拟单元,配置为模拟所述至少一个程序,并且将模拟结果下载至所述用户可操作设备。
26.根据权利要求24的服务器系统,还包括:
程序模块存储单元,配置为存储多个程序模块,所述多个程序的每一个由所述多个程序模块的一部分组成;和
新程序创建单元,配置为:
当确定没有程序满足所述搜索要求时,基于所述搜索要求搜索所述多个程序模块以检索所述多个程序模块的一部分;
合并所述检索数目的程序模块以创建新程序,所述新程序满足所述搜索要求;和
将所述新创建的程序下载至所述用户可操作设备。
27.一种方法,用于通过通信网络向用户可操作设备提供多个程序的至少之一,所述方法包括:
接收包含目标程序应当满足的搜索要求并且通过所述通信网络从所述用户可操作设备发送的请求;
搜索所述多个程序以检索表示至少一个程序的信息,所述至少一个程序满足所述搜索要求;
创建第一信息页面,所述第一信息页面表示所述检索的信息并且可通过所述用户可操作设备查看;和
通过所述通信网络将所述第一信息页面下载到所述用户可操作设备。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005039128 | 2005-02-16 | ||
JP039128/2005 | 2005-02-16 | ||
JP368126/2005 | 2005-12-21 | ||
JP2005368126A JP2006260529A (ja) | 2005-02-16 | 2005-12-21 | プログラム提供システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1866260A true CN1866260A (zh) | 2006-11-22 |
CN1866260B CN1866260B (zh) | 2010-11-10 |
Family
ID=36816899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100937039A Expired - Fee Related CN1866260B (zh) | 2005-02-16 | 2006-02-16 | 向用户可操作设备提供程序的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060184619A1 (zh) |
JP (1) | JP2006260529A (zh) |
CN (1) | CN1866260B (zh) |
DE (1) | DE102006007084B4 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451246B2 (en) * | 2006-04-19 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Indirectly controlling a target device on a network |
US20080115124A1 (en) * | 2006-11-10 | 2008-05-15 | Charles J. Kulas | Trial mode for selectively trying a component that adds functionality to base software |
US9129291B2 (en) * | 2008-09-22 | 2015-09-08 | Personics Holdings, Llc | Personalized sound management and method |
US8914788B2 (en) * | 2009-07-01 | 2014-12-16 | Hand Held Products, Inc. | Universal connectivity for non-universal devices |
CN102779151B (zh) * | 2012-05-10 | 2015-12-02 | 北京奇虎科技有限公司 | 应用程序的搜索方法、装置及系统 |
TWI478070B (zh) * | 2012-08-29 | 2015-03-21 | E Ink Holdings Inc | 射頻識別與顯示功能並存的控制方法 |
CN103414765B (zh) * | 2013-07-26 | 2017-04-12 | 华为技术有限公司 | 图形码中信息的分流方法、装置及系统 |
DE102013021158A1 (de) * | 2013-12-10 | 2015-06-11 | Fresenius Medical Care Deutschland Gmbh | Verfahren zum Update und/oder Upgrade der Betriebssoftware eines elektronischen Gerätes |
US9720672B2 (en) * | 2014-01-06 | 2017-08-01 | Quixey, Inc. | Searching and accessing application functionality |
JP6379679B2 (ja) * | 2014-05-29 | 2018-08-29 | 富士通株式会社 | 処理プログラム、情報処理装置及び情報処理方法 |
JP6957855B2 (ja) * | 2016-10-06 | 2021-11-02 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、情報処理システム及びプログラム |
KR101944973B1 (ko) * | 2016-11-25 | 2019-02-08 | (주) 더존비즈온 | 사용자 정의 erp 펑션 공유 방법 및 시스템 |
WO2019154600A1 (en) * | 2018-02-09 | 2019-08-15 | Fresenius Vial Sas | Method for registering a user in a medical software application |
JP7107030B2 (ja) * | 2018-06-29 | 2022-07-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、およびプログラム |
KR102244887B1 (ko) * | 2019-10-01 | 2021-04-28 | (주) 더존비즈온 | Sql 쿼리 추천 방법 및 시스템 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314701A (ja) * | 1995-05-16 | 1996-11-29 | Hitachi Ltd | エンドユーザ作成プログラムの自動検出管理方式と管理装置 |
US6757729B1 (en) * | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
DE69834792T2 (de) * | 1997-10-17 | 2007-05-16 | Sony Corp. | Datenverteilungssystem, Verteilungseinrichtung, Terminaleinrichtung und Datenverteilungsverfahren |
ATE416550T1 (de) * | 1998-12-16 | 2008-12-15 | Nokia Siemens Networks Gmbh | Dienstesystem in einem netzwerk |
EP1139233A1 (en) * | 2000-03-31 | 2001-10-04 | BRITISH TELECOMMUNICATIONS public limited company | Method, computer and computer program for the supply of information, services or products |
US7689510B2 (en) * | 2000-09-07 | 2010-03-30 | Sonic Solutions | Methods and system for use in network management of content |
JP2002312165A (ja) * | 2001-04-09 | 2002-10-25 | Ricoh Co Ltd | ソフトウェア供給システム |
JP2003150971A (ja) * | 2001-11-09 | 2003-05-23 | Konica Corp | 情報処理方法、情報処理システム、情報処理装置、及びプログラムを記録した情報記録媒体 |
US7555538B2 (en) * | 2002-12-26 | 2009-06-30 | Research In Motion Limited | System and method for building and execution of platform-neutral generic services' client applications |
US7814477B2 (en) * | 2003-05-20 | 2010-10-12 | Oracle International Corp. | Packaging system for customizing software |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7765600B2 (en) * | 2004-05-04 | 2010-07-27 | General Instrument Corporation | Methods and apparatuses for authorizing features of a computer program for use with a product |
-
2005
- 2005-12-21 JP JP2005368126A patent/JP2006260529A/ja active Pending
-
2006
- 2006-02-15 DE DE102006007084.4A patent/DE102006007084B4/de not_active Expired - Fee Related
- 2006-02-16 CN CN2006100937039A patent/CN1866260B/zh not_active Expired - Fee Related
- 2006-02-16 US US11/354,996 patent/US20060184619A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
DE102006007084A1 (de) | 2006-09-14 |
DE102006007084B4 (de) | 2015-08-06 |
CN1866260B (zh) | 2010-11-10 |
JP2006260529A (ja) | 2006-09-28 |
US20060184619A1 (en) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1866260A (zh) | 向用户可操作设备提供程序的方法和系统 | |
CN100347696C (zh) | 企业业务过程管理的方法和系统 | |
CN100338573C (zh) | 设计用户界面样式的方法以及具有自适应用户界面的设备 | |
CN1148686C (zh) | 使用描述性数据结构访问和保护数据内容的系统和方法 | |
CN1255749C (zh) | 用于可及性数据维护和特权授权的系统和方法 | |
CN1248139C (zh) | 用于表达频道化数据的系统和方法 | |
CN1231854C (zh) | 多媒体信息系统 | |
CN1783019A (zh) | 用于创建web服务并与其交互的接口基础结构 | |
CN1749997A (zh) | 嵌入装置及其控制方法、实现该控制方法的程序和存储媒体 | |
CN1509450A (zh) | 自动编辑系统 | |
CN1229749C (zh) | 图像形成系统及图像形成方法 | |
CN1479896A (zh) | 内容发行系统、内容发行方法和客户机终端 | |
CN101030240A (zh) | 外围设备和信息处理方法 | |
CN1476712A (zh) | 万维网服务器 | |
CN1633663A (zh) | 信息处理设备及其方法、以及信息处理系统及其方法 | |
CN1397125A (zh) | 互联网上的计费方法和系统 | |
CN1226034A (zh) | 命名书签组 | |
CN1319206A (zh) | 记录图像文件的计算机可读记录媒体、生成记录媒体的装置、记录图像文件生成程序的媒体,发送图像文件的装置处理图像文件的装置及记录图象文件处理程序的媒体 | |
CN1495601A (zh) | 移动计算装置用户打印文档的系统和方法 | |
CN1969272A (zh) | 自动生成内容的导入 | |
CN1834908A (zh) | 用于将开发模式应用于基于组件的应用程序的系统和方法 | |
CN1692363A (zh) | 信息处理系统、信息处理装置、信息处理方法、程序、和记录媒体 | |
CN1533149A (zh) | 图像处理系统 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1585948A (zh) | 用于系统整合的应用程序视窗部件 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101110 Termination date: 20180216 |
|
CF01 | Termination of patent right due to non-payment of annual fee |