CN1578279A - 即时通信对象存储 - Google Patents
即时通信对象存储 Download PDFInfo
- Publication number
- CN1578279A CN1578279A CNA200410063278XA CN200410063278A CN1578279A CN 1578279 A CN1578279 A CN 1578279A CN A200410063278X A CNA200410063278X A CN A200410063278XA CN 200410063278 A CN200410063278 A CN 200410063278A CN 1578279 A CN1578279 A CN 1578279A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- location
- computer
- name
- 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
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 230000010387 memory retrieval Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 24
- 230000008451 emotion Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Medicines Containing Plant Substances (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
Abstract
一种方法,包括接收一个与在远程计算机上的用户相关联的名字,该名字包含唯一地与代表用户的数据对象相关联的位置数据和散列值,并根据散列值或由位置数据标识的位置从本地高速缓冲存储器中的一个中检索该数据。一种用于在即时通信对话中管理代表用户的对象的系统,包括代表用户的数据对象,该数据对象具有包括位置标识符和对象名允许的散列值的对象名,且可操作一个对象存储来从由位置标识符标识的位置检索数据对象,并根据所述散列值将该数据对象存储在本地高速缓冲存储器中。
Description
(1)技术领域
本发明涉及计算机通信。特别是涉及即时通信对象存储。
(2)背景技术
即时通信正成为计算机装置用户中很流行的通信工具。即时通信(IM)应用程序(例如:华盛顿州,雷蒙德的微软公司的WINDOWS信使(WINDOWSMessenger)系统,Yahoo!信使,AOL即时信使(AIM)等等)使用户能与一个或多个在用户的私人联系人列表中标识的联系人进行实时对话。私人列表通常存储在服务器上,例如:交换器或中继服务器,通过该服务器建立对话。然后,交换器服务器将入站消息路由至合适的接收方。
随着即时消息系统的改进,它们通常提供更多的特征,使即时消息对话成为更丰富的经历。除了文本之外,这些特征在不同类型的数据对象上操作。例如:客户的用户贴图特征使用户能生成和传送一个在另一用户计算机上唯一地表示该用户的客户的用户贴图。这种特征对象的传送通常需要比文本更高的带宽,来无差错地显示给接收方。另外,在对话期间表示一个用户的对象和访问该对象的频率相比通常很少改变。
不幸的是,传统的即时通信应用程序,在防止这些对象的窜改时,不提供机构来有效地管理特征对象。例如:如果用户要向第二用户简单地发送他/她独特的客户的用户贴图,该第二用户可改变第一用户的贴图,这样该贴图就不再以他/她想要被代表的方式代表第一用户。
(3)发明内容
描述了解决上述问题和其它问题的示例实施。
一个实施包括用于通过接收一个与远程计算机上的用户相关联的名字传送对象数据的方法,该名字包括位置数据和散列值,该散列值唯一地与一对象数据相关联,该数据对象代表用户,并根据散列值或由位置数据标识的位置,从本地高速缓冲存储器中的一个检索数据对象。
另一个实施包括用于管理在即时通信对话中代表用户的对象的系统,其中所述系统包括一代表用户的数据对象,该数据对象具有一对象名,包括:位置标识符和散列值。该对象名允许且可操作用于根据位置标识符标识的位置检索的数据对象,并在散列值的基础上将该数据对象存储在本地高速缓冲存储器中。
(4)附图说明
图1示出利用对象存储进行即时通信对话的示例网络环境。
图2为具有在信使平台上示例性的实施以提供对象管理用的对象存储的示例类的类图。
图3示出具有用于建立对象和用对象存储存储对象的示例操作的存储对象操作流程图。
图4为具有用于选择具体化,邀请另一用户来将所述具体化显现给用户的装置,并初始化用于将所述具体化在用户装置呈现的专用的资源的示例操作的流程图。
图5示出一示例的对象检索情况500,其中请求的数据位于本地文件系统中。
图6示出另一示例的对象检索情况600,其中请求的对象数据位于网络存储器装置上。
图7示出另一示例的对象检索情况700,其中请求的对象数据位于对等计算机上。
图8示出一示例系统,它提供一个利用管理特征对象的对象存储来参与即时通信对话的合适的操作环境。
(5)具体实施方式
见附图,其中相同的参考号指相同的元件,示出多种在合适的计算机环境中实施的方法。尽管没有要求,将在计算机可执行指令(例如:由个人电脑和/或计算装置执行的程序模块)的总的背景下对多种示例的方法进行描述。程序模块通常包括例执行特定任务或实施特定抽象数据类型的例行程序、程序、对象、组件、数据结构等等。另外,本领域的技术人员将理解可将多种示例的方法与其它计算机系统配置一起应用,包括:手提装置、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC机、小型计算机、大型计算机等等。还可以将多种示例的方法用于分布式计算机环境,其中任务是由通过通信网络链接的远程处理装置执行的。在分布式的计算机环境中,可将程序模块放置在本地及远程的存储器装置。
在这里的一些图中,在各个的“方框”中综合了多种算法动作。这些方框描述了当过程处理进行时作出并执行的特定动作或决定。在运用了微处理器(或等同物)的地方,这里出现的流程图为“控制程序”或可被这样的微控制器(或等同物)用来完成理想控制的软件/固件提供了基础。由于过程被作为可存储在存储器中的机器可读指令实施,结果当由处理器执行时,执行方框中示出的多种动作。
本领域的技术人员在这些流程图和在这里提出的其它说明的基础上可以容易地写出这样的控制程序。应该理解这里描述的主体不仅包括在编程执行下述动作时的装置和/或系统,还有配置成编程微控制器的软件,及可以在其上包含所述软件的任何和所有计算机可读媒体。这些计算机可读媒体的范例包括,但不限定于,软盘、硬盘、CD、RAM、ROM、闪存等等。
综述
揭示了在即时通信系统中管理对象的示例方法、系统和装置。通常,对象存储提供一个一次写入,多次读取的对象存储和检索系统,其中对象是不变的。对象存储提供一个界面,通过该界面,特征应用程序能用对象名存储或检索对象。该对象存储编码对象数据以建立一个唯一的标识符,通过该标识符对象存储从本地高速缓冲存储器,或从多个位置中的一个访问该对象。可以本地地或远程地存储该对象。该对象存储能解码对象名以取得位置和/或创建者信息,以从本地或远程存储器检索该对象。
用于在即时通信情况中存储对象的示例系统
图1示出用于即时通信对话的示例网络环境100。两个客户机102和104通常能通过网络106或直接通过直接连接108相互通信。交换器服务器110促进通过网络106在客户机(1)102和客户机(2)104之间的通信。客户机(1)102和/或客户机(2)104可连接至交换器服务器110,以建立一个即时通信对话。用直接连接108,不需要通过交换器服务器110路由数据,而可以以对等的方式在客户机(1)102和客户机(2)104之间传送数据。
即时通信(IM)平台112使客户机(1)102和客户机(2)104能进行即时通信对话。IM平台112的用户通过用户界面(未示出)与IM平台112相互作用来将消息发送到客户机(2)104,和从客户机(2)104接收消息。该IM平台112包括一个或多个特征114(也叫作最终用户特征(EUF))、对象存储116、对象高速缓冲存储器管理程序和传输协议栈120。该传输协议栈提供一应用编程界面(API)122,籍此,诸如特征114和对象存储116之类的更高层次的功能就可以用传输协议栈120中的功能来发送和接收数据。
传输协议栈120和传输API122通常为客户机(1)102提供以对等的方式在网络106上和/或直接连接108上与客户机(2)104进行通信的方法。该传输协议栈120建立用于传送包括与特征114和对象存储116相关联的数据在内的即时通信数据的必要连接。该传输协议栈120和传输API122的示例实施将在未决美国专利申请号:_________,名称“用于即时通信的传输系统(Transport System forInstant Messaging)”中进行详细描述。
特征114是包含在IM应用程序中,或由IM应用程序执行的功能或应用程序,以呈现与特征114相关联的数据。可用特征114表现的数据类型、呈现数据的方式、特征114可在数据上执行操作和/或特征114提供给用户来与数据相互作用的交互式选项来表征特征114。例如:客户的用户贴图特征114将图象数据呈现在用户界面上的屏幕贴图中;文件传送特征114使用户能选择文件,并将文件发送到即时通信联络人。作为示例而非限定,特征114可包括客户表情图标、印色、插入图像和其它应用等等。
特征114在即时通信对话中使用对象显现数据。对象由对象存储116管理。对象存储116提供方法和数据,用于存储、访问或管理在即时通信中使用的数据对象。例如:客户的表情图标特征114可使用对象存储204在客户机(1)102上显示来自客户机(2)104的客户的表情图标。如以下将要进一步详细讨论的,对象存储116能通过加密数据(例如:通过散列与对象相关联的标识符数据)提供数据安全度。
客户机(1)102包括文件系统124和高速缓冲存储器126。可以将对象存储在文件系统124和高速缓冲存储器126中。文件系统124是用于分类在客户机(1)102中的文件的标准计算机文件系统。高速缓冲存储器126包括诸如硬盘或软盘、和/或随机存取存储器(RAM)之类的存储器。对象高速缓冲存储器管理程序118管理高速缓冲存储器126中的对象。
对象高速缓冲存储器管理程序118的一个实施使用由微软公司的因特网资源管理器使用的WinINET高速缓冲存储器。在这个实施中,当从网址中检索到一个对象时(例如:一个统一资源定位器URL)),WinINET会自动将对象写入WinINET高速缓冲存储器。如果从URL位置以外的位置检索对象,对象高速缓冲存储器管理程序118将请求传输协议栈120检索该对象,且对象高速缓冲存储器管理程序118将该对象写入WinINET高速缓冲存储器。
网络106包括存储器128,它也能保存能被客户机102和104使用的对象数据。客户机(1)102可以通过网络106访问网络存储器128,以检索对象。客户机(2)104可检索和使用在客户机(1)102上的对象,反之亦然。如以下将进一步讨论的,对象存储116通过确定请求的对象在哪里和从确定的位置检索它们,来处理对对象的请求。因此,如图1所示,对象存储116可确定对象是在本地高速缓冲存储器126中,在本地文件系统124中,在网络存储器128中,和/或在远程客户机(2)104上。
尽管未示出,与那些包含在客户机(1)102上的模块相似的模块包括在客户机(2)104上。因此,客户机(2)104包括信使平台、特征、对象存储、对象高速缓冲存储器管理程序、传输协议栈、文件系统和高速缓冲存储器。
尽管图1中的示例环境100仅描述了在一个对话中的两个客户机102和104,应理解的是一个对话中可以包含两个以上的客户机。两个或两个以上的客户机可以多点的方式进行通信,其中每个客户机可具有到两个或两个以上其它客户机的连接。以下提供可以用在网络环境100中的示例操作和系统的更详细的说明。
图2示出具有可在信使平台中(例如:IM平台112,图1)示例性实施以提供对象管理的示例类的类图200。一个类是代表客户机(例如:客户机(1)102,图1)上的对象存储(例如:对象存储116,图1)的ObjectStore类202。该ObjectStore类202使用一个代表存储的对象的StoreObject类204。类型枚举器206定义一种或多种对象。那些在本领域的技术人员将熟悉面向对象软件的设计及诸如图2中的类图200之类的类图设计。
信使应用程序(例如:IM平台112,图1)中的特征(例如:特征114,图1)与ObjectStore类202(或ObjectStore类的一个范例)接口,以存储和检索StoredObject类204的范例。在一个具体的实施中,该ObjectStore类是一个静态的单独个体,这意味着只有对象存储类202中的一个范例是建立用来处理来自所有可能被执行的特征的请求。
StoredObjectTypeEnum206中提供了示例的对象类型。如图2的具体实施中示出的,该枚举的类型为客户表情图标、用户的贴图、背景、具体化和共享文件。这些类型可涉及用户能生成的代表该用户的对象。用户可建立一个诸如:客户表情图标、具体化、或贴图那样的对象,它对用户来说唯一的。
如图2所示,ObjectStore类202提供三个函数:GetObject(StoredObject)、StoreObject(StoredObject)和DeleteObject(StoredObject)。如函数名所指示的,特征可通过调用GetObject函数检索一存储的对象,通过调用StoreObject函数存储一对象,通过调用DeleteObject函数删除一个对象。每个函数包括StoredObject类204中的一个参数。
StoredObject类204指数据的对象。在对象中的数据是由任何尺寸和或类型的数据中的任何二进制大对象(BLOB)组成的。StoredObject类204的范例不需要用范例所引用的对象数据存储。例如:客户机(1)102(图1)可具有一个引用存储在网络存储器128(图1)或诸如客户机(2)104(图1)之类的其它客户机上的对象数据的StoredObject2类204的范例。对象数据的实际位置对使用对象存储类202和StoredObject类204的范例的特征是透明的。
StoredObject类204描述对象数据的对象元数据。该示例的元数据208包括Name(名字)字段、Type(类型)字段、FriendlyName字段、Hash1字段、Hash2字段、Creator字段和Location字段。该名字是一个标识对象的字符串。在一个实施中,Name字段是一个或多个对象元数据208字段的组合。Type字段是指定对象类型的StoredObjectTypeEnum206中的类型之一。FriendlyName字段是用户能给对象的用户可读名字。
在一个实施中,Hash1字段具有一个唯一地与对象数据相关联的值,并且可用于定位在高速缓冲存储器中的对象数据。hash1值是用加密的散列函数产生的,例如:安全散列算法1(SHA1)。SHA1函数将对象数据作为输入,以生成hash1值。调用SHA1函数的签名(Signature)的范例是SHA1(数据),其中数据指要存储的对象数据。
SHA1是用于计算对象数据的‘压缩代表’的算法。该‘压缩代表’是固定长度的,并称为‘报文摘要’或‘指纹’。hash1字段的一般固定长度为160比特,这实际上保证了hash1值对每个对象都会是唯一的。hash1值的唯一性使hash1值能作为对象数据的‘指纹’,以保证数据的完整性考虑到数据比较核查。例如:在下载对象数据时,可以计算hash1值并将其与先前的hash1值相比较,以确保对象数据未被更改。hash1值还可以用作到高速缓冲存储器的索引,以定位先前存储的对象数据。
可以用诸如R.L.Rivest教授研制的报文摘要算法5(MD5)之类的其它已知的算法计算hash1值。用MD5、SHA1或类似的算法,散列值是不可逆的,意味着不能从hash1值生成对象数据。对那些本领域的技术人员来说,可以很容易地将资源用于实施散列法和报文摘要算法,例如:SHA或MD。SHA1算法的一个具体实施的细节可以在D.E.Eastlake,III,和P.E.Jones写的2001年9月由因特网社会出版的Requests for Comments 3174(RFC3174)中找到。2002年8月1日的FederalInformation Processing Standards Publication(FIPS)180-2还列出了安全散列标准。
hash2字段是在将元数据字段(即,Creator字段、Type字段、FriendlyName字段、Location字段和hash1字段)输入至散列函数(例如:上面讨论的SHA1函数)时得出的散列值。
StoredObject类204的Creator字段代表用户、对等者、或建立该对象的客户机。该Creator字段可以是具有创建者名字、电子邮件地址、或任何其它指定对象的创建者的标识符的字符串。StoredObject类204的Location字段指定该对象数据的位置。如图2所示,该位置是由统一资源定位器(URL)给出。通常都知道,URL是定义到在网上或任何其它网络设备上的数据的路由的地址。如以下将详细讨论的,ObjectStore类202可使用创建者和Location字段来检索对象数据。
示例的StoredObject类204的一个范例提供一个过载函数“(Create)创建”函数,籍此,可以创建多种类型的存储的对象。因此,当用ID调用创建函数时,建立了具有ID的对象;当用文件处理调用创建函数时,用参考的文件建立对象,等等。
StoredObject类204的一个范例具有一个“GetData()”函数。当调用“GetData()”函数时,返回由StoredObject类204参考的对象数据。因此,当特征需要显示对象时,该特征可调用GetData()来得到正确的数据,不论该数据定义一个客户表情图标、具体化、用户贴图、文件、背景或其它。
用对象存储来存储和检索对象的示例操作
图3示出具有示例操作的存储对象操作流程图300,用于用对象存储建立一个对象并存储该对象,例如:对象存储116,图1和/或ObjectStore类202,图2。在一个情况中,特征与ObejctStore类202和StoredObject类204相互作用,以建立和存储对象。该特征从对象存储接收对象名,该特征以后可用它来检索对象。
在启动操作302之后,创建操作304建立一个对象。在创建操作304的一个实施中,建立了StoredObject类204(图2)的一个范例。用对要存储的数据的索引调用Create()函数。例如:用户可使用客户表情图标特征来建立客户表情图标类型的StoredObject。客户表情图标特征用一个对客户表情图标的索引来调用Create()函数。
计算操作306计算出一个对应于与StoredObject(在创建操作304中建立的)相关联的数据的第一散列值。该计算机操作306可在StoredObject中的元数据字段的基础上计算一个第二散列值。以上描述了计算散列值的多种资源和算法,这里就不再重复了。存储操作308将对象数据存储在本地高速缓冲存储器中。该对象数据存储在高速缓冲存储器中与第一散列值相对应的位置,因此以后可以容易地从高速缓冲存储器中检索到该对象数据。
设置操作310设置StoredObject的元数据(见图2中的元数据字段)中的字段。可以在用户注册设置的基础上设置对象元数据的Creator字段和Location字段。Type字段被设置成存储的对象数据的类型。可由用户指定FriendlyName。hash1字段和hash2字段分别设置成第一散列值和第二散列值,在计算操作302计算。
返回操作312返回一个对象名。对象名是元数据中一个或多个字段的串联,该元数据是在设置操作310中设置的。在一个实施中,返回的对象名包括Creator字段和Location字段。Creator字段和Location字段会使ObjectStore能在必要的时候,随后从本地高速缓冲存储器的位置之外的位置检索对象数据。
在返回操作312中返回的名字可以是以特定的格式,例如:统一资源标识符(URI)和统一资源名字(URN)。URI是可以标识因特网上的包括图象、文本、视频、音频和程序在内的任何种类的资源的字符串。URI的普通版本是统一资源定位器(URL)。URN被定义成用于对象的永久的,全局唯一的名字。以下示出示例的URI和URN:
URI://[Creator]/[Type]/[Hash1]/[Hash2]?fn=/[FriendlyName]&URI=[Location];
URN:[Type]:[Creator]:[FriendlyName]:[Location]:[Hash1]:[Hash2]
图4为具有用于检索可存储在计算机网络上任何位置的对象的示例操作的检索对象操作流程400。如参照图1讨论的,可以将对象和对象数据存储在本地高速缓冲存储器、本地文件系统、网络存储器(例如:在网络服务器的盘上)、和/或远程客户机、或对等计算机中。操作流程400通过确定对象的位置响应向对象的请求,并接着从该位置检索该对象。
请求操作402用对象名(例如:在返回操作310(图3)中返回的对象名)请求对象数据。该请求操作402可以传入一个从远程客户机或网络服务器得到的对象名。假定该对象名包括指定请求的对象的位置的位置信息(例如:URL或StoredObject204中的Location字段,图2)。对象名还包括唯一地与请求的对象相关的散列值。该请求操作402可包括调用ObjectStore202(图2)的GetObject()函数。
查询操作404确定该请求对象是否是本地高速缓冲存储器。在查询操作404中一个实施中,输入名中的hash1值被用来确定该对象是否在本地高速缓冲存储器中。hash1值是与StoredObject相关联的数据的一个散列。因此,hash1仅基于要检索的对象数据,并不依赖于任何其它与对象相关联的Name数据。因为hash1值是到本地高速缓冲存储器中去的唯一索引,可以用hash1值确定与hash1值相关联的数据是否存储在本地高速缓冲存储器中。如果请求的对象确定在本地高速缓冲存储器中,则检索对象操作400通过分支“是”到检索操作406。检索操作406用散列值来索引到本地高速缓冲存储器,并检索该对象数据。
第一次访问对象时,对象数据也许不在本地高速缓冲存储器中。如果确定请求的对象不在本地高速缓冲存储器中,则检索对象操作400经过分支“否”到检索操作408。检索操作408从本地高速缓冲存储器以外的位置检索请求的对象。该位置由Location字段在输入Name中指定。以下呈现的几个情况示出Location字段是如何用于从本地高速缓冲存储器以外的位置检索请求的对象的。
在从本地高速缓冲存储器以外的位置检索到请求的对象之后,存储操作410将该对象存储在从本地高速缓冲存储器中。在从本地高速缓冲存储器中检索到了请求的对象,或将请求的对象存储在本地高速缓冲存储器中之后,返回操作412返回该请求的对象。
示例的对象检索情况
图5示出一个示例的对象检索情况500,其中请求的对象数据位于本地文件系统中。特征502通过将对象名传递给对象存储504来从对象存储504请求对象数据。对象存储504确定,请求的对象是出在本地高速缓冲存储器506中。在情况500中,假定没有在本地高速缓冲存储器506中找到请求的对象。对象存储504解析对象名以确定请求的对象数据的位置。在情况500中,在对象名中的位置数据指定该位置为一本地文件系统508。
因此,访问本地文件系统508来检索请求对象数据。随后该请求对象数据被存储在本地高速缓冲存储器506中,并被返回到请求特征502。因此,可以理解,示例的情况500完全发生在一个单个的客户机上。
图6示出另一个示例的对象检索情况600,其中请求的对象数据位于网络存储器装置上。特征602通过传入一个具有散列值和位置信息的对象名来从对象存储604请求对象数据。对象存储604用请求的对象数据的散列值来确定该请求的对象是否在本地高速缓冲存储器606中。假定在示例的情况中请求的对象不在本地高速缓冲存储器606中。对象存储604从位置信息确定,请求的对象存储在网络608上的一个位置。
该位置是由指定网络存储器610的URL给出的。请求的对象是从网络存储器610检索到的。接着,将请求的对象存储在本地高速缓冲存储 606中,并返回到请求特征602。
图7示出示例的对象检索情况700的另一个实施,其中请求的对象数据位于一个对等计算机上。在客户机1上运行的特征702通过传入一个具有散列值和位置数据的对象名从对象存储704请求对象数据。该对象存储704确定该请求的对象数据不在本地高速缓冲存储器706中。通过解析对象名,对象存储704确定该请求对象数据是在客户机2上。
向传输协议栈708发送了一个请求,以从客户机2检索请求的对象数据。该传输协议栈利用一个连接到客户机2上的传输协议栈710的对等连接。向客户机2上的传输协议栈710发送一个请求对象数据的请求。传输协议栈71O向客户机2上的远程对象存储710发出一个回叫。远程对象存储712从客户机2上的远程文件系统714检索该请求的对象数据。
接着,通过传输协议栈708和710将请求的对象数据从客户2传送至客户机1。在客户机1上,请求对象数据存储在本地高速缓冲存储器706中。因此,不必采取对等请求就可以很容易地从本地高速缓冲存储器706满足以后的请求对该对象数据的请求。然后,请求的对象数据返回到请求特征702。
示例的操作环境
图8和相应的讨论是为了提供可以实施所述存储和检索对象的方案和过程的合适的计算机环境的概述。示例的计算机环境820仅仅是合适的计算机环境的一个范例,不意味着对所述主题的使用和功能的范围作出的任何限定。不应将计算机环境820解释成对示例的计算机环境820中示出的部件中的任何一个或其组合具有依赖性或需要。
管理网络环境中的对象的示例配置和程序可用众多其它通用或专用计算机系统环境或配置进行操作。已知适合与所述主题物一起使用的计算机系统、环境和/或配置包括,但不限于,个人电脑、服务器计算机、瘦客户机、胖客户机、手提或膝上装置、多处理器系统、基于微处理器的系统、大型计算机、诸如服务器园及公司内联网等包括任何上述系统和装置的分布式计算机环境。
计算机环境820包括以计算机830形式的通用计算装置。计算机830可包括和/或作为上述对象存储的示例实施服务。计算机830的部件可包括,但不局限于,一个或多个处理器或处理单元832、系统存储器834、和将包括系统存储器834在内的多种系统耦合到处理器832的总线836。
总线836代表几种总线结构(包括:存储器总线或存储器控制器、外围总线、加速的图形端口、或使用多种总线结构中的任何一个的处理器或本地总线)中的一种或多种。作为示例,而非限定,这种结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线、和外围设备互连(PCI)总线,也叫作夹层总线。
计算机830通常包括多种计算机可读媒体。这种媒体可以是可由计算机830访问的任何可用媒体,且它包括易失性和非易失性媒体,可移除和不可移除媒体。
系统存储器包括以易失性存储器形式的诸如随机存取存储器(RAM)840之类的计算机可读媒体和/或诸如只读存储器(ROM)838之类的非易失性存储器。基本输入输出系统(BIOS)842存储在ROM838中,它包括如在启动期间帮助在计算机830的部件之间传送信息的基本例程。RAM840通常包括可由处理器832立即存取和/或当前由处理器832操作的数据和/或程序模块。
计算机830还可包括其它可移除和不可移除,易失性和非易失性计算机存储器媒体。仅作为示例,图8示出用于从不可移除的非易失性磁媒体读出或写入不可移除的非易失性磁媒体的硬盘驱动器844(未示出,并通常称为“硬盘驱动器”),用于从可移除的非易失性磁媒体848(例如:软盘)的磁盘驱动器846,及用于从可移除的非易失性光盘852(例如:CD-ROM,DVD-ROM或其它光媒体)读出或写入可移除的非易失性光盘852的光盘驱动器850。硬盘驱动器844、磁盘驱动器846和光盘驱动器850中的每一个都由一个或多个接口854连接到总线836。
驱动器及与它们相关联的计算机可读媒体提供计算机可读指令、数据结构、程序模块和其它用于计算机830的数据的非易失性存储器。尽管这里描述的示例环境使用了硬盘、可移除磁盘848和可移除光盘852,本领域的技术人员应理解也可以将能存储可由计算机存取的数据的诸如磁带盒、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的计算机可读媒体用于示例的操作环境中。
可以在硬盘、磁盘848、光盘852、ROM838、或RAM540上存储的若干程序模块,作为示例,包括但不限于操作系统858、一个或多个应用程序860、其它程序模块862和程序数据864。应用程序860可包括具有特征应用程序的即时通信程序、对象存储和在此描述的传输协议栈。
用户可将命令和信息通过诸如键盘866和定位设备868(例如:“鼠标”)之类的可选择输入装置输入到计算机830。其它输入装置(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、串行接口、扫描仪等等。这些和其它输入装置通过一个耦合到总线836的用户输入界面连接到处理单元832,但可以由其它诸如并行接口、游戏接口或通用串行总线(USB)之类的接口和总线结构连接。
可选的监视器872和其它类型的显示装置是通过诸如视频适配器874之类的接口连接到总线836的。除了监视器之外,个人电脑通常包括其它外围输出设备(未示出),例如:可以通过输出外围接口875连接的扬声器和打印机。
可以利用到一个或多个诸如远程计算机882之类的远程计算机的逻辑连接,在联网的环境中操作计算机830。该远程计算机882可包括许多在这里参照计算机830描述的许多或全部元件和特征。如图8所示的逻辑连接为局域网(LAN)877和普通广域网(WAN)879。LAN877和WAN879可以是有线网络,无线网络,或是有线或无线网络的任何组合。这种网络环境在办公室、企业范围计算机网络、企业内联网和因特网中很常见。
当用于LAN网络环境中时,计算机830通过网络接口或适配器886连接到LAN877。当用于WAN网络环境中时,计算机830通常包括调制解调器878或其它用于在WAN879上建立通信的装置。调制解调器878(可以是内置式的或外接式的)可以通过用户输入接口870或其它合适的机构连接到系统总线836。图8所示的是一个通过因特网的WAN的特定实施。计算机830通常包括调制解调器878或其它用于在因特网880上建立通信的装置。调制解调器878通过接口870连接至总线836。
在联网的环境中,相对于个人电脑830描述的程序模块,或其一部分,可以存储在远程存储器装置中。作为示例而非限定,图8示出驻留在远程计算机882的存储器装置上的远程应用程序889。将理解,示出和描述的网络连接是示例性的,也可以使用在计算机之间建立通信链接的其它装置。
结论
尽管采用专用于结构特征和/或方法操作的语言描述所述方案、过程和组件,应理解在所附权利要求书中定义的主题并不一定限于所述的特定特征或操作。而是,将特定的特征和操作作为实施要求保护的当前主题的优选的形式揭示。
Claims (22)
1.一种传送对象数据的方法,其特征在于,包括:
在代表本地计算机的用户的对象数据的基础上生成一个散列值;
在存储器位置存储该对象数据;和
返回一个具有所述散列值和标识存储器的位置的位置标识符的对象名,该对象名使远程计算机的用户能访问该对象数据。
2.如权利要求1所述的方法,其特征在于,还包括:
接收请求对象数据的请求,该请求包括所述对象名;和
根据散列值从本地高速缓冲存储器检索对象数据。
3.如权利要求1所述的方法,其特征在于,还包括:
接收请求对象数据的请求,该请求包括所述对象名;和
响应于接收该请求,用位置标识符从该位置检索该对象数据。
4.如权利要求1所述的方法,其特征在于,还包括:
接收一个请求对象数据的请求,该请求包括所述对象名;和
根据散列值确定该请求的对象数据是否在本地高速缓冲存储器中;和
如果该请求的对象数据在本地高速缓冲存储器中,则从本地高速缓冲存储器中检索该对象数据,
否则,从由位置标识符标识的位置检索该请求的对象数据。
5.如权利要求4所述的方法,其特征在于,所述从由位置标识符标识的位置检索该请求的对象数据包括:
从网络存储器检索请求的对象数据。
6.如权利要求4所述的方法,其特征在于,所述从由位置标识符标识的位置检索该请求的对象数据包括:
从本地文件系统检索请求的对象数据。
7.如权利要求4所述的方法,其特征在于,所述从由位置标识符标识的位置检索该请求的对象数据包括:
从远程文件系统检索请求的对象数据。
8.如权利要求7所述的方法,其特征在于,所述从远程文件系统检索请求的对象数据包括:
通过一个对等的连接访问远程文件系统。
9.如权利要求7所述的方法,其特征在于,所述从远程文件系统检索请求的对象数据包括:
通过一个交换器服务器经过连接访问远程文件系统。
10.在其上存储了计算机可执行指令的计算机可读媒体,其特征在于,所述指令执行以下方法:
接收一个与远程计算机上的用户相关联的名字,该名字包括唯一地与代表用户的数据对象相关联的位置数据和散列值;和
根据散列值或由位置数据标识的位置从本地高速缓冲存储器中检索该对象数据。
11.如权利要求10所述的计算机可读媒体,其特征在于,根据所述散列值或由位置数据标识的位置从本地的一个高速缓冲存储器中检索该对象数据包括:
根据散列值确定对象数据是否在本地高速缓冲存储器中;和
如果该数据对象在本地高速缓冲存储器中,则从本地高速缓冲存储器检索该数据对象;
否则,从由位置数据标识的位置检索该数据对象。
12.如权利要求11所述的计算机可读媒体,其特征在于,所述从由位置数据标识的位置检索该数据对象包括:
从远程文件系统检索该数据对象。
13.如权利要求11所述的计算机可读媒体,其特征在于,所述从由位置数据标识的位置检索该数据对象包括:
从本地文件系统检索该数据对象。
14.如权利要求11所述的计算机可读媒体,其特征在于,所述从由位置数据标识的位置检索该数据对象包括:
从网络存储器检索该数据对象。
15.如权利要求11所述的计算机可读媒体,其特征在于,所述从由位置数据标识的位置检索该数据对象包括:
通过一个对等连接访问远程计算机。
16.一种用于在即时通信对话中管理代表用户的对象的系统,其特征在于,该系统包括:
代表用户的数据对象,该数据对象具有一个包括与对象名相关的位置标识符和散列值的对象名;和
对象存储,可用于从由位置标识符标识的位置检索数据对象,并根据散列值将该数据对象存储在一个本地高速缓冲存储器中。
17.如权利要求16所述的系统,其特征在于,所述对象名还包括一个标识数据对象的创建者的创建者标识符。
18.如权利要求16所述的系统,其特征在于,还包括一个传输协议栈,它使对象存储能通过一个对等的连接从远程存储器位置检索该数据对象。
19.如权利要求16所述的系统,其特征在于,所述数据对象还包括描述数据对象的元数据描述。
20.如权利要求19所述的系统,其特征在于,元数据包括:
一个友好的名字字段;
一个表明一种数据对象的类型字段;和
根据元数据的散列值。
21.如权利要求16所述的系统,其特征在于,所述位置标识符包括一个统一资源定位器(URL)。
22.如权利要求16所述的系统,其特征在于,所述位置标识符包括一个统一资源识别器(URI)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/611,599 US7539727B2 (en) | 2003-07-01 | 2003-07-01 | Instant messaging object store |
US10/611,599 | 2003-07-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1578279A true CN1578279A (zh) | 2005-02-09 |
CN100499596C CN100499596C (zh) | 2009-06-10 |
Family
ID=33435438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410063278XA Expired - Fee Related CN100499596C (zh) | 2003-07-01 | 2004-06-30 | 管理即时通信对象的方法和系统 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7539727B2 (zh) |
EP (1) | EP1494411B1 (zh) |
JP (1) | JP4515839B2 (zh) |
KR (1) | KR101076857B1 (zh) |
CN (1) | CN100499596C (zh) |
AT (1) | ATE481803T1 (zh) |
BR (1) | BRPI0402530A (zh) |
CA (1) | CA2469503C (zh) |
DE (1) | DE602004029119D1 (zh) |
MX (1) | MXPA04006450A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257411B (zh) * | 2007-03-02 | 2011-04-13 | 华硕电脑股份有限公司 | 实时通信的监控方法与系统 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7558828B1 (en) * | 2003-05-29 | 2009-07-07 | Aol Llc, A Delaware Limited Liability Company | Enabling electronic logging using an instant message system |
US7539727B2 (en) * | 2003-07-01 | 2009-05-26 | Microsoft Corporation | Instant messaging object store |
US7363378B2 (en) | 2003-07-01 | 2008-04-22 | Microsoft Corporation | Transport system for instant messaging |
US7484175B2 (en) * | 2003-09-30 | 2009-01-27 | International Business Machines Corporation | Method and apparatus for increasing personability of instant messaging with user images |
US8171084B2 (en) * | 2004-01-20 | 2012-05-01 | Microsoft Corporation | Custom emoticons |
US7430720B2 (en) * | 2004-03-05 | 2008-09-30 | America Online, Inc. | System and method for preventing screen-scrapers from extracting user screen names |
US20080281950A1 (en) * | 2004-03-08 | 2008-11-13 | First Oversi Ltd | Method and Device for Peer to Peer File Sharing |
US7933958B2 (en) * | 2004-06-08 | 2011-04-26 | International Business Machines Corporation | Real-time blog interaction |
KR100456487B1 (ko) * | 2004-08-02 | 2004-11-09 | 엔에이치엔(주) | 개인 아이콘 제공 시스템 및 그 방법 |
US7433700B2 (en) | 2004-11-12 | 2008-10-07 | Microsoft Corporation | Strategies for peer-to-peer instant messaging |
US20060195532A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Client-side presence documentation |
US7529255B2 (en) | 2005-04-21 | 2009-05-05 | Microsoft Corporation | Peer-to-peer multicasting using multiple transport protocols |
US8156079B1 (en) * | 2005-06-30 | 2012-04-10 | Emc Corporation | System and method for index processing |
US8161005B1 (en) | 2005-06-30 | 2012-04-17 | Emc Corporation | Efficient index processing |
US7966292B1 (en) | 2005-06-30 | 2011-06-21 | Emc Corporation | Index processing |
US7627609B1 (en) | 2005-09-30 | 2009-12-01 | Emc Corporation | Index processing using transformed values |
US7752211B1 (en) | 2005-09-30 | 2010-07-06 | Emc Corporation | Adaptive index processing |
US7698325B1 (en) | 2005-09-30 | 2010-04-13 | Emc Corporation | Index processing for legacy systems |
CA2626320C (en) * | 2005-10-21 | 2013-07-02 | Research In Motion Limited | Instant messaging device/server protocol |
US8520850B2 (en) * | 2006-10-20 | 2013-08-27 | Time Warner Cable Enterprises Llc | Downloadable security and protection methods and apparatus |
SG145583A1 (en) * | 2007-02-22 | 2008-09-29 | Yokogawa Electric Corp | System for managing information in a mesh network |
DE102007010789A1 (de) | 2007-03-02 | 2008-09-04 | Deutsche Thomson Ohg | Verfahren zum Betreiben eines Netzwerkes sowie lokales Netzwerk und Netzwerkkomponente |
US9275401B2 (en) * | 2007-09-06 | 2016-03-01 | Adobe Systems Incorporated | Tamper resistant video rendering |
JP4607937B2 (ja) * | 2007-10-31 | 2011-01-05 | 株式会社東芝 | キャッシュ方法及びキャッシュ装置 |
JP4607936B2 (ja) * | 2007-10-31 | 2011-01-05 | 株式会社東芝 | データ転送方法及びデータ転送システム |
US7916863B2 (en) * | 2007-11-30 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | Security printing method and system for enhancing security printing |
TWI395139B (zh) * | 2009-05-27 | 2013-05-01 | Apacer Technology Inc | 電子裝置及其開機方法 |
KR101626117B1 (ko) | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
US8121993B2 (en) * | 2009-10-28 | 2012-02-21 | Oracle America, Inc. | Data sharing and recovery within a network of untrusted storage devices using data object fingerprinting |
CA2718696C (en) | 2010-06-08 | 2018-06-12 | Merge Healthcare, Inc. | Remote control of medical devices using instant messaging infrastructure |
US8627411B2 (en) | 2010-06-17 | 2014-01-07 | Microsoft Corporation | Techniques to share binary content |
US9436685B2 (en) | 2010-12-23 | 2016-09-06 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US20120166953A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for electronic aggregation of information |
US9679404B2 (en) | 2010-12-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Techniques for dynamic layout of presentation tiles on a grid |
US9715485B2 (en) | 2011-03-28 | 2017-07-25 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
WO2013106590A2 (en) * | 2012-01-10 | 2013-07-18 | Memeo, Inc. | Cloud-based distributed data system |
KR101295209B1 (ko) * | 2012-02-01 | 2013-09-12 | 엔에이치엔(주) | 클라우드 서버와의 양방향 연동을 통해 파일 공유를 제공하는 그룹 메시징 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 |
US8938428B1 (en) | 2012-04-16 | 2015-01-20 | Emc Corporation | Systems and methods for efficiently locating object names in a large index of records containing object names |
US10212046B2 (en) * | 2012-09-06 | 2019-02-19 | Intel Corporation | Avatar representation of users within proximity using approved avatars |
US10708203B2 (en) * | 2014-06-25 | 2020-07-07 | Convergence Acceleration Solutions, Llc | Systems and methods for indicating emotions through electronic self-portraits |
US12032598B2 (en) | 2021-12-27 | 2024-07-09 | Data Ramp Technologies Llc | Personal data association method |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278955A (en) * | 1990-06-18 | 1994-01-11 | International Business Machines Corporation | Open systems mail handling capability in a multi-user environment |
US5446888A (en) | 1994-01-14 | 1995-08-29 | Pyne; Charles F. | Remote file transfer method and apparatus |
JPH07311704A (ja) * | 1994-05-19 | 1995-11-28 | Fujitsu Ltd | ディレクトリシステム |
US7013327B1 (en) | 1996-02-16 | 2006-03-14 | G&H Nevada -Tek | Method and apparatus for computing within a wide area network |
US5943478A (en) * | 1997-04-04 | 1999-08-24 | Flash Communications, Inc. | System for immediate popup messaging across the internet |
US5987515A (en) * | 1997-08-29 | 1999-11-16 | International Business Machines Corporation | Internet protocol assists using multi-path channel protocol |
US6003088A (en) * | 1997-08-29 | 1999-12-14 | International Business Machines Corporation | Blocking IP datagrams in a multi-path channel point-to-point environment |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US6292880B1 (en) * | 1998-04-15 | 2001-09-18 | Inktomi Corporation | Alias-free content-indexed object cache |
US6252588B1 (en) | 1998-06-16 | 2001-06-26 | Zentek Technology, Inc. | Method and apparatus for providing an audio visual e-mail system |
US6463078B1 (en) * | 1998-07-22 | 2002-10-08 | Microsoft Corporation | Method for switching protocols transparently in multi-user applications |
US6490615B1 (en) * | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
CN1197322C (zh) * | 1999-04-26 | 2005-04-13 | 诺基亚移动电话有限公司 | 无线终端 |
TW428146B (en) * | 1999-05-05 | 2001-04-01 | Inventec Corp | Data file updating method by increment |
US7286115B2 (en) * | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US6549937B1 (en) * | 1999-07-21 | 2003-04-15 | Microsoft Corporation | System and method for multi-protocol communication in a computer network |
US6434568B1 (en) * | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US6535867B1 (en) * | 1999-09-29 | 2003-03-18 | Christopher J. F. Waters | System and method for accessing external memory using hash functions in a resource limited device |
JP2001175550A (ja) * | 1999-12-07 | 2001-06-29 | Kizna.Com Inc | クライアントサーバシステム及びクライアントサーバシステムのデータ伝送方法並びにそのプログラムを記録した媒体 |
US6993559B2 (en) | 2000-02-14 | 2006-01-31 | Bigbow.Com, Inc. | System, method, apparatus and computer program product for operating a web site by electronic mail |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
US6594665B1 (en) * | 2000-02-18 | 2003-07-15 | Intel Corporation | Storing hashed values of data in media to allow faster searches and comparison of data |
EP1130869B1 (en) * | 2000-03-01 | 2005-06-01 | Sony International (Europe) GmbH | Management of user profile data |
US20030014477A1 (en) | 2000-03-22 | 2003-01-16 | Oppenheimer David Mig | Integrated system and method of providing online access to files |
US6453294B1 (en) * | 2000-05-31 | 2002-09-17 | International Business Machines Corporation | Dynamic destination-determined multimedia avatars for interactive on-line communications |
AU2001265407A1 (en) | 2000-05-31 | 2001-12-11 | Snip, Llc | Method and system for instant messaging |
DE60144233D1 (de) * | 2000-07-25 | 2011-04-28 | America Online Inc | Videonachrichtenübermittlung |
US20020036990A1 (en) | 2000-09-11 | 2002-03-28 | Ben Chodor | Still picture capture, editing and distribution system utilizing a publicly accessible wide area network |
US7222184B2 (en) | 2000-11-29 | 2007-05-22 | Ncr Corporation | Method of downloading web content to a network kiosk in advance |
KR100377936B1 (ko) * | 2000-12-16 | 2003-03-29 | 삼성전자주식회사 | 이동통신 단말기의 감정 아이콘 입력방법 |
WO2002057917A2 (en) | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US20020107925A1 (en) | 2001-02-05 | 2002-08-08 | Robert Goldschneider | Method and system for e-mail management |
US20020194006A1 (en) | 2001-03-29 | 2002-12-19 | Koninklijke Philips Electronics N.V. | Text to visual speech system and method incorporating facial emotions |
US7080139B1 (en) * | 2001-04-24 | 2006-07-18 | Fatbubble, Inc | Method and apparatus for selectively sharing and passively tracking communication device experiences |
US7171415B2 (en) | 2001-05-04 | 2007-01-30 | Sun Microsystems, Inc. | Distributed information discovery through searching selected registered information providers |
US6983305B2 (en) * | 2001-05-30 | 2006-01-03 | Microsoft Corporation | Systems and methods for interfacing with a user in instant messaging |
US6813690B1 (en) * | 2001-06-12 | 2004-11-02 | Network Appliance, Inc. | Caching media data using content-sensitive identifiers |
US7149189B2 (en) | 2001-07-17 | 2006-12-12 | Mcafee, Inc. | Network data retrieval and filter systems and methods |
US6987991B2 (en) * | 2001-08-17 | 2006-01-17 | Wildseed Ltd. | Emoticon input method and apparatus |
US7765484B2 (en) * | 2001-09-28 | 2010-07-27 | Aol Inc. | Passive personalization of lists |
NO315679B1 (no) * | 2001-10-19 | 2003-10-06 | Dmates As | Rik kommunikasjon over internett |
US7233979B2 (en) * | 2002-03-14 | 2007-06-19 | Microsoft Corporation | Instant messaging session invite for arranging peer-to-peer communication between applications |
US7203356B2 (en) * | 2002-04-11 | 2007-04-10 | Canesta, Inc. | Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications |
US6629793B1 (en) | 2002-04-26 | 2003-10-07 | Westie Intellectual Properties Limited Partnership | Emoticon keyboard |
US7689649B2 (en) * | 2002-05-31 | 2010-03-30 | Aol Inc. | Rendering destination instant messaging personalization items before communicating with destination |
US7779076B2 (en) * | 2002-05-31 | 2010-08-17 | Aol Inc. | Instant messaging personalization |
US20030225848A1 (en) * | 2002-05-31 | 2003-12-04 | Brian Heikes | Remote instant messaging personalization items |
US7552204B2 (en) * | 2002-05-15 | 2009-06-23 | Microsoft Corporation | Method and system for supporting the communication of presence information among computing devices of a network |
US20030217142A1 (en) * | 2002-05-15 | 2003-11-20 | Microsoft Corporation | Method and system for supporting the communication of presence information regarding one or more telephony devices |
WO2004004139A2 (en) | 2002-06-26 | 2004-01-08 | Yahoo Inc. | System and method for communicating images between intercommunicating users |
US7353253B1 (en) | 2002-10-07 | 2008-04-01 | Webex Communicatons, Inc. | Peer-to-peer messaging system |
US7774410B2 (en) * | 2002-11-18 | 2010-08-10 | Aol Inc. | Handling a multimedia object associated with an electronic message |
US7289520B2 (en) * | 2002-11-20 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Method, apparatus, and system for expressway routing among peers |
US7185285B2 (en) * | 2003-02-19 | 2007-02-27 | Microsoft Corporation | User interface and content enhancements for real-time communication |
US7296223B2 (en) * | 2003-06-27 | 2007-11-13 | Xerox Corporation | System and method for structured document authoring |
WO2005017660A2 (en) | 2003-07-01 | 2005-02-24 | Apple Computer, Inc. | Peer-to-peer content sharing |
US7539727B2 (en) * | 2003-07-01 | 2009-05-26 | Microsoft Corporation | Instant messaging object store |
US20050027839A1 (en) | 2003-07-31 | 2005-02-03 | International Business Machiness Corporation | Method, system and program product for dynamic transmission in a messaging session |
US7437374B2 (en) * | 2004-02-10 | 2008-10-14 | International Business Machines Corporation | Efficient XML schema validation of XML fragments using annotated automaton encoding |
US20060015560A1 (en) * | 2004-05-11 | 2006-01-19 | Microsoft Corporation | Multi-sensory emoticons in a communication system |
US20050273472A1 (en) * | 2004-06-04 | 2005-12-08 | Prakash Reddy | Verifying incremental updates to hierarchicaly structured information |
US7437364B1 (en) * | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US7302270B1 (en) * | 2004-08-02 | 2007-11-27 | Cisco Technology, Inc. | Time interval processing and annotation in presence systems |
-
2003
- 2003-07-01 US US10/611,599 patent/US7539727B2/en not_active Expired - Fee Related
-
2004
- 2004-06-01 CA CA2469503A patent/CA2469503C/en not_active Expired - Fee Related
- 2004-06-14 DE DE602004029119T patent/DE602004029119D1/de not_active Expired - Lifetime
- 2004-06-14 EP EP04102690A patent/EP1494411B1/en not_active Expired - Lifetime
- 2004-06-14 AT AT04102690T patent/ATE481803T1/de not_active IP Right Cessation
- 2004-06-28 BR BR0402530-0A patent/BRPI0402530A/pt not_active IP Right Cessation
- 2004-06-30 CN CNB200410063278XA patent/CN100499596C/zh not_active Expired - Fee Related
- 2004-06-30 MX MXPA04006450A patent/MXPA04006450A/es active IP Right Grant
- 2004-07-01 JP JP2004195946A patent/JP4515839B2/ja not_active Expired - Fee Related
- 2004-07-01 KR KR1020040051071A patent/KR101076857B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257411B (zh) * | 2007-03-02 | 2011-04-13 | 华硕电脑股份有限公司 | 实时通信的监控方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CA2469503A1 (en) | 2005-01-01 |
CA2469503C (en) | 2011-12-13 |
MXPA04006450A (es) | 2005-08-19 |
DE602004029119D1 (de) | 2010-10-28 |
KR20050004060A (ko) | 2005-01-12 |
US20050004993A1 (en) | 2005-01-06 |
ATE481803T1 (de) | 2010-10-15 |
JP2005025759A (ja) | 2005-01-27 |
EP1494411B1 (en) | 2010-09-15 |
US7539727B2 (en) | 2009-05-26 |
CN100499596C (zh) | 2009-06-10 |
BRPI0402530A (pt) | 2005-05-24 |
KR101076857B1 (ko) | 2011-10-25 |
JP4515839B2 (ja) | 2010-08-04 |
EP1494411A1 (en) | 2005-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1578279A (zh) | 即时通信对象存储 | |
US8171084B2 (en) | Custom emoticons | |
KR100990098B1 (ko) | 데이터 처리 시스템, 데이터 처리 방법, 정보 처리 디바이스, 및 컴퓨터 판독가능 기록 매체 | |
US7499926B1 (en) | Maintaining and replicating chat histories | |
CN1443418A (zh) | 用于共享利用数字媒体帧的图像的方法和系统 | |
US8554939B1 (en) | Systems and methods for downloading and viewing images | |
US20130198804A1 (en) | Peer-to-Peer Service Designer | |
AU9724601A (en) | Web-based dating service | |
CN1751336A (zh) | 用于显示和回复电子消息的方法和装置 | |
CN1829226A (zh) | 客户机端在场文档 | |
CN1976325A (zh) | 一种可实现即时消息通信的网络系统及其通讯方法 | |
CA2448423A1 (en) | Method and system for tracking receipt of electronic message | |
JP2012502371A (ja) | 協力的なショートメッセージ及びディスカッションのためのシステム及び方法 | |
CN1819648A (zh) | 处理视频效果的方法和系统 | |
CN1855978A (zh) | 文档管理系统、文档管理方法和存储文档管理程序的记录介质 | |
CN1905466A (zh) | 群组通信系统及其建立讨论组的方法 | |
CN1200515A (zh) | 信息提供系统 | |
CN1574747A (zh) | 高速缓存后的置换 | |
US20100306687A1 (en) | System and method for avatar management | |
CN1792077A (zh) | 移动体通信终端 | |
CN1855828A (zh) | 一种即时通信系统的上线通知方法及系统 | |
CN101079715A (zh) | 一种利用移动终端更新网络相册图片的方法、系统及设备 | |
CN1244876C (zh) | 在即时通信工具中的信息推送方法和系统 | |
CN1856784A (zh) | 用于存储平台中的锁定和隔离的系统和方法 | |
CN1991842A (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: 20090610 Termination date: 20140630 |
|
EXPY | Termination of patent right or utility model |